06.10.2025

Flipt: Enterprise-Ready Feature Flags That Live in Git

head-image

Managing feature flags across multiple environments remains a persistent challenge for platform engineers. Traditional feature flag systems introduce external dependencies, require additional infrastructure, and complicate deployment workflows. Flipt addresses these pain points by storing feature flags directly in Git repositories, bringing the power of version control to feature management.

What is Flipt?

Flipt is an open-source, self-hosted feature management platform written in Go. Unlike conventional feature flag systems that rely on databases and external services, Flipt takes a Git-native approach—storing all feature flag configurations as declarative YAML files in your existing repositories. This design eliminates external dependencies while providing full audit trails, blame tracking, and the familiar Git workflow your team already uses.

With over 4.6k GitHub stars and active development releasing new versions every 2–3 weeks, Flipt serves engineering teams seeking complete control over their feature flag infrastructure without sacrificing operational simplicity.

Key Features

  • Git-Native Storage: Store feature flags directly in Git repositories (GitHub, GitLab, Bitbucket, Azure DevOps, Gitea) with complete version history and rollback capabilities.

  • Multi-Environment Management: Isolate configurations across environments by pointing to different repositories, directories, or branches—enabling safe testing without affecting production.

  • Zero Infrastructure Required: Runs as a standalone binary with no database, cache, or external dependencies by default. Deploy anywhere Go runs.

  • Real-Time Updates: Clients receive flag changes instantly via Server-Sent Events streaming API, ensuring consistent state without polling.

  • Advanced Targeting: Implement complex rollout strategies with segment-based targeting, percentage rollouts, and constraint-based rules.

Installation

Install Flipt using the official install script or download the binary directly:

curl -fsSL https://get.flipt.io/install | sh

Alternatively, run Flipt via Docker:

docker run -d -p 8080:8080 -v $HOME/flipt:/var/opt/flipt flipt/flipt:latest

For Kubernetes deployments, use the official Helm chart:

helm repo add flipt https://helm.flipt.io
helm install flipt flipt/flipt

Configuration

Create a declarative feature flag configuration in your Git repository:

mkdir -p features
cat > features/flags.yml <<EOF
flags:
  - key: new-dashboard
    name: New Dashboard UI
    description: Rollout new dashboard design
    enabled: true
    variants:
      - key: v1
        name: Version 1
      - key: v2
        name: Version 2
    rules:
      - segment: beta-users
        distributions:
          - variant: v2
            rollout: 100
      - segment: all-users
        distributions:
          - variant: v1
            rollout: 90
          - variant: v2
            rollout: 10
EOF

Point Flipt to your Git repository by configuring the storage backend in config.yml:

storage:
  type: git
  git:
    repository: https://github.com/yourorg/feature-flags
    ref: main
    poll_interval: 30s

Usage in Production

Integrate Flipt with your application using the OpenFeature SDK or native clients. Here's a Go example:

go get go.flipt.io/flipt/sdk/go
import "go.flipt.io/flipt/sdk/go"

client := flipt.NewClient()
result, _ := client.EvaluateBoolean(ctx, &flipt.EvaluationRequest{
    FlagKey:   "new-dashboard",
    EntityId:  userID,
    Context:   map[string]string{"tier": "enterprise"},
})

if result.Enabled {
    // Serve new dashboard
}

Changes to your feature flags become effective automatically when you push commits to your configured Git branch. Flipt polls the repository and propagates updates to all connected clients in real-time.

Operational Tips

Implement GitOps Workflows: Use pull requests to review flag changes, require approvals for production modifications, and maintain complete audit trails through Git history.

Enable GPG Signing: Configure commit signing to ensure flag changes are cryptographically verified and traceable to authorized team members.

Structure Multi-Environment Configs: Organize flags by environment using Git branches (main for production, staging for pre-prod) or separate directories (/prod/flags.yml, /staging/flags.yml).

Monitor Flag Usage: Export metrics to Prometheus to track evaluation counts, latency, and flag utilization across your infrastructure.

Automate Testing: Validate flag configurations in CI pipelines using flipt validate before merging changes to prevent misconfigurations.

Conclusion

Flipt transforms feature flag management by treating flags as code, stored and versioned alongside your application. The Git-native approach eliminates operational overhead while providing the audit trails and review processes engineering teams require. For SRE and platform teams seeking self-hosted feature management without additional infrastructure dependencies, Flipt delivers a compelling solution.

Explore the Flipt documentation to learn more about advanced targeting, secrets management, and enterprise features.


Enhance your system reliability with Akmatori, an AI-powered SRE assistant that predicts failures, assists in creating more reliable systems, and accelerates root cause analysis during incidents.


Automate incident response and prevent on-call burnout with AI-driven agents!