A local Argo CD playground with kind
- Kaur Kallas
- Kubernetes
- March 4, 2025
Table of Contents
The fastest way to build confidence in a GitOps change is to run it somewhere disposable first. I keep a local Argo CD stack on kind (Kubernetes in Docker) for exactly that — a cluster I can create, break, and throw away in minutes.
Why local first
Testing GitOps against a shared cluster is slow and risky: you wait for syncs, you step on other people’s changes, and a bad manifest can take down something real. A local cluster gives you a tight feedback loop — apply, observe, reset — without any of that blast radius.
The rough recipe
- Create a cluster:
kind create clustergives you a working Kubernetes API in under a minute. - Install Argo CD via its Helm chart or the upstream manifests into an
argocdnamespace. - Point Argo CD at a Git repo — even a local one — with an
Applicationthat syncs your manifests. - Iterate. Push a change, watch Argo CD reconcile it, and confirm the result. When things get messy,
kind delete clusterand start clean.
I keep this wired together so the whole stack — cluster, Argo CD, and a sample app with Helm — comes up with a single command. Codifying it means anyone on the team can reproduce my environment exactly, instead of “works on my machine.”
What it’s good for
- Reviewing GitOps PRs — actually sync the change locally before approving it.
- Learning — Argo CD’s sync waves, hooks and health checks are much easier to understand when you can break them safely.
- Demos — spin up the whole thing in front of a team without touching shared infrastructure.
It’s deliberately quick and dirty — not a production setup, and not trying to be. The point is a fast, honest feedback loop. Once a change behaves locally, I trust it a lot more when it lands in a real cluster.
Want help building a GitOps workflow your team can actually own? Let’s talk.