Part 3: GitOps with ArgoCD and Continuous Delivery
Why Manual Deploys Stopped Working
Repository Structure
go-reliable-gitops/
βββ argocd/
β βββ apps/
β β βββ root-app.yaml # The root app-of-apps
β β βββ project.yaml
β βββ appsets/
β βββ microservices.yaml # ApplicationSet for Go services
β βββ infrastructure.yaml # ApplicationSet for platform infra
βββ environments/
β βββ staging/
β β βββ api-gateway/
β β β βββ values.yaml # Staging-specific overrides
β β βββ order-service/
β β β βββ values.yaml
β β βββ notification-worker/
β β β βββ values.yaml
β β βββ ml-gateway/
β β βββ values.yaml
β βββ production/
β βββ api-gateway/
β β βββ values.yaml
β βββ order-service/
β β βββ values.yaml
β βββ notification-worker/
β β βββ values.yaml
β βββ ml-gateway/
β βββ values.yaml
βββ clusters/
βββ staging/
β βββ cluster.yaml # Cluster connection config
βββ production/
βββ cluster.yamlApp-of-Apps Pattern
ApplicationSet for Microservices
CI Pipeline: Build β Update β Sync
Promoting to Production
Secret Management with External Secrets Operator
Sync Waves for Ordered Deployment
Handling Rollbacks
What This Enables
PreviousPart 2: Kubernetes Deployment with Helm ChartsNextPart 4: Instrumenting Go Services β Metrics, Traces, and Logs
Last updated