In a GitOps approach, how should the desired state of a system be managed and integrated?
The GitOps model is built on the principle that the desired state of infrastructure and applications must be stored in Git as the single source of truth. Option D is correct because Git provides versioning, immutability, and auditability, while reconciliation controllers (e.g., Argo CD or Flux) pull the desired state into the system continuously. This ensures that actual cluster state always matches the declared Git state.
Option A is partially correct but fails because GitOps eliminates manual push workflows---automation ensures changes are pulled and reconciled. Option B describes Kubernetes CRDs, which may be part of the system but do not embody GitOps on their own. Option C contradicts GitOps principles, which rely on pull-based reconciliation, not centralized push.
Storing desired state in Git provides full traceability, automated rollbacks, and continuous reconciliation, improving reliability and compliance. This makes GitOps a core practice for cloud native platform engineering.
--- CNCF GitOps Principles
--- CNCF Platforms Whitepaper
--- Cloud Native Platform Engineering Study Guide