Skip to content

Image updater updates only 1 image when application contains 2 helm chart #1246

@mmokijewski

Description

@mmokijewski

Describe the bug
I use two instances of the same helm chart within single ArgoCD application to make the deployments with specific order using sync waves. I try to switch to image updater on my dev environment, however it update only 1 of the image.

I use below image-updater specific annotations on my ArgoCD App:

argocd-image-updater.argoproj.io/image-list: app-1=<my-aws-account>.dkr.ecr.eu-central-1.amazonaws.com/app-1-image:~0.0, app-2=<my-aws-account>.dkr.ecr.eu-central-1.amazonaws.com/app-2-image:~0.0
argocd-image-updater.argoproj.io/app-1.helm.image-name: image
argocd-image-updater.argoproj.io/app-1.helm.image-tag: appVersion
argocd-image-updater.argoproj.io/app-2.helm.image-name: image
argocd-image-updater.argoproj.io/app-2.helm.image-tag: appVersion

My ArgoCD app sources looks like below:

  sources:
    - repoURL: s3://<my-helm-charts-bucket>/charts
      chart: eks-app
      targetRevision: 0.58.0
      helm:
        releaseName: app-1
        valueFiles:
          - $values/app-1/dev.yaml
        valuesObject:
          argocdSyncWave: 1
    - repoURL: s3://<my-helm-charts-bucket>/charts
      chart: eks-app
      targetRevision: 0.58.0
      helm:
        releaseName: app-2
        valueFiles:
          - $values/app-2/dev.yaml
        valuesObject:
          argocdSyncWave: 2
    - repoURL: https://github.com/<my-repository-with-helm-values>
      targetRevision: main
      ref: values

In image-updater logs it seems like both images are updated, however only 1 is updated for real. Even in UI I can see the additional parameters (with hammer icon) only for one of the helm chart source.
Image

Expected behavior
Both images are properly updated

Version
0.16.0

Logs

time="2025-09-22T14:18:10Z" level=info msg="Starting image update cycle, considering 1 annotated application(s) for update"
time="2025-09-22T14:18:10Z" level=info msg="Setting new image to <my-aws-account>.dkr.ecr.eu-central-1.amazonaws.com/app-1-image:0.0.190" alias=app-1 application=my-argocd-app image_name=app-1-image image_tag="sha256:<digest>" registry=<my-aws-account>.dkr.ecr.eu-central-1.amazonaws.com
time="2025-09-22T14:18:10Z" level=info msg="Successfully updated image '<my-aws-account>.dkr.ecr.eu-central-1.amazonaws.com/app-1-image@sha256:<digest>' to '<my-aws-account>.dkr.ecr.eu-central-1.amazonaws.com/app-1-image:0.0.190', but pending spec update (dry run=false)" alias=app-1 application=my-argocd-app image_name=<app-1-image> image_tag="sha256:<digest>" registry=<my-aws-account>.dkr.ecr.eu-central-1.amazonaws.com
time="2025-09-22T14:18:11Z" level=info msg="Setting new image to <my-aws-account>.dkr.ecr.eu-central-1.amazonaws.com/app-2-image:0.0.190" alias=app-2 application=my-argocd-app image_name=app-2-image image_tag="sha256:<digest>" registry=<my-aws-account>.dkr.ecr.eu-central-1.amazonaws.com
time="2025-09-22T14:18:11Z" level=info msg="Successfully updated image '<my-aws-account>.dkr.ecr.eu-central-1.amazonaws.com/app-2-image@sha256:<digest>' to '<my-aws-account>.dkr.ecr.eu-central-1.amazonaws.com/app-2-image:0.0.190', but pending spec update (dry run=false)" alias=app-2 application=my-argocd-app image_name=<app-2-image> image_tag="sha256:<digest>" registry=<my-aws-account>.dkr.ecr.eu-central-1.amazonaws.com
time="2025-09-22T14:18:11Z" level=info msg="Committing 2 parameter update(s) for application my-argocd-app" application=my-argocd-app
time="2025-09-22T14:18:11Z" level=info msg="Successfully updated the live application spec" application=my-argocd-app
time="2025-09-22T14:18:11Z" level=info msg="Processing results: applications=1 images_considered=2 images_skipped=0 images_updated=2 errors=0"

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions