GitOps Basics and Workflows: CNPA practice questions
Day to day, a GitOps workflow looks like ordinary collaboration on a repository, with the deployment step taken over by an agent. A developer or a pipeline proposes a change to the desired state, for example a new image tag or a higher replica count, as a pull request against the configuration repository.
By Ibrahim Yesilay · Published · Updated
Independent community practice, not affiliated with or endorsed by CNCF or The Linux Foundation.
What GitOps Basics and Workflows covers in CNPA
Day to day, a GitOps workflow looks like ordinary collaboration on a repository, with the deployment step taken over by an agent. A developer or a pipeline proposes a change to the desired state, for example a new image tag or a higher replica count, as a pull request against the configuration repository. Reviewers and automated checks look at the diff. Once it is merged, the agent in the cluster notices the new revision, renders the manifests and applies them. Nobody runs kubectl against production, and the merged commit records who changed what and why.
The vocabulary differs slightly between tools, so it pays to know both. In Argo CD an Application is a custom resource for a group of Kubernetes resources defined by a manifest. The target state is what the files in Git describe and the live state is what is actually deployed. Sync status says whether the two match, a sync is the process of moving the application to its target state, a refresh compares the latest code in Git with the live state, and health reports whether the application is running correctly and can serve requests. Manifests can come from Kustomize, Helm, Jsonnet or plain YAML directories.
In Flux, a Source such as a GitRepository or OCIRepository checks its origin on a defined interval and produces a new artifact when a newer matching revision appears. A Kustomization applies that artifact to the cluster. Its reconciliation runs every five minutes by default, configurable with .spec.interval, and changes made with kubectl edit, patch or delete are promptly reverted; the only ways around that are to suspend reconciliation or push the change to Git. Flux installs itself the same way through a bootstrap, after which it manages its own components from the repository.
Drift handling is configurable and a frequent exam theme. Argo CD's automated sync, as a safety mechanism, does not delete resources that disappear from Git unless pruning is enabled, and it does not react to changes made directly in the live cluster unless self-healing is enabled. With selfHeal on, a manual edit is synced back to what Git says. Rollback follows the same path as any change: revert the commit, or point the application at an earlier revision, and let the agent reconcile.
Common misconceptions are that GitOps rules out emergency fixes (they go through a fast commit, or a deliberate and visible suspension of reconciliation), that an agent applying from Git makes review optional (review is where much of the safety comes from), and that plain-text secrets can live in the repository. Secrets need a secret store, such as the External Secrets project listed in the CNCF Platforms White Paper, or encryption before they are committed.
Expect associate-level questions that describe a manual change in the cluster and ask what happens next, ask which component detects drift, or ask what a pull request represents in a GitOps workflow.
Key points
- A merged pull request is the deployment request; the in-cluster agent applies it.
- Argo CD compares target state in Git with live state and reports sync status and health.
- A Flux Kustomization reconciles every five minutes by default and reverts manual kubectl changes.
- Argo CD prunes deleted resources and self-heals manual edits only when those options are enabled.
Three sample questions
8 CNPA questions on GitOps Basics and Workflows, 8 with explanations. How practice works
Question 1
- A.Argo CD never deletes resources, so removed resources must be deleted with kubectl.
- B.Self-heal is disabled, and self-heal is the option that deletes removed resources.
- C.Automated sync does not prune by default; pruning must be enabled with
prune: true. - D.The resource is still present in the Git history, so Argo CD keeps it running.
Correct answer: C
Sources: CNCF CNPA curriculum (CNPA_Curriculum.pdf), Argo CD: Automated sync policy
Question 2
kubectl edit on a resource managed by an Argo CD Application with automated sync and default options. Git has not changed. What happens?- A.Argo CD commits the live change back to the Git repository so that the two match again.
- B.Argo CD reverts the edit within a few seconds, because that is the default behaviour.
- C.The Application is deleted and recreated because its live state drifted from Git.
- D.The edit stays, because live changes trigger automated sync only with self-heal enabled.
Correct answer: D
Sources: CNCF CNPA curriculum (CNPA_Curriculum.pdf), Argo CD: Automated sync policy
Question 3
kubectl patch. What do the Flux docs say happens, and how should a lasting change be made?- A.It is soon reverted; suspend the reconciliation or push the change to Git instead.
- B.It is kept, because Flux only applies resources when a new commit arrives.
- C.Flux detects the patch and opens a pull request that contains the change.
- D.It is kept until the next Flux upgrade, when all of the manifests are re-applied to the cluster.
Correct answer: A
Sources: CNCF CNPA curriculum (CNPA_Curriculum.pdf), Flux: Core concepts
Practice this topic
Focus mode keeps every question on GitOps Basics and Workflows until you leave it. 10 free guest answers, then a free account; no credit card.
Or open CNPA practice across all topics.
Sources
The explanation above was checked against these official documents.
- Argo CD documentation: Core Concepts (checked 2026-10-28)
- Argo CD documentation: Automated Sync Policy (checked 2026-10-28)
- Flux documentation: Core Concepts (checked 2026-10-28)
- OpenGitOps: GitOps Principles v1.0.0 (checked 2026-10-28)
- CNCF TAG App Delivery: Platforms White Paper (checked 2026-10-28)