Intro - I thought I understood, but it turns out I didn't.
I thought I was understand ArgoCD enough, in the past I have running ArgoCD with multiple K8S Cluster inside it. (>10 clusters). And have around 500-600 ArgoCD Applications in single cluster. But I was contributor in there, not who build from scratch, it is 100% misconceptions that I often encounter. Even I had Certified Argo Project Associate (CAPA) but it was a joke for me, no value gained! So that is the reason this article born. To help me understand more "basic" knowledge of ArgoCD.
Ok, we will go through sections below in this article:
- Architecture & Reconciliation loop
- Application - atomic unit
- Cluster registration
- AppProject - governance layer
- ApplicationSet - factory pattern
- Sync mechanics deep dive
- RBAC 3 layers
- Operational gotchas
- Recap - mental model

Architecture & Reconciliation loop
- Static View: What the fuck components are
- Dynamic View: How the fuck they are looping
ArgoCD is not fucking monolith, it is fucking workload run in namespace argocd in common and contains 5 major components.
Static view - argocd-server (API + UI gateway)
- Expose GRPC + Rest API for serving UI
Reference resources: