ArgoCDScale Affiliate Disclosure: Clicking outbound /go/ partner links may earn us a vendor referral commission at zero extra cost to you. Read ArgoCDScale Commission Disclosure.
We publish every constant and deterministic equation powering the ArgoCDScale argocd-cmd-params-cm.yaml generator so Platform Engineers can audit memory limits before staging deployment.
We model argocd-application-controller working-set memory as the sum of per-Application live/desired object trees (2.7 MB for plain YAML/OCI up to 5.4 MB for CRD-heavy Helm Umbrella releases) plus per-cluster Kubernetes API informer caches (140 MB single-cluster up to 250 MB on enterprise fleet hubs) and a 340 MB Go runtime base per StatefulSet shard.
Shard count scales via max(minArchShards, ceil(Apps / 320), ceil(Clusters / 10)) bounded to 1..6 replicas, with 15% safety headroom per StatefulSet pod limit.
2. ArgoCDScale Repo-Server Semaphore & Child-Process Fork RSS Math
Every cache miss inside argocd-repo-server spawns external helm template, kustomize build, or CMP v2 sidecar streams. We compute safe per-replica memory as BaseGitBuffer_MB (360 MB polyrepo to 860 MB monorepo) + CMP_Sidecar_MB (360 MB when KSOPS/Jsonnet is active) + (reposerver.parallelism.limit * Fork_MB).
When unlimited-default (parallelism.limit=0) is selected, our formula also projects uncapped webhook burst spikes so engineers can see the exact Exit Code 137 delta before downloading argocd-cmd-params-cm.yaml.
Beyond controller and repo-server pods, the ArgoCDScale GitOps Controller Maintainers sum Redis (single instance or 3-node Sentinel + HAProxy), argocd-server API replicas, applicationset-controller generator loops, and Dex/Notifications, then multiply total pod working set by 1.28 to reserve 28% host RAM for Linux kernel page cache, containerd, and kubelet/k3s daemons.
ArgoCDScale transparency scope: equations reflect upstream CNCF ArgoCD architecture parameters and public vendor rate cards retrieved on 2026-11-12 (partner commission rates never alter any sizing coefficient). Organization-specific CRD schemas should be verified against Prometheus container_memory_working_set_bytes in staging, and full k3s + etcd cluster sizing is consolidated at Kubernetes Node Allocator (/en/).
Caps concurrent helm template and kustomize build subprocesses per replica so webhook cache flushes wait on a Go semaphore instead of triggering OOMKilled 137.