Skip to content

bug(bundler): argocd-helm repoURL UX — surface in values.yaml and emit OCI install hint #1020

Description

@atif1996

Summary

Installing an argocd-helm bundle without passing --set repoURL=<oci-base> fails at template render time:

Error: execution error at (aicr-bundle/templates/gpu-operator-pre.yaml:19:21):
  repoURL is required: pass --set repoURL=<published bundle URL>
    (e.g., oci://<registry>/<path>/aicr-bundle)

The error is correct in that the value is required, but the UX is poor:

  1. No default. The bundle is being pushed to a specific OCI artifact at bundle time (aicr bundle --output oci://...). That same artifact URL trivially provides the repoURL base — there is no reason to require the user to re-supply it at install time.
  2. Not surfaced. helm show values <chart> does not document repoURL as a required input, and the aicr bundle push output does not print the exact helm install ... --set repoURL=... line that consumers will need.
  3. Late failure. The error only appears after a successful OCI pull on the target cluster, which means slow feedback for a missing CLI flag.

Suggested Fixes (any of these would help; ideally all)

  1. Bake the bundle's own OCI base into the chart at build time. When aicr bundle --output oci://<registry>/<org>/<chart>:<tag> is invoked, write repoURL: oci://<registry>/<org> into the bundle's values.yaml. Users can still override at install time, but the chart works out of the box.
  2. Fail at bundle time, not install time, if the value cannot be determined.
  3. Print the canonical install command at the end of aicr bundle, e.g.:
    Bundle pushed: oci://<registry>/<org>/<chart>:<tag>
    To install: helm install <release> oci://<registry>/<org>/<chart>:<tag> --namespace argocd
    
  4. Document repoURL in helm show values with a clear # REQUIRED comment so consumers using helm show values see it.

Repro

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

# Naive install, following normal Helm OCI conventions:
helm install <release> oci://<registry>/<org>/<chart>:<tag> --namespace argocd
# → Error: repoURL is required

Impact

  • Every new consumer hits this on their first install
  • The required value is something the bundler already knows; making the user re-specify it is busywork

Metadata

Metadata

Assignees

Type

Fields

No fields configured for Bug.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions