Skip to content

[Bug] 403 Access Denied when pulling self-hosted NVCF Helm charts from NGC OCI Registry #40

Description

@logn-xu

Bug Description

During the local self-hosted NVCF installation setup via k3d, the helmfile apply (or nvcf-cli self-hosted up) command fails with a 403 Forbidden: Access Denied error when trying to pull the dependency Helm charts (such as helm-nvcf-cassandra, helm-nvcf-openbao-server, etc.) from the nvcr.io OCI registry.

Environment

  • OS/Distribution: Fedora
  • Tools Version: helmfile (latest/v1.x), helm (v4/v3.x), nvcf-cli (built from main branch)
  • Cluster Layout: Local single-cluster k3d (ncp-local)

Steps to Reproduce

  1. Followed the Quickstart guide, configured /etc/hosts and exported registry credentials.
  2. Logged into the Helm registry successfully via:
    helm registry login nvcr.io -u '$oauthtoken' -p "${NGC_API_KEY}"```
    
  3. Modified the deploy/stacks/self-managed/environments/base.yaml to use our actual NGC Org and Team slugs (replacing YOUR_ORG/YOUR_TEAM placeholders with valid, lowercase-compliant paths).
  4. Ran the installation command or invoked the underlying helmfile directly:
HELMFILE_ENV=local helmfile -f deploy/stacks/self-managed/helmfile.d/ --sequential-helmfiles --track-mode helm-legacy apply```



## Expected Behavior

Helm should successfully pull the OCI artifacts from `nvcr.io` using the authenticated session credentials.

## Actual Logs / Output

```text
Pulling nvcr.io/logn_club/test-logn/helm-nvcf-cert-manager:0.1.0
Pulling nvcr.io/logn_club/test-logn/helm-nvcf-openbao-server:0.30.23
Pulling nvcr.io/logn_club/test-logn/helm-nvcf-cassandra:0.15.5
Pulling nvcr.io/logn_club/test-logn/helm-nvcf-nats:0.7.1
in /home/logn/[github.com/nvidia/nvcf/deploy/stacks/self-managed/helmfile.d/01-dependencies.yaml.gotmpl](https://github.com/nvidia/nvcf/deploy/stacks/self-managed/helmfile.d/01-dependencies.yaml.gotmpl): [release "cassandra": command "/usr/bin/helm" exited with non-zero status:

PATH:
  /usr/bin/helm

ARGS:
  0: helm
  1: pull
  2: oci://nvcr.io/logn_club/test-logn/helm-nvcf-cassandra
  3: --destination
  4: /home/logn/.cache/helmfile/nvcf/helm-nvcf-cassandra/0.15.5
  5: --untar
  6: --version
  7: 0.15.5
  8: --devel

STDERR:
  Error: failed to perform "FetchReference" on source: GET "[https://nvcr.io/v2/logn_club/test-logn/helm-nvcf-cassandra/manifests/0.15.5](https://nvcr.io/v2/logn_club/test-logn/helm-nvcf-cassandra/manifests/0.15.5)": GET "[https://nvcr.io/proxy_auth?scope=repository%3Alogn_club%2Ftest-logn%2Fhelm-nvcf-cassandra%3Apull](https://nvcr.io/proxy_auth?scope=repository%3Alogn_club%2Ftest-logn%2Fhelm-nvcf-cassandra%3Apull)": response status code 403: denied: Access Denied

Additional Context / Questions

  • Manually testing helm pull oci://nvcr.io/nvidia/nvcf/helm-nvcf-openbao-server --version 0.30.23 also yields a 403 Access Denied error.
  • Are these NVCF Helm charts hosted under a different public/private global organization on NGC that our organization needs explicit entitlement for? Or is there a specific predefined registry path that we shouldn't overwrite with our own Org/Team names?

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-triageIssue or PR awaiting maintainer triage

    Type

    Fields

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions