GitOps Baseline with Flux v2
Terraform and Flux bootstrap config: installs Flux on EKS, connects to GitHub repo, sets up image update automation and Slack notifications for deployment events.
GitOps on EKS — Flux Bootstrapped, GitHub Connected, Notifications Wired
Flux is powerful and surprisingly quick to set up badly. This baseline gives you a Terraform-managed Flux install with GitHub integration, image update automation, and Slack deployment notifications — the complete picture, not just the getting-started tutorial.
What is Included
- Terraform module bootstrapping Flux v2 onto an EKS cluster via the Flux provider
- GitHub repository connection with deploy key management
- Image update automation: Flux polls ECR for new image tags and commits updated manifests automatically
- Slack notification provider with alerts for successful reconciliations and failures
- Multi-environment structure: separate
clusters/staging/andclusters/production/directories in the GitOps repo
Developer Experience
Run Terraform, Flux bootstraps itself, connects to your repo, and starts reconciling. Push a new image tag to ECR and watch Flux update the manifest and deploy — with a Slack message confirming it.
What You Get
terraform/— Flux bootstrap module with GitHub and EKS inputsflux-repo/— example GitOps repository structure ready to push to GitHubimage-automation/— ImageRepository, ImagePolicy, and ImageUpdateAutomation manifestsnotifications/— Slack Provider and Alert manifestsREADME.mdcovering the bootstrap sequence, repo structure, and day-2 operations
Requirements
- EKS cluster with IRSA and an accessible GitHub repository
- Terraform >= 1.3, Flux CLI for verification
- ECR registry for image update automation (adaptable to DockerHub or GHCR)
- Slack webhook URL for deployment notifications