Skip to content

Use the power of feature flags in your infrastructure as code

License

Notifications You must be signed in to change notification settings

graytonio/flagops

Repository files navigation

FlagOps

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.

Install

go install github.com/graytonio/flagops@latest

Quick Start

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: git@github.com:user/gitops-deployment.git
      path: apps/production
      upsert: false
  - path: apps/
    env: staging
    dest:
      type: git
      repo: git@github.com:user/gitops-deployment.git
      path: apps/production

The config file is broken into two parts:

  1. Environments - Defines a flag provider that can be used to fill out the templates.
  2. 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.

Documentation

Deployment Options