Answer
Scale with sharding: the application controller can be sharded across replicas, each handling a subset of clusters, and repo-server/redis are scaled for throughput. Tune reconciliation intervals, use webhooks to reduce polling, and use ApplicationSets to manage app sprawl. Monitoring controller load and shard balance is key at large scale.
# Shard the application controller across replicas
env:
- name: ARGOCD_CONTROLLER_REPLICAS
value: "3"Real-world example At 300 clusters, the application controller is sharded across replicas so each handles a portion of the fleet.