An open API service indexing awesome lists of open source software.

https://github.com/graytonio/flagops

Use the power of feature flags in your infrastructure as code
https://github.com/graytonio/flagops

feature-flags gitops

Last synced: about 1 month ago
JSON representation

Use the power of feature flags in your infrastructure as code

Awesome Lists containing this project

README

          

# 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

```bash
go install github.com/graytonio/flagops@latest
```

## Quick Start

First create a config file where your templates will be located called `.flagops`.

```yaml
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:

```bash
flagops
```

This will read the config file from the current directory and output the templated files in the requested output.

## Documentation

- [Getting Started](https://www.graytonward.com/blog/hello-world-for-flagops/)
- [Configuration](/docs/configuration.md)
- [Templates](/docs/templates.md)

### Deployment Options

- [ArgoCD Plugin](/docs/argocd-plugin.md)
- [CI Pipeline](/docs/ci-deployment.md)