What are the core principles of GitOps?
Answer
GitOps is defined by four principles introduced by Weaveworks. Declarative: the entire system (infrastructure and applications) is described declaratively — you declare the desired end state, not the steps to achieve it (Kubernetes manifests, Terraform HCL). Versioned and Immutable: the desired state is stored in Git, providing immutability, an audit trail, and the ability to roll back by reverting commits. Pulled Automatically: approved desired state changes are applied to the system automatically — the GitOps agent (ArgoCD, Flux) running inside the cluster continuously pulls from Git and applies changes, rather than CI pushing to the cluster. Continuously Reconciled: software agents continuously compare the actual cluster state to the desired Git state and automatically correct any drift (e.g., someone manually kubectl-applied a change that is not in Git). These principles result in a system where Git is the single source of truth, all operations are auditable, and the cluster is always in a known, reproducible state.
Previous
What is dependency scanning in CI/CD and how does it work?
Next
What is progressive delivery and how does it extend beyond basic canary releases?
More CI/CD Pipelines Questions
View all →- Advanced What is progressive delivery and how does it extend beyond basic canary releases?
- Advanced How is chaos engineering integrated into CD pipelines?
- Advanced How does Terraform work in fully automated pipelines with plan PR comments and apply on merge?
- Advanced What is compliance as code and how do tools like OPA enforce it in pipelines?
- Advanced What is software supply chain security and what are SLSA levels, SBOMs, and image signing?