
Lab: Multi-Environment GitOps Platform
Goal Build a production-ready platform that: Provisions infra with Terraform Builds/pushes images with GitLab CI Deploys to EKS using Helm + ArgoCD Supports dev, stage, prod with promotion (no manual kubectl) Uses App-of-Apps , environment isolation, and safe rollout 1) Repositories (enterprise layout) Repo A — platform-infra (Terraform) Purpose: provision AWS infrastructure + cluster add-ons. platform-infra/ terraform/ envs/ dev/ stage/ prod/ modules/ vpc/ eks/ addons/ Repo B — app-ci (Application + GitLab CI) Purpose: code, tests, Docker build, push image, publish Helm chart version. app-ci/ app/ Dockerfile .gitlab-ci.yml helm/ chart/ (optional if you keep chart in CD repo) Repo C — gitops-delivery (CD GitOps) Purpose: ArgoCD Applications and Helm values per environment. gitops-delivery/ argocd/ projects/ dev-project.yaml stage-project.yaml prod-project.yaml app-of-apps/ dev.yaml stage.yaml prod.yaml apps/ devops-pulse/ Chart.yaml templates/ values/ dev.yaml stage.yaml prod.yaml 2) “
Continue reading on Dev.to
Opens in a new tab



