Skip to content

GitOps Principles: CGOA practice questions

OpenGitOps, a project overseen by the GitOps Working Group, publishes four principles (version 1.0.0) that define what makes a system GitOps-managed. They are the largest part of the CGOA curriculum at 30%, and each one is a requirement on the desired state or on the agents that act on it.

By Ibrahim Yesilay · Published · Updated

Independent community practice, not affiliated with or endorsed by CNCF or The Linux Foundation.

What GitOps Principles covers in CGOA

OpenGitOps, a project overseen by the GitOps Working Group, publishes four principles (version 1.0.0) that define what makes a system GitOps-managed. They are the largest part of the CGOA curriculum at 30%, and each one is a requirement on the desired state or on the agents that act on it.

Declarative: a system managed by GitOps must have its desired state expressed declaratively. A declarative description states the operating state the system should be in without specifying the procedures to get there. Kubernetes manifests are the familiar example: with declarative object configuration you keep files that describe objects, and kubectl apply detects per object whether to create, patch or delete. A shell script of kubectl commands is the opposite, because it records steps rather than an end state.

Versioned and immutable: desired state is stored in a way that enforces immutability and versioning and retains a complete version history. Every change produces a new version instead of overwriting the old one, which gives an audit trail of who changed what and when, and makes rollback a matter of returning to an earlier version. Git satisfies this naturally through its commit history, but the principle is about the property, not the tool.

Pulled automatically: software agents automatically pull the desired state declarations from the source. The agent inside or alongside the runtime fetches what it needs, rather than an external pipeline pushing changes into the environment. Because the agent can fetch at any moment, it does not depend on someone announcing a change. A practical consequence is that the build system does not have to hold credentials that grant direct access to production.

Continuously reconciled: software agents continuously observe the actual system state and attempt to apply the desired state. Continuous here means the loop keeps running over time, not that every correction is instantaneous. When the observed state diverges, whether because of a new commit or because someone edited a live resource by hand, the agent works to bring it back.

The principles also tell you what GitOps is not. Manual approval gates and hand-run deployments are not among them; review can still happen, typically on the pull request that changes the desired state, but applying that state is automated. Imperative scripts, mutable configuration edited in place and push-only pipelines each break at least one principle. When judging a scenario, check each principle in turn: is the target state declared, is every version kept, does an agent fetch it automatically, and does something keep comparing and correcting.

Key points

  • The four OpenGitOps principles are Declarative, Versioned and Immutable, Pulled Automatically and Continuously Reconciled.
  • GitOps Principles is the most heavily weighted CGOA domain at 30%.
  • Versioned and immutable means every change creates a new version and the full history is retained, which enables audit and rollback.
  • "Continuously" means reconciliation keeps happening over time, not that it must be instantaneous.
  • Manual approval is not one of the principles; applying the desired state is automated.

Three sample questions

43 CGOA questions on GitOps Principles, 13 with explanations. How practice works

Question 1

Which of the following is NOT one of the four key GitOps principles?
  1. A.Declarative
  2. B.Versioned and immutable
  3. C.Manually approved
  4. D.Continuously reconciled

Correct answer: C

The four GitOps principles are: declarative, versioned and immutable, pulled automatically, and continuously reconciled. Manual approval contradicts the automated nature of GitOps.

Question 2

What makes a system "declarative" in GitOps?
  1. A.It uses manual deployment scripts
  2. B.It describes the desired end state
  3. C.It requires human intervention
  4. D.It uses imperative commands

Correct answer: B

Declarative systems define what the end state should look like rather than how to achieve it.

Question 3

Why is immutability important in GitOps?
  1. A.It ensures auditability and reliability
  2. B.It prevents any system changes
  3. C.It makes deployments faster
  4. D.It reduces storage costs

Correct answer: A

Immutability creates a reliable audit trail and ensures complete history of all system changes.

Practice this topic

Focus mode keeps every question on GitOps Principles until you leave it. 10 free guest answers, then a free account; no credit card.

Or open CGOA practice across all topics.

Sources

The explanation above was checked against these official documents.

Frequently asked questions

Do the GitOps principles require Git?

No. The principles talk about a source of desired state that is versioned and immutable. The OpenGitOps glossary names Git as the canonical example of a state store but allows other systems that provide immutable versions, access control and auditing.