GO Feature Flag

A self-hosted cloud native feature flag solution for managing feature toggles and A/B testing experiments.

GO Feature Flag screenshot 1

GO Feature Flag is an open-source, self-hosted feature flag solution designed for managing feature toggles and A/B testing experiments. It allows developers to enable or disable functionality without deploying new code, supporting a wide range of environments from backends to frontend applications and mobile apps. This tool facilitates a faster iteration cycle by decoupling feature releases from code deployments.

The software is primarily deployed as a server via a relay proxy that provides a central API for flag evaluation, which enables support for multiple programming languages. For projects written exclusively in Golang, it can be used as a native Go module that performs flag evaluation directly within the application code. Configuration files are stored in formats such as JSON, TOML, or YAML and can be hosted in various locations including S3, Kubernetes, or via HTTP.

Key features

  • Support for the OpenFeature standard to prevent vendor lock-in
  • Configuration storage via HTTP, S3, and Kubernetes
  • Support for JSON, TOML, and YAML configuration formats
  • Complex targeting rules to segment specific users
  • Progressive rollout strategies and A/B testing experimentation
  • Scheduled flag updates for timed feature releases
  • Usage data export to S3, Google Cloud Storage, Kafka, and local files
  • Change notifications via webhooks and Slack

The architecture relies on the relay proxy to enable multi-language support, allowing the system to integrate with various SDKs across the OpenFeature ecosystem. It is designed for developers and DevOps teams that require a cloud-native approach to continuous delivery and experimentation while maintaining full control over their infrastructure. To evaluate flags accurately, the system requires a unique targeting key for each user, which is passed within an evaluation context alongside other user attributes like email or admin status.

This tool provides a lightweight infrastructure for managing application variants and feature releases across a full technology stack, ensuring that feature toggling remains vendor-neutral and scalable.

Last Modified
Software TypeWeb App / Server
Platform
Last Activity15 days ago
Repository Age5 years
LicenseMIT
Open Source Software.io

Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.