The Feature Flag Operator is a Kubernetes operator written in Go that integrates with various feature flag management services. It automatically fetches feature flags from the configured services via HTTP calls and injects them into Kubernetes resources.
The Feature Flag Operator currently supports the following feature flag management services:
- Flipt
- ...
- Automatically fetches feature flags from configured feature flag management services.
- Injects fetched feature flags into Kubernetes resources.
- Go (version 1.21+)
- Kubernetes cluster (minikube, kind, or any other Kubernetes cluster)
- Access to the configured feature flag management service(s)
-
Clone the repository:
git clone https://github.com/usysrc/feature-flag-operator
-
Navigate to the repository directory:
cd feature-flag-operator
-
Build the operator:
go build -o ffo .
-
Run the operator:
./ffo
-
Ensure that the operator is running in your Kubernetes cluster.
-
Create or update your Kubernetes resources (e.g., Deployments, Pods) with annotations to specify the feature flags you want to enable/disable.
-
The operator will automatically fetch feature flags from the configured feature flag management services and inject them into the annotations of your Kubernetes resources.
Not yet implemented: You can configure the operator by providing environment variables or configuration files. Below are the supported configuration options:
FLIPT_BASE_URL
: Base URL of the Flipt service.
Contributions to the Feature Flag Operator are welcome! If you encounter any issues or have suggestions for improvements, feel free to open an issue or submit a pull request on GitHub.
This project is licensed under the MIT License - see the LICENSE file for details.