FeatureHub is a Cloud Native platform to help software teams manage their features, from feature flags (also known as feature toggles) to A/B experiments and remote or centralised configuration.
FeatureHub is available as a self-hosted Open Source service and as a cloud based SaaS service.
This is the primary source code repository for FeatureHub Open Source.
$ docker run -p 8085:8085 --user 999:999 -v $HOME/party:/db featurehub/party-server:latest
Once installed, head to http://localhost:8085 to see FeatureHub Admin Console in action
Connect to FeatureHub in your app via SDK
-
Create an application, an environment and a feature from the Admin Console
-
Create and copy the API Key (client or server eval) from the Admin Console on the API Keys page.
-
Create FeatureHub config and start using feature flags in your app (see Typescript example below). For more SDKs and examples please see here
import {
EdgeFeatureHubConfig,
} from 'featurehub-javascript-client-sdk';
const edgeUrl = 'http://localhost:8085/'; // for SaaS version, replace with edge URL provided in the API Keys page
const apiKey = 'default/3f7a1a34-642b-4054-a82f-1ca2d14633ed/aH0l9TDXzauYq6rKQzVUPwbzmzGRqe*oPqyYqhUlVC50RxAzSmx';
const fhConfig = new EdgeFeatureHubConfig(edgeUrl, apiKey);
fhConfig.init();
const fhClient = await fhConfig.newContext().build();
if(fhClient.getFlag('FEATURE_KEY')) {
// do something
}
else {
//do something else
}
Headless API is available to manage FeatureHub app if you require automation or prefer not to use Admin Console to manage features. API is provided in OpenAPI format and can be imported into Postman or similar tools. Follow this documentation to generate access tokens.
We are looking for companies that have successfully adopted FeatureHub to help us understand our customer base. Feel free to let us know by adding your company logo above (please raise a PR or contact us through our website).
-
Unlimited users
-
Unlimited features
-
Unlimited feature requests
-
Unlimited Applications and Environments
-
Unlimited scalability. FeatureHub is the only open source and cloud native platform that can scale for large enterprises needs
-
Choice of how to run your experiment - feature flag, number, string or remote configuration
-
Split targeting strategies support: percentage rollout, targeting by country, device, platform, version or any custom attribute specific to your application.
-
Integration with analytics so you can see how your experiments perform, with Google Analytics support out of the box
-
Control features from an easy-to-use console or headless API
-
View how your features are setup across each environment from the main console
-
Environments promotion order - to help you see and order features by environment
-
With "smart lock" only enable feature state updates when they are ready
-
Use handy admin functions, like applications, environments and user management
-
Run on your own infrastructure (self-hosted) or use fully managed SaaS option
-
External auth support - login with Google, Microsoft, GitHub, Keycloak, generic OAuth2, Okta, SAML/SSO
-
Access control levels to allow different teams/groups permissions.
-
Multiple portfolios (org departments) support
-
Easy to set up, Cloud Native - docker containers and full Kubernetes ready Helm chart
-
Use FeatureHub API to integrate with CI/CD pipelines
-
Use webhooks to listen to feature updates
-
Easy to integrate with test automation - API to control feature states from the tests
-
Support for feature flags, numbers, strings and Json structure (remote configuration)
-
Easy to log events with analytics with attached feature state
-
Documentation and tutorials
Full documentation can be found at docs.featurehub.io
If you are just curious to see how FeatureHub works and would like to play with it there is a simple way of doing it, please follow instructions here.
Alternatively, you can join FeatureHub SaaS here and experiment while on free trial.
Once you have decided to start using FeatureHub Open Source in your team, there are also several installation options depending on your use case, please read about these options here.
Note: We have a separate install repository with configured docker images
We selectively take cuts of the main repository and build them into docker image sets. We then update install repository with the latest images and issue tags on that repository.
FeatureHub roadmap can be found here
FeatureHub is an open source project, and we love to receive contributions from our community! There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug reports and feature requests or writing code which can be incorporated into FeatureHub itself.
If you have reviewed the Architecture section of the FeatureHub documentation you will notice there are several components. FeatureHub is designed this way to allow to scale from a single application option to large organisations serving billions of requests for features per day.
If you cannot find an answer in our documentation please join our Slack community Anyways Labs
You can also start a discussion in GitHub Discussions here
Or email our community supporters at [email protected]
FeatureHub is operating under Apache 2.0 license. Please refer to the full license here.