GitOps Terminology
The GitOps Terminology domain checks that you can use the vocabulary of GitOps precisely: the terms that describe state, reconciliation loops, and the relationship between Git and a running system. Exam questions often test whether you can tell a definition from a nearby but wrong idea, such as confusing continuous integration with reconciliation.
Core vocabulary
- Desired state: the complete configuration a system should have, expressed declaratively in a versioned store.
- Actual (observed) state: what the running system reports now, including workloads, configuration, and resource health.
- Source of truth: the versioned store whose contents define desired state; in most GitOps systems this is a Git repository, but the principle is versioned immutability, not the brand.
- Reconciliation: the control loop that compares desired and actual state and applies or reverts changes to converge.
- Drift: divergence between desired and actual state, often caused by manual changes, failed deployments, or external controllers.
- Sync / convergence: the act of bringing actual state to desired state; self-heal is automatic correction after drift.
- Pull-based deployment: an in-cluster agent fetches desired state; the CI system does not need cluster credentials to push.
- Prune: deleting resources that were removed from desired state, a separate behavior from updating existing resources.
Worked example
A developer changes an image tag in a Git manifest from app:1.4 to app:1.5. A GitOps agent polls the repository, renders the manifests, compares them with live objects, and sees that the Deployment still runs 1.4. It updates the Deployment to 1.5, then reports sync status Synced and health Healthy. If someone later runs kubectl set image to 1.6, the next reconciliation detects drift and, if self-heal is enabled, restores 1.5. The reasoning is state comparison, not pipeline execution: the agent's job is convergence to the declared version.
Traps that cost marks
Calling any CI/CD pipeline GitOps because it reads a Git repository. Treating Git as a backup rather than the authoritative desired state. Confusing sync status with health: an object can be synced but unhealthy. Assuming prune is automatic or always desirable. Saying GitOps requires push credentials from CI; the defining principle is automatic pull.