A template engine for integrating OpenFeature providers into GitOps and IaC codebases. Allows users to rollout changes, configure applications, and observe critical changes without needing to understand the underlying manifests.
go install github.com/graytonio/flagops@latest
First create a config file where your templates will be located called .flagops
.
envs:
production:
provider: flagsmith
apiKey: prod-key
staging:
provider: flagsmith
apiKey: stg-key
paths:
- path: apps/
env: production
dest:
type: git
repo: [email protected]:user/gitops-deployment.git
path: apps/production
upsert: false
- path: apps/
env: staging
dest:
type: git
repo: [email protected]:user/gitops-deployment.git
path: apps/production
The config file is broken into two parts:
- Environments - Defines a flag provider that can be used to fill out the templates.
- Paths - Directories that should be run through the templater with the given environment and output to a specific directory.
Once this file is present you can run the tool:
flagops
This will read the config file from the current directory and output the templated files in the requested output.