2026
AWS EKS GitOps Platform
A production-style AWS platform where Terraform creates the infrastructure and ArgoCD keeps the cluster in sync with git.
View the code on GitHub
Some context
I wanted a platform where git is the single source of truth: what's in the repo is what runs in the cluster. It runs a small task manager app with a FastAPI backend and a React frontend, and this repository holds the infrastructure and deployment side of it.
How it works
- Terraform modules create the VPC, the EKS cluster and a PostgreSQL database on RDS, plus ECR repositories and the app's secrets.
- A bootstrap script installs NGINX Ingress and ArgoCD with Helm, then applies the ArgoCD applications.
- ArgoCD reads the Helm charts straight from the git repo and deploys the backend and frontend.
- To ship a new version, I push a new image and change its tag in git. ArgoCD picks it up from there.
- NGINX Ingress serves both from one host: / goes to the frontend and /api goes to the backend.
Decisions I made
Self-healing deployments
ArgoCD's self-heal is on, so a manual kubectl edit gets reverted. The only way to change the cluster is through git.
Private by default
The worker nodes and the database sit in private subnets. Only the load balancer faces the internet.
Built with the bill in mind
EKS, NAT and RDS cost money even when idle, so it uses one shared NAT gateway, and one script tears the whole stack down when I'm not using it.
Where it stands
The infrastructure, GitOps setup and app charts are done. A GitHub Actions pipeline for the app, monitoring with Prometheus, Grafana and Loki, and remote Terraform state are still on the list.
AWS · Terraform · Kubernetes · Helm · ArgoCD · NGINX Ingress · PostgreSQL