GitOps Workflows¶
Integration patterns for using Genifest with GitOps tools like ArgoCD and Flux.
Work in Progress
This documentation page is being developed. Please check back soon for complete content.
Overview¶
Genifest is designed to work seamlessly with GitOps continuous deployment workflows. This page covers integration patterns and best practices.
ArgoCD Integration¶
Basic setup for using Genifest with ArgoCD:
# .argocd/application.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: my-app
spec:
source:
repoURL: https://github.com/myorg/my-app
targetRevision: HEAD
path: k8s
syncPolicy:
automated:
prune: true
selfHeal: true
Flux Integration¶
Example Flux configuration:
# .flux/kustomization.yaml
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
kind: Kustomization
metadata:
name: my-app
spec:
sourceRef:
kind: GitRepository
name: my-app
path: "./k8s"
prune: true
CI/CD Pipeline¶
Example GitHub Actions workflow for GitOps:
name: Update Manifests
on:
push:
branches: [main]
jobs:
update-manifests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Update manifests
run: |
genifest run --include-tags production
git add .
git commit -m "Update manifests [skip ci]"
git push
Best Practices¶
- Use tags to separate environments
- Keep configuration close to manifests
- Version control all generated changes
- Use automated validation in CI
See Also¶
- Guestbook Tutorial - Complete example
- Common Patterns - Reusable patterns