What are the main components of ArgoCD?
ArgoCD consists of several key components: API Server provides the web UI, CLI, and API endpoints for application management. Repository Server caches Git repository contents and generates Kubernetes manifests. Application Controller continuously monitors running applications and compares live state against desired state in Git. Redis stores cache and application state data. Dex provides authentication integration with external identity providers like LDAP, SAML, and OAuth2. ApplicationSet Controller generates multiple ArgoCD applications from templates. Notifications Controller sends notifications about application state changes. These components work together to implement the GitOps workflow, ensuring applications remain synchronized with their Git repository definitions.