GitOps

GitOps is an operational pattern where the desired state of infrastructure and applications is declared in Git, and a controller continuously reconciles the running system to match — making Git the single source of truth for deployment.

Detailed explanation

In GitOps, every change to a system goes through a pull request: infrastructure as code, Kubernetes manifests, application config, and even policy. A controller running in the cluster (commonly ArgoCD or Flux) watches the repository and applies changes automatically.

The pattern provides auditability (every change is a commit), reproducibility (the cluster can be rebuilt from Git), and rollback (revert the commit). It pairs naturally with progressive delivery, drift detection, and policy-as-code.

GitOps shines in multi-cluster, multi-environment Kubernetes setups but the pattern generalizes to any declarative system. Common pitfalls include leaking secrets into Git, treating the controller as a deploy button rather than a reconciler, and over-fragmenting repositories.

← Back to glossary