Skip to content

Multi-source Application: spec.sources[*].helm.parameters set via argocd app set is removed after sync (single-source works) #25855

@serhiits-v

Description

@serhiits-v

Checklist:

  • I've searched in the docs and FAQ for my answer: https://bit.ly/argocd-faq.
  • I've included steps to reproduce the bug.
  • I've pasted the output of argocd version.

Describe the bug

App Of Apps Pattern is used. For a single-source Application overriding image.tag via:

argocd app set "$APP" -p image.tag="$BUILD_VERSION"

persists across auto or manual sync and works as expected.

For a multi-source Application overriding the Helm value via:

argocd app set "$APP" --source-position 1 -p image.tag="$BUILD_VERSION"
or
argocd app set "$APP" --source-position 1 --helm-set image.tag="$BUILD_VERSION"

appears in the live Application spec before sync, but after a sync the override is removed from parameters and the app reverts to the tag from valuesObject.

To Reproduce

  1. Create a multi-source Application with:
    Source A: Helm chart
    Source B: Git repo with path: to manifests (ConfigMap, Secret etc)
  2. Set an override parameter:
    argocd app set my-application --source-position 1 -p image.tag=v0.1.15
  3. Verify in UI the override exists.
  4. Sync the parrent app.
  5. Verify again: the child app is OutOfSync. Parameters no longer contain image.tag, and valuesObject.image.tag is used (e.g. v0.1.13).

Expected behavior

For multi-source apps parameters set via argocd app set ... --source-position ... -p ... should persist and keep taking precedence across refresh/sync, same as single-source apps (per Helm value precedence docs).

Screenshots

Version

argocd version         
argocd: v3.1.9+8665140
  BuildDate: 2025-10-17T23:03:44Z
  GitCommit: 8665140f96f6b238a20e578dba7f9aef91ddac51
  GitTreeState: clean
  GoVersion: go1.25.3
  Compiler: gc
  Platform: darwin/arm64
argocd-server: v3.1.9+8665140
  BuildDate: 2025-10-17T21:35:08Z
  GitCommit: 8665140f96f6b238a20e578dba7f9aef91ddac51
  GitTreeState: clean
  GoVersion: go1.24.6
  Compiler: gc
  Platform: linux/amd64
  Kustomize Version: v5.7.0 2025-06-28T07:00:07Z
  Helm Version: v3.18.4+gd80839c
  Kubectl Version: v0.33.1
  Jsonnet Version: v0.21.0

Logs

Paste any relevant application logs here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcomponent:source/helmIssue related to Helm as an Application sourcefeature:multi-sourceBugs or enhancements related to multi-source Applications.triage/pendingThis issue needs further triage to be correctly classified

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions