thomaspoignant/go-feature-flag-relay-proxy

By thomaspoignant

Updated 5 days ago

A simple and complete feature flag solution

Image
Languages & Frameworks
Integration & Delivery
Developer Tools

10K+

GO Feature Flag Relay Proxy

go-feature-flag logo

Docker Image VersionDocker Image SizeDocker Hub downloadsLicenseJoin us on slack


What is GO Feature Flag Relay Proxy?

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.

Quick reference

How to use this image

go-feature-flag-relay-proxy 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 \
  thomaspoignant/go-feature-flag-relay-proxy:latest

Test it locally

This is a small example on how to run go-feature-flag-relay-proxy 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 \
  thomaspoignant/go-feature-flag-relay-proxy: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": "contact@gofeatureflag.org", "anonymous": true, "custom": { "admin": true, "email": "contact@gofeatureflag.org" }}, "defaultValue": "false"}'

License

View license information for the software contained in this image.

How can I contribute?

This project is open for contribution, see the contributor's guide for some helpful tips.

Docker Pull Command

docker pull thomaspoignant/go-feature-flag-relay-proxy