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
- Host: GitHub
- URL: https://github.com/graytonio/flagops
- Owner: graytonio
- License: mit
- Created: 2023-06-30T15:17:35.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-22T23:42:52.000Z (over 1 year ago)
- Last Synced: 2024-05-23T00:41:50.159Z (over 1 year ago)
- Topics: feature-flags, gitops
- Language: Go
- Homepage:
- Size: 92.8 KB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
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)