GO Feature Flag is a simple, complete and lightweight self-hosted feature flag solution 100% OSS.
100K+
The GO Feature Flag Relay Proxy retrieve your feature flag configuration file using thomaspoignant/go-feature-flag SDK and expose APIs to get your flags variations.
It lets a number of servers to connect to a single configuration file.
This can be useful if you want to use the same feature flags configuration file for frontend and backend, this allows to be language agnostic by using standard protocol.
For more information about GO Feature Flag Relay Proxy, please visit github.com/thomaspoignant/go-feature-flag.
This default distribution is the official distribution for go-feature-flag.
Where to file issues: https://github.com/thomaspoignant/go-feature-flag/issues/.
Source are available in go-feature-flag repo.
All versions are available in the tags.
Release notes are available here.
go-feature-flag requires a configuration file to be used.
By default, we expect to have this configuration file in the /goff directory of the container and the file should be named goff-proxy.yaml.
The default port used for the service is 1031.
docker run \
-v $(pwd)/goff-proxy.yaml:/goff/goff-proxy.yaml \
gofeatureflag/go-feature-flag:latest
This is a small example on how to run go-feature-flag locally.
# Download an example of a basic configuration file.
curl https://raw.githubusercontent.com/thomaspoignant/go-feature-flag/main/cmd/relayproxy/testdata/dockerhub-example/goff-proxy.yaml -o goff-proxy.yaml
# Launch the container
docker run \
-p 1031:1031 \
-v $(pwd)/goff-proxy.yaml:/goff/goff-proxy.yaml \
gofeatureflag/go-feature-flag:latest
# Call the API
curl -X 'POST' \
'http://localhost:1031/v1/feature/flag-only-for-admin/eval' -H 'accept: application/json' -H 'Content-Type: application/json' \
-d '{ "user": { "key": "[email protected]", "anonymous": true, "custom": { "admin": true, "email": "[email protected]" }}, "defaultValue": "false"}'
Dockerfile linksGO Feature Flag is publishing the following tags:
The numbered version (ex: v1, 1.29, etc ...) are using a distroless base image,
ensuring a minimal image size and high security.
The versions with a Debian version name in the tag (e.g., -trixie, -bookworm) are based on debian-slim images. These are useful if you need to extend the image with additional tools. The trixie tag is based on Debian 13 and is the recommended extendable image.
View license information for the software contained in this image.
This project is open for contribution, see the contributor's guide for some helpful tips.
Content type
Image
Digest
sha256:d78aa8bd9…
Size
35.7 MB
Last updated
30 days ago
docker pull gofeatureflag/go-feature-flagPulls:
11,729
Jul 27 to Aug 2