Argo CD
GitOps reconciliation that keeps the cluster matching git - continuously, and by force. Git is the desired state; anything else is drift to be corrected.
What it is & why I use it
Argo CD is the GitOps engine for the cluster. It continuously compares what is declared in git against what is running, and reconciles the two so the live state converges on the committed state. The repo is not a suggestion or a record after the fact - it is the control input.
I use it because it makes the cluster auditable and reproducible: every change is a commit, every rollback is a revert, and "what is supposed to be running?" has one answer that lives in version control rather than in someone's memory of what they last applied by hand.
How I use it in the lab
- Declared apps, reconciled continuously. Cluster workloads are defined declaratively in git; Argo CD watches the repo and the cluster and keeps them in step.
- Auto-sync with self-heal. Approved changes roll out automatically, and out-of-band drift is actively corrected back to the committed state rather than just flagged.
- Change is a pull request. Because the repo is the control plane, a change to the running cluster is a reviewed PR - the same guardrails as any other code lands on infrastructure.
- Visible drift and health. The sync/health view makes it obvious when something has diverged or a rollout is unhealthy, so problems surface instead of hiding.
Architecture
In action
Lessons learned & gotchas
- Decide what self-heal is allowed to prune. Reconciliation that removes resources not in git is powerful and unforgiving - be deliberate about scope so a reconcile never deletes something you meant to keep but forgot to declare.
- Argo syncs manifests, not everything. It reconciles what is declared as Kubernetes state; out-of-band concerns it does not own (for example, a database schema behind an app) still need their own apply step. Do not assume a green sync means the whole world is in the desired state.
- Drift is information, not just noise. A resource that keeps drifting is often telling you something is changing it out of band - chase the cause instead of only re-syncing the symptom.
Impact
Argo CD is what makes the cluster honest: the running state cannot quietly diverge from what is committed, because divergence gets corrected on sight. The self-heal lesson is the whole philosophy in one bruise - once the repo is the control plane, the discipline is to always steer from there, especially under pressure, not to reach past it.
Code & further reading
Published manifests are scrubbed of cluster addresses, hostnames, and any secret references before they go public.