When setting up Argo CD, which TWO components are essential to define a GitOps workflow?
AppProject provides the logical boundary that scopes which repositories, clusters and namespaces an Application may deploy to, satisfying the multi-tenancy and least-privilege constraint. Without it, Applications inherit unrestricted access, so it is essential alongside the Application resource to define a governed GitOps workflow.
Why this answer
In Argo CD, the Application CRD (option C) is essential because it defines the desired state of a deployed application by linking a source Git repository (with path and target revision) to a destination Kubernetes cluster and namespace, which is the core of the GitOps reconciliation loop. The AppProject (option B) is also essential because it provides the logical grouping and RBAC boundary that restricts which repositories, clusters, and namespaces an Application may use, enforcing multi-tenancy and security in the GitOps workflow. A Kubernetes Node (option A) is just the underlying compute host where Argo CD and workloads run; it is infrastructure, not a GitOps workflow definition.
A Docker Registry (option D) stores container images but is not required by Argo CD to define GitOps, since Argo CD syncs Kubernetes manifests from Git rather than images directly. A Jenkins Pipeline (option E) is a CI tool and is not part of Argo CD's GitOps model, which is pull-based and driven by the Application and AppProject resources.
Exam trap
CGOA often tests the confusion between Argo CD components and general Kubernetes or CI/CD tools, leading candidates to select infrastructure or CI tools instead of the specific Argo CD CRDs.