relayproxy

command
v1.15.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 25, 2023 License: MIT Imports: 9 Imported by: 0

README

GO feature flag relay proxy

go-feature-flag logo

Build Status Coverage Status Sonarcloud Status Release version GoDoc Go version License Join us on slack

What does the GO Feature Flag Relay Proxy do?

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.

When should I use the GO Feature Flag Relay Proxy?

  • If you want to access your feature flag using an API instead of the thomaspoignant/go-feature-flag SDK.
  • If you are not using GOlang to build your application.
  • If you want to reduce the number of accesses to your configuration flag by centralizing them.

Installation

Install using Homebrew (mac and linux)
brew install go-feature-flag-relay-proxy
Install using Scoop (windows)
scoop bucket add org https://github.com/go-feature-flag/scoop.git
scoop install go-feature-flag-relay-proxy

Getting started

Before starting your relay proxy you will need to create a minimal configuration file.

# this is a minimal config containing only where your flag file is located 
retriever:
  kind: http
  url: https://raw.githubusercontent.com/thomaspoignant/go-feature-flag/main/examples/retriever_file/flags.yaml

After that you can launch the relay proxy by using this command:

go-feature-flag-relay-proxy --config=/path/to/your/configfile

The relay proxy will read the configuration file and retrieve all the flags.
After that you can use all the available endpoints (see Service endpoints section) and get the variations for your users.

Deployment options

A common way to run go-feature-flag relay proxy is to use the Docker Container.
An image is available on docker Hub thomaspoignant/go-feature-flag-relay-proxy.

You can also run it as a service in your application following the Installation section.

Specifying a configuration

To configure the relay proxy you should provide a configuration file when launching the instance.

The easiest way to provide the file is to use the option --config=/path_to_your_file.yaml.
But if you don't provide this option, the relay proxy will look in these folders if a file named goff-proxy.yaml is available.

  • current folder
  • /goff/
  • /etc/opt/goff/

To learn how to configure the relay proxy, read Configuration.

Exporting metrics and traces

To export the data you can use all the capabilities of go-feature-flag SDK.
To configure it please refer to the type exporter section of the configuration.

Service endpoints

The Relay Proxy defines many HTTP/HTTPS endpoints. Most of these are proxies for GO Feature Flag services, to be used by SDKs that connect to the Relay Proxy.
Others are specific to the Relay Proxy, such as for monitoring its status.

Please refer to endpoints documentation to get the full details of what exists in our REST API.

How can I contribute?

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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
Package docs Code generated by swaggo/swag.
Package docs Code generated by swaggo/swag.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL