Inside Argo CD: The Components and the Reconciliation Loop
The Seven Parts That Make Up Argo CD
Argo CD has a modular architecture that consists of the following components:
- The Web UI
- The CLI
- The API Server
- The Application Controller
- The ApplicationSet Controller
- The Repo Server
It also relies on external components:
We are going to look at what each component does and how they interact.
The Web UI
This is the graphical interface of Argo CD, a single-page React application for managing applications and projects. Most of what you can do from the CLI you can also do here, which makes it the easier starting point if you are not comfortable on the command line. It is part of the API Server process rather than a separate deployment.
The CLI
argocd is the command-line interface for interacting with Argo CD. It talks to the API Server, manages applications and projects, and is what you reach for when you want to script or automate Argo CD or wire it into a pipeline. Some administrative operations are CLI-only and have no UI equivalent, so even UI-first users end up needing it.
The API Server
Both the Web UI and the CLI go through the API Server to reach Argo CD resources. It exposes a gRPC and REST API, handles authentication and RBAC, and manages applications, projects, and the other objects a GitOps workflow needs. Third-party tools, CI/CD systems, and SDKs interact with Argo CD through this same API.
The Application Controller
In Kubernetes, a controller watches the state of the cluster and works to bring it in line with a declared desired state. Argo CD ships its own: the Application Controller.
GitOps the Hard Way, with Argo CD
Build Real GitOps Pipelines From Empty Clusters to Automated DeploysEnroll now to unlock all content and receive all future updates for free.
