What is GitOps, and how does it differ from traditional CI/CD?
GitOps is a deployment model where Git is the single source of truth for the desired state of infrastructure and applications, and an automated controller continuously reconciles the live environment to match Git.
Pull-based — a controller (Argo CD, Flux) inside the cluster pulls from Git. Traditional CI/CD is push-based — pipelines push changes from outside.
Declarative — Git holds Kubernetes manifests, Helm charts, or Kustomize overlays describing the desired state.
Continuous reconciliation — controller detects drift between Git and cluster and corrects it automatically.
vs traditional CI/CD:
Traditional: pipeline runs
kubectl applyfrom CI runner; needs cluster credentials in CI.GitOps: cluster pulls from Git; no inbound credentials, easier auditing, automatic drift remediation, faster rollback (just revert the Git commit).
Tools: Argo CD, FluxCD, Jenkins X, Codefresh.
GitOps' key insight: Git is the single source of truth for the desired state, and a controller continuously reconciles the cluster to match. Mention ArgoCD or Flux as the canonical implementation.