Key principles
- Declarative — infrastructure state is described in files (Kubernetes manifests, Helm charts)
- Git as single source — every change goes through a Pull Request with review and CI
- Automatic sync — an operator (ArgoCD, Flux) watches Git and applies changes
- Observability — easy to compare the cluster's current state with what is described in Git
GitOps vs CI/CD Push
- Push — the CI pipeline deploys directly (kubectl apply). Requires credentials in CI
- Pull (GitOps) — an operator inside the cluster pulls changes from Git. Smaller attack surface
Tools
ArgoCD and Flux CD are the most popular GitOps operators for Kubernetes.