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
Summary
When generating the app-of-apps
aicr-stackArgoCD Application, theargocd-helmdeployer hardcodesspec.source.chart: aicr-bundleregardless 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 (viahelm install <release> oci://<registry>/<org>/<my-bundle-name>:<tag>), but the childaicr-stackApplication then referenceschart: aicr-bundleatrepoURL: oci://<registry>/<org>, which does not exist in that registry.Reproduction
Generated
aicr-stackApplicationArgoCD error (identical class of failure as the
gpu-operator-prebug — same root: wrong OCI coordinates):(Because
aicr-bundledoesn't exist under that org, ArgoCD falls back to trying therepoURLas a full artifact and that also fails.)Suggested Fix
Derive the parent chart name from the
--outputOCI 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 constantaicr-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
aicr-stackapp-of-apps is the entry point: when it fails to sync, all child Applications that it would have managed are orphaned