Readers of this site are comfortable with feedback loops: a sensor reads the world, a controller compares the reading with a target, an actuator closes the gap, and the cycle repeats. Strip the jargon from modern deployment practice and you find exactly that loop, wearing a name of its own — GitOps. The target state lives as text in a version-controlled repository. An automated agent continually reads that text, inspects the running system, and removes whatever distance remains between the two. This article keeps the language plain and the reasoning precise, because under the tooling sits an idea simple enough to explain at a whiteboard in three minutes.
GitOps in One Paragraph, Then in Four Rules
Here is the whole model. Engineers describe how production ought to look — which application versions, which settings, which network rules — and commit that description to a repository such as Git. A program running near the workload, called a reconciler, pulls the description on a schedule and asks one question: does reality match the file? Where it does not, the reconciler applies the file’s version, and logs what it did. Human beings stop touching production directly; they change the file instead, through reviewed pull requests.
The OpenGitOps project distilled this into four principles, published in October 2021 under CNCF. Paraphrased for the automation-minded: the desired state is expressed as data, not as a script of steps; that data sits in a store that records every change and refuses to overwrite history; software, not people, fetches the data and applies it; and the comparison never stops after one pass — the system is reconciled continuously, so a poll every couple of minutes still counts. A continuous-integration job that pushes changes on command meets the first rule and stops there; the pull-and-reconcile behaviour is what distinguishes the model.
Watching the Reconciliation Loop Actually Run
Consider what happens after a developer merges a small change — say, raising a memory limit from two gigabytes to three. Within seconds a webhook can nudge the reconciler, though the nudge is optional: Argo CD polls roughly every two minutes, with up to a minute of deliberate jitter, and Flux checks on its own configured interval. The agent observes the cluster, computes a difference between file and reality, applies the new limit, and reports the result. If somebody later edits the memory setting straight in the cluster, the next cycle notices and quietly puts it back — provided self-healing is enabled, which in Argo CD is a per-application choice, while Flux performs drift correction on each interval by default.
That last behaviour deserves a pause, because it is the part newcomers find unsettling and then come to love. Manual fixes do not stick. The repository is the only place where the system’s configuration may change, and the loop enforces that decision without fatigue or favouritism. For teams that have lived through an undocumented midnight edit causing Friday’s outage, the appeal writes itself.
Rollback works through the same channel, which is why the model survives contact with accidents. A bad change is not patched in place; the faulty commit is reverted, the reconciler observes the reversed instruction, and production steps back to the previous known state without anyone opening a terminal. Recovery speed then reduces to a single variable — how quickly a reviewer approves the revert — which is a process number a team can actually work to improve, rather than a scramble whose duration depends on who is awake.
What GitOps Is Not — A Short List of Common Confusions
- Not “YAML stored in Git.” A repository nobody reconciles from is just storage. The loop — pull, compare, correct — is the operating model; the files are only its input.
- Not a replacement for CI. Building, testing and scanning still belong to the pipeline. What moves under the repository’s control is deployment alone.
- Not a backup system. Git holds declarations. Database contents, customer data and volume contents stay where they are; backing those up remains a separate, unglamorous discipline.
- Not tied to Kubernetes alone. The same pull-and-reconcile pattern manages cloud resources through tools like Crossplane, and even a versioned object bucket can serve as the store for teams who prefer “Gitless” setups.
Where the Machines Still Need Human Judgment
Automation-minded readers will ask where the edge cases live, and the honest answer is: in judgment calls the loop cannot make alone. Secret values are the first. A repository built for sharing is a poor home for passwords, so teams lean on dedicated tooling that lets the repository reference a credential without ever revealing it — Sealed Secrets and SOPS-encrypted files embed the values safely in the store, while the External Secrets Operator takes the other route and injects them at runtime from a separate vault. The second is privilege. A reconciler holds enough authority to reshape production, so responsible setups narrow that authority with scoped projects, impersonated accounts, or the restrictive flags both major tools provide. The third is the repository’s own blast radius: write access to a watched path is deploy access, and access reviews should treat it that way. None of this diminishes the model; it just means the loop needs fencing, like every powerful controller before it.
There is also a people-side judgment: when an incident is burning, a reconciler that diligently reverts emergency hotfixes becomes an adversary. Both ecosystems acknowledge this. Suspending an application’s syncing is a first-class operation in each tool, and mature teams rehearse the suspension before they need it — the equivalent of knowing where the emergency stop sits before operating the machinery.
The GitOps Tool Shelf, Briefly
Two names dominate. Argo CD, at version 3.5.5 as of October 2026, runs as a hub: one central instance watches many clusters, organises work through projects and applications, orders changes with sync waves, and can generate applications in bulk through ApplicationSets. Flux, at 2.9.6, takes the opposite shape: a slim agent per cluster, split into cooperating controllers, with dependency ordering and source verification for signed commits. Choosing between them resembles the tool comparisons this site regularly publishes — the honest answer depends on whether a central dashboard or a lightweight per-cluster footprint fits the team better. xOps School’s GitOps guide keeps a current, sourced comparison of both, including the managed variants now offered by the large cloud providers.
GitOps and the Broader Automation Stack
Where does this sit next to the observability and AIOps tooling we often cover here? They compose cleanly. Observability tells you the system is drifting in ways the schema never captured; log parsing and anomaly detection shorten the diagnosis; the reconciler handles the deviations that have a declared answer. Decision-support systems benefit too — when every change is a reviewed commit, the feed of what changed, when, and by whom arrives structured and complete, which is precisely the input such systems want. Teams evaluating their first reconciler can start from our comparative look at choosing the right DevOps tools, and readers curious how structured feeds improve machine judgment will find our piece on how AI improves business decision making a useful companion. For a deeper dive into the tooling that feeds on operational noise, our survey of AI log parsing and normalization tools covers the other half of the loop.
The summary fits in a sentence: declare the target, store it where history is preserved, let an agent pull and reconcile without end, and keep the judgment — secrets, privilege, emergencies — explicitly human. Everything else is configuration.