GitOps Vocabulary
5 exercises — master the precise vocabulary of GitOps: desired vs. observed state, drift detection, reconciliation loops, the pull model's security advantages, and Argo CD-specific concepts.
0 / 5 completed
GitOps vocabulary quick reference
- Desired state — configuration declared in Git; the authoritative source of truth
- Observed state — actual live configuration of resources in the Kubernetes cluster
- Drift — any divergence between desired and observed state
- Reconciliation loop — continuous compare-and-act cycle that converges cluster toward Git
- Sync — the Argo CD operation that applies Git manifests to the cluster
- Auto-sync — Argo CD option to automatically sync on drift detection (disabled by default)
- Pull model — in-cluster operator pulls from Git; no external credentials needed to access cluster
- App of Apps — parent Application managing child Applications; brings the app registry under GitOps control
1 / 5
Argo CD reports application status: "OutOfSync — observed state: replicas: 2; desired state in Git: replicas: 3."
What does Argo CD do by default when it detects this drift, and what determines whether it acts automatically?
Drift detection is automatic in Argo CD; auto-remediation (sync) is opt-in per Application.
Argo CD sync modes:
The drift detection cycle:
• Desired state — the configuration declared in the Git repository (the source of truth)
• Observed state — the actual live configuration of resources in the Kubernetes cluster
• Drift — any divergence between desired state and observed state
• Sync — the Argo CD operation that applies manifests to bring the cluster into alignment with Git
• OutOfSync — Argo CD's status label when drift is detected
• Self-heal — an Argo CD option that automatically reverts manual cluster changes that deviate from Git
Argo CD sync modes:
| Mode | Behaviour on drift | When to use |
|---|---|---|
| Manual sync (default) | Reports OutOfSync; waits for operator to click "Sync" or run argocd app sync | Production environments where human approval is required before changes |
| Auto-sync | Automatically applies a sync within seconds of detecting drift | Dev/staging environments; or production with high confidence in CI pipeline guardrails |
| Auto-sync + self-heal | Also automatically reverts any manual changes made to the cluster outside of Git | Strict GitOps environments where the cluster must always exactly match Git |
The drift detection cycle:
Every 3 minutes (default): 1. Fetch latest commit from Git repo 2. Render manifests (Helm render, Kustomize build, plain YAML) 3. Compare rendered manifests with live cluster state 4. If difference found → mark as OutOfSync 5. If auto-sync enabled → trigger sync (apply manifests to cluster)Key vocabulary:
• Desired state — the configuration declared in the Git repository (the source of truth)
• Observed state — the actual live configuration of resources in the Kubernetes cluster
• Drift — any divergence between desired state and observed state
• Sync — the Argo CD operation that applies manifests to bring the cluster into alignment with Git
• OutOfSync — Argo CD's status label when drift is detected
• Self-heal — an Argo CD option that automatically reverts manual cluster changes that deviate from Git