DevOps / ArgoCD interview questions
What are the core components of ArgoCD?
ArgoCD is composed of several distinct components that work together to deliver GitOps continuous delivery:
API Server — Exposes the gRPC and REST API consumed by the ArgoCD UI, CLI (argocd), and any external tooling. It handles authentication, authorization (RBAC), and surfaces application status and operations.
Repository Server — Responsible for cloning Git repositories and rendering manifests. It supports Helm, Kustomize, Jsonnet, and plain YAML. It caches rendered manifests to reduce load on Git and templating engines. All manifest generation happens here in isolation from the rest of the system.
Application Controller — The core reconciliation engine. It continuously compares the live cluster state (via the Kubernetes API) against the desired state (rendered by the repo server) and determines sync status (Synced, OutOfSync, Unknown). It triggers sync operations and manages application health assessment.
ApplicationSet Controller — A separate controller that manages ApplicationSet CRDs, automatically generating and maintaining multiple Application resources from a single template and generator definition.
Dex (optional) — An identity provider proxy bundled with ArgoCD for SSO integration (GitHub, LDAP, SAML, OIDC). Can be replaced by an external OIDC provider.
Redis — Used as a caching layer for application state, reducing repeated calls to the Kubernetes API server and Git repositories. Not a persistent store — ArgoCD can rebuild its state from the cluster.
More Related questions...