ArgoCD › Applications

What are multiple sources in an Application and why use them?

Advanced

Answer

Newer ArgoCD supports multiple sources in one Application, letting you combine, for example, a Helm chart from one repo with values from another repo, or reference resources across repos. This decouples chart source from environment config and supports patterns like using a shared chart with team-owned values.
spec:
  sources:
    - repoURL: https://charts.example.com
      chart: app
      targetRevision: 1.2.0
      helm:
        valueFiles: ['$values/prod.yaml']
    - repoURL: https://github.com/org/config
      targetRevision: main
      ref: values
Real-world example The app renders a public Helm chart but pulls its production values from a separate, access-controlled config repo.

Common follow-ups: How do you reference values from another repo? | When are multiple sources useful?