Flipt
Self-hosted feature flags you toggle at runtime, without redeploying.
by Flipt Software
Overview
Flipt is an open-source feature-flag and experimentation server that runs entirely on your own hardware. Wrap a risky change in a flag, then turn it on or off at runtime from the dashboard instead of shipping a new release. Rules can target specific users or segments, split traffic by percentage for a rollout or an A/B test, and every evaluation is served by your own box rather than a vendor cloud.
Features
- Runtime feature flags you can toggle without redeploying
- Segment and user targeting, percentage rollouts, and A/B variants
- Namespaces to keep separate projects or environments apart
- REST and gRPC evaluation APIs, plus OpenFeature support, so your own services can ask which features are on
- Managed PostgreSQL provisioned automatically, nothing to wire up
Setting up
Flipt has no built-in username and password login. It signs you in through an identity provider you already use, so you need to register an OAuth application with that provider and paste its credentials into this app's configuration form, either at install or later from the app's page in malmo.
Pick one of the two methods and fill in only that one:
- GitHub: create an OAuth app at github.com/settings/developers, then turn
on "Sign in with GitHub" and enter:
- Client ID: from your GitHub OAuth app
- Client secret: from your GitHub OAuth app
- Single sign-on (OpenID Connect): works with Google, Okta, Auth0,
Authentik, and similar. Turn on "Sign in with a single sign-on provider" and
enter:
- Issuer URL: your provider's OpenID Connect issuer address
- Client ID: from the application you registered with that provider
- Client secret: from that same application
When your provider asks for a callback or redirect URL, give it this app's
address followed by /auth/v1/method/github/callback for GitHub, or
/auth/v1/method/oidc/sso/callback for single sign-on.
To let your own services read flags, sign in and create an API token from Flipt's settings, then give that token to the SDK in your code. Flag reads are authenticated, so a service without a token cannot evaluate flags.
Good to know
Until you finish the step above, Flipt installs and runs but nobody can sign in to the dashboard. That is deliberate: Flipt's own default is to leave its admin API unauthenticated, which would mean anyone who reached the address could create or flip flags, so malmo requires sign-in instead. You can add the credentials at any time from the app's page and the app restarts into a working state.
Turning a sign-in method on while leaving its fields blank will stop the app from starting, because Flipt refuses to boot with an enabled but unconfigured provider. Fill both the toggle and its fields together.
On the appliance this app's address is your home network's .local name, which
is plain HTTP. Most single sign-on providers (Google, Auth0, Okta) reject
redirect addresses that are not HTTPS, so single sign-on generally will not
work there and GitHub, which does accept them, is the practical choice. On
hosted, where the address is a real HTTPS URL, both methods work.
This is Flipt's version 1 line. Upstream now steers new users to version 2, which is published under a licence malmo cannot offer on the hosted tier, so version 1 is what ships here.