At standup, a teammate asks what an ArgoCD Application resource is. What is the correct answer?
An ArgoCD Application CRD is the core declarative unit. It specifies source (Git repo URL, path, target revision, and optionally Helm/Kustomize config) and destination (cluster API URL and namespace). ArgoCD continuously reconciles the live cluster state against the desired Git state according to the configured syncPolicy.
2 / 5
In a PR review, a reviewer asks how ApplicationSet generators work. Which answer is correct?
ApplicationSet generators drive template expansion. A List generator iterates over a static list; a Cluster generator iterates over registered clusters; a Git Directory generator iterates over directories in a repo; a Pull Request generator creates preview environments per PR. Each generator parameter set produces one Application from the template.
3 / 5
During a design review on deployment ordering, the team discusses sync waves. What is the correct description?
Sync waves give you fine-grained ordering within a sync operation. Resources annotated with lower wave numbers (e.g. "0") are applied first; ArgoCD waits until they are healthy before applying wave "1" resources, and so on. This is commonly used to ensure CRDs or Namespaces are created before resources that depend on them.
4 / 5
An incident involves a PreSync hook Job failing silently. What do PreSync hooks do?
PreSync hooks are Kubernetes Jobs (or other resources) annotated with argocd.argoproj.io/hook: PreSync. ArgoCD runs them before applying any other manifests in the sync. A common use case is running database schema migrations before deploying a new application version. If the hook Job fails, ArgoCD halts the sync and reports an error.
5 / 5
A code review covers the app-of-apps pattern. What does this pattern entail?
The app-of-apps pattern uses a single rootApplication that points to a Git directory containing other Application manifests. When ArgoCD syncs the root, it creates the child Applications, which then each sync their own workloads. This provides a bootstrapping mechanism and hierarchical structure without requiring ApplicationSet.