Skip to content

toddbaert/flagd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flagd

build goversion version status

Flagd is a simple command line tool for fetching and presenting feature flags to services. It is designed to conform to OpenFeature schema for flag definitions.

Example usage

Build the flagd binary:

make build

Start the process

./flagd start -f examples/example_flags.json --service-provider http --sync-provider filepath

This now provides an accessible http endpoint for the flags.

❯ curl localhost:8080
{ 
    "newWelcomeMessage": {
      "state": "disabled"
    },
    "hexColor": {
      "returnType": "string",
      "variants": {
        "red": "CC0000",
        "green": "00CC00",

Installation

Systemd

To install as a systemd service run sudo make install this will place the binary by default in /usr/local/bin

There will also be a default provider and sync enabled ( http / filepath ) both of which can be modified in the flagd.service.

Validation can be run with systemctl status flagd And result similar to below will be seen

● flagd.service - "A generic feature flag daemon"
     Loaded: loaded (/etc/systemd/system/flagd.service; disabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-05-30 12:19:55 BST; 5min ago
   Main PID: 64610 (flagd)
      Tasks: 7 (limit: 4572)
     Memory: 1.4M
     CGroup: /system.slice/flagd.service
             └─64610 /usr/local/bin/flagd start -f=/etc/flagd/flags.json

May 30 12:19:55 foo systemd[1]: Started "A generic feature flag daemon".

About

A generic feature flag daemon

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Go 87.9%
  • Dockerfile 7.0%
  • Makefile 5.1%