GitOps
GitOps is an operating model where a Git repository is the single source of truth for infrastructure and deployments — an automated agent continuously syncs the live environment to match what's committed, instead of engineers running manual deploy commands.
In a GitOps setup, every change to infrastructure or application configuration goes through a pull request — nobody runs kubectl apply by hand against a production cluster. A GitOps controller (most commonly ArgoCD or Flux, both built for Kubernetes) watches the repository and continuously reconciles the live cluster state to match what’s committed. If someone makes a manual change directly against the cluster, the controller detects the drift and can automatically revert it.
The practical benefits: every change has a Git history with an author, a diff, and a reason (the PR description). Rolling back is git revert, not remembering the previous manual steps. And because the desired state lives in one repository, disaster recovery for the cluster configuration itself is just re-pointing the controller at that same repo.
GitOps is specifically about the deployment and reconciliation model — it’s a layer on top of Infrastructure as Code, not a replacement for it.
Related terms
Related reading