🔄 GITOPS & CI/CD
Git est la source de vérité
Git-driven deployment pipelines with progressive delivery and infrastructure-as-code.
Pattern App-of-Apps
Une Application racine auto-découvre chaque YAML dans src/apps/. Déposez un manifeste, ArgoCD le prend en charge.
app-of-apps.yaml (root Application → watches src/apps/) │ ├── src/apps/cilium.yaml → cilium + cilium-configs ├── src/apps/keycloak.yaml → keycloak + keycloak-configs ├── src/apps/vault.yaml → vault (manual sync) ├── src/apps/grafana.yaml → observability stack ├── src/apps/harbor.yaml → harbor (wrapper chart) ├── src/apps/supabase.yaml → supabase (inline configs) ├── src/apps/backstage.yaml → backstage portal ├── ... 30+ more ... │ └── src/apps/icebox/ → disabled apps (excluded) ├── kyverno.yaml └── kubescape.yaml
4 patterns de déploiement
Choisissez le bon pattern selon les besoins de votre application — des charts Helm simples aux manifestes bruts.
Helm + Configs
Two ArgoCD Applications: one for the external Helm chart with local values, one for companion manifests (gateway, external-secret).
Quand utiliser : Deploying a third-party Helm chart with local config overrides.
Helm + Inline
Single ArgoCD Application combining Helm chart and directory source with exclusion globs.
Quand utiliser : When you want a single ArgoCD Application instead of two.
Wrapper Chart
Local Chart.yaml wrapping an external chart as a dependency. Full Helm templating power for custom resources.
Quand utiliser : When you need to template K8s manifests alongside the Helm chart (Certificates, ReferenceGrants).
Raw Manifests
Plain Kubernetes YAML files deployed directly. No Helm, no templating — just declarative manifests.
Quand utiliser : Operators, CRDs, or simple deployments that don't need Helm.
Modules Terraform IaC
Tout ce qui ne peut pas être un manifeste Kubernetes est géré par Terraform — secrets, clients OIDC, dashboards.
terraform/vault/
hashicorp/vault
ESO policies, tokens, app secrets, DNS credentials
cert-platform.tf, grafana-mcp.tf, supabase.tf, garage.tf
terraform/keycloak/
mrparkers/keycloak
OIDC realm + 10+ clients for SSO
backstage.tf, apisix.tf, harbor.tf, supabase.tf, affine_client.tf
terraform/grafana/
grafana/grafana
Dashboard provisioning, data sources
dashboards.tf, harbor.tf, n8n_dashboard.tf, affine_dashboard.tf
terraform/harbor/
goharbor/harbor
Registry OIDC auth, robot accounts
main.tf, provider.tf
Tous les composants
Argo CD
productionGitOps continuous delivery tool that reconciles desired state from Git with cluster state.
Rôle : Core GitOps engine with App-of-Apps pattern managing 40+ applications
Terraform
productionInfrastructure as Code for provisioning and managing cloud-agnostic resources.
Rôle : Manages Vault secrets, Keycloak OIDC clients, Grafana dashboards, Harbor config
OneDev
productionSelf-hosted Git repository manager with integrated CI/CD pipelines and code review.
Rôle : Private Git hosting with container-based CI runners
Kargo
plannedProgressive delivery engine adding multi-stage promotion workflows on top of Argo CD.
Rôle : Environment promotion pipelines: dev → staging → production