Introduction
Flipt provides feature flag management without SaaS dependencies. It stores flag definitions in a local database or directly in Git repositories, enabling GitOps-driven feature rollouts where flag changes go through pull requests and code review.
What Flipt Does
- Manages boolean and multi-variate feature flags with a web UI and REST/gRPC API
- Supports percentage-based rollouts, segment targeting, and rule-based evaluation
- Stores flag configuration natively in Git for version control and audit trails
- Provides client SDKs and an OpenFeature provider for standardized evaluation
- Runs as a single binary with minimal resource requirements
Architecture Overview
Flipt is a single Go binary that serves a web UI, REST API, and gRPC API. Flag state can be stored in SQLite, PostgreSQL, MySQL, or CockroachDB. In Git mode, Flipt reads flag definitions from YAML files in a Git repository, polling for changes. The evaluation engine processes flag requests locally with sub-millisecond latency.
Self-Hosting & Configuration
- Single binary or Docker image with embedded SQLite for zero-dependency startup
- Supports PostgreSQL, MySQL, and CockroachDB for production database backends
- Git backend reads flag YAML from any Git repository with configurable poll intervals
- Authentication supports static tokens, OIDC, and Kubernetes service accounts
- Prometheus metrics endpoint and OpenTelemetry tracing for observability
Key Features
- Git-native flag storage enables GitOps workflows with PR-based flag changes
- Sub-millisecond local evaluation with no external network calls during flag checks
- OpenFeature provider for vendor-neutral integration across multiple feature flag tools
- Namespaces for organizing flags across teams and environments
- Audit log tracks every flag change with user, timestamp, and before/after state
Comparison with Similar Tools
- LaunchDarkly — Commercial SaaS with per-seat pricing; Flipt is free, self-hosted, and unlimited
- Unleash — Open-source but uses database-only storage; Flipt adds native Git backend for GitOps
- Flagsmith — Open-source with remote evaluation; Flipt evaluates locally for lower latency
- PostHog Feature Flags — Bundled with analytics; Flipt is a focused, lightweight flag service
- OpenFeature — A specification, not a product; Flipt implements OpenFeature as one of its SDKs
FAQ
Q: Does Flipt require a database? A: No. Flipt can run with an embedded SQLite database or read flag definitions directly from Git with no database at all.
Q: How does the Git backend work? A: Flipt polls a Git repository for YAML flag definition files. Changes pushed to the repo are picked up automatically without restarts.
Q: What is the evaluation latency? A: Evaluation happens locally within the Flipt server process, typically under 1ms for boolean and segment-based flags.
Q: Can Flipt handle percentage rollouts? A: Yes. Flipt supports percentage-based distribution rules that consistently assign entities to flag variants using hashing.