Skip to content

bug(bundler): argocd-helm hardcodes parent chart name as aicr-bundle instead of using the published OCI artifact name #1019

Description

@atif1996

Summary

When generating the app-of-apps aicr-stack ArgoCD Application, the argocd-helm deployer hardcodes spec.source.chart: aicr-bundle regardless of what name the user actually pushed the bundle under.

If a user publishes to oci://<registry>/<org>/<my-bundle-name>:<tag>, ArgoCD pulls the correct chart at install time (via helm install <release> oci://<registry>/<org>/<my-bundle-name>:<tag>), but the child aicr-stack Application then references chart: aicr-bundle at repoURL: oci://<registry>/<org>, which does not exist in that registry.

Reproduction

aicr bundle \
  --recipe recipe.yaml \
  --deployer argocd-helm \
  --output oci://<registry>/<org>/<my-bundle-name>:<tag>

helm install <release> oci://<registry>/<org>/<my-bundle-name>:<tag> \
  --namespace argocd \
  --set repoURL=oci://<registry>/<org>

Generated aicr-stack Application

spec:
  source:
    repoURL: oci://<registry>/<org>
    chart: aicr-bundle           # ← hardcoded; actual artifact is <my-bundle-name>
    targetRevision: <tag>

ArgoCD error (identical class of failure as the gpu-operator-pre bug — same root: wrong OCI coordinates):

Failed to load target state: failed to generate manifest for source 1 of 1:
... <registry>/<org>:<tag>: not found

(Because aicr-bundle doesn't exist under that org, ArgoCD falls back to trying the repoURL as a full artifact and that also fails.)

Suggested Fix

Derive the parent chart name from the --output OCI reference the user provided. The bundler already parses this URL to perform the push; the same parsed name should flow into the app-of-apps Application template instead of the constant aicr-bundle.

If users genuinely want to override the parent chart name independently of the OCI artifact name, expose a flag (e.g. --parent-chart-name) — but the default should match what was actually pushed.

Impact

  • Every user who picks a non-default OCI artifact name hits this
  • Combined with #(gpu-operator-pre path-vs-chart bug), the bundle effectively cannot bootstrap on a fresh cluster without manual patching
  • The aicr-stack app-of-apps is the entry point: when it fails to sync, all child Applications that it would have managed are orphaned

Metadata

Metadata

Assignees

Type

Fields

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions