Back to results for “App of Apps”
ArgoCD › Multi-cluster

How do you handle per-cluster configuration differences?

Advanced

Answer

Parameterize by cluster: use ApplicationSet generator values (cluster name, labels, region) injected into templates, per-cluster Helm values or Kustomize overlays selected by cluster, and cluster labels to drive which apps deploy where. This keeps a shared base while allowing region- or size-specific settings per cluster.
template:
  spec:
    source:
      helm:
        valueFiles: ['values-{{metadata.labels.region}}.yaml']
Real-world example Each cluster picks a region-specific values file, so EU and US clusters get appropriate endpoints and sizes from one template.

Common follow-ups: How do you inject cluster metadata into config? | How do labels drive placement?