Skip to content
Browse Configs

Deep Dives

AI: Claude and Codex patterns

ConfigHub: Deploy and manage

Configs
Stacks
Apps
Plugins
Guides
Docs

nvidia/gpu-operator

Inspect the retained package for nvidia/gpu-operator@v26.3.3, its packaged configurations, and its exact publication receipt.

This page proves that the named package was published and inspected at the recorded digests. It does not claim Argo CD sync, Kubernetes health, production readiness, or another version's test result.

Publication proof: recorded · runtime proof: not inherited.

Licenses: chart Apache-2.0 (the chart source repository's LICENSE, read 2026-08-08). This describes the chart templates, not the packaged application images.

Plan an upgrade or promotion

Use this entry in ConfigHub in five steps, from fetching its exact objects to promoting a change.

Back to the Component Catalog · component versions: v26.7.1 · v26.3.3 · v26.3.2 · v25.10.1

What it is. nvidia/gpu-operator v26.3.3, as 24 Kubernetes objects in its default preset. The Catalog holds 7 presets of this version.

Install it. curl -fsSL -o try-objects.sh https://confighub.github.io/helm-expt/site/sh/nvidia-gpu-operator-v26-3-3/default/try-objects.sh && bash try-objects.sh

OCI bundle. oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/bundles/catalog-nvidia-gpu-operator-v26-3-3-default:r001@sha256:408cfa607e699388f62c1859f3f0daeecc99b8110f8cee076f06855be2d8ea1e

Needs first. Nothing. The script applies any CRDs first.

Step by step. Deploy the GPU Operator from the Catalog.

How it works. How the model works, and Helm in the Catalog.

What this page gives you

This is a human-readable detail page for one retained package version. It keeps the package, base names, exact OCI identity, and publication receipt reachable without pretending this retained-only version has the richer readiness evidence attached to the bold version in the component row.

Where its settings and observations live

Each packaged configuration records Helm-derived files and installer metadata. Later ConfigHub changes belong in governed variants. Target prerequisites and live observations remain separate facts; this publication receipt does not turn them into passes.

Four Separate Questions

Inspecting a source, producing objects, checking a destination, and checking a live result are different jobs. A Catalog match is useful for comparison but is not required. A missing destination or deployment is shown as not run or blocked, not as a failed configuration.

QuestionCurrent answerWhat it needsStatus
What do I have?Inspect the helm source, choices, locks, and any existing output before selecting a destination.Destination access: no
Selected configuration deployed: no
Available to inspect
evidence recorded
What will it produce?Run the recorded Helm render step to produce the exact Kubernetes objects for this configuration.Destination access: no
Selected configuration deployed: no
Checked: passed
evidence recorded
Can this destination accept it?The destination has not been checked for this exact configuration. A recorded source or render result is not a destination pass.Destination access: yes
Selected configuration deployed: no
Not run
no run recorded
Did it work?No post-deployment result is recorded for this exact configuration. Publication, upload, or rendering is not proof that it ran correctly.Destination access: yes
Selected configuration deployed: yes
Not run
no run recorded

Open the complete assessment, source, lifecycle, and evidence record.

Try This Chart

Inspect the exact package first, then choose one of the packaged configurations. The version remains readable in the reference, and the manifest digest prevents the registry from returning different package bytes. The setup command renders files locally; it does not apply them to Kubernetes.

Here is what the command does. cub installer is an open-source plugin for the cub CLI. cub installer setup pulls a catalog package and writes its Kubernetes files locally, leaving delivery to kubectl, Argo CD or Flux. The generated scripts stop before doing any work when the plugin or kustomize is missing.

cub installer inspect oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/nvidia-gpu-operator:v26.3.3@sha256:abd8475d6bfeabe88acc2d6a319a04054a9e84046d69926dcee4717674329a8f --json
cub installer setup --pull oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/nvidia-gpu-operator:v26.3.3@sha256:abd8475d6bfeabe88acc2d6a319a04054a9e84046d69926dcee4717674329a8f --base default --work-dir ./nvidia-gpu-operator-v26-3-3-default --non-interactive

Run shared local configuration checks after the package has written its Kubernetes YAML:

cub plugin install confighub/homebrew-tap@cub-scan-v0.7.3 --name scan
cub check --format json --output cub-check.json <work-dir>/out/manifests

The check is advisory and does not apply anything.

Version tag: oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/nvidia-gpu-operator:v26.3.3

Exact package: oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/nvidia-gpu-operator:v26.3.3@sha256:abd8475d6bfeabe88acc2d6a319a04054a9e84046d69926dcee4717674329a8f

The manifest digest comes from the committed publication receipt. cub installer refuses the pull if that exact manifest is not available.

Verify the package publisher

Run this command with cosign. It checks the expected publisher, the exact manifest digest, and the package annotations.

cosign verify --certificate-identity helm-expt-package-signer@nth-fort-499605-q5.iam.gserviceaccount.com --certificate-oidc-issuer https://accounts.google.com --annotations confighub.com/package-path=packages/nvidia/gpu-operator/v26.3.3 --annotations confighub.com/package-sha256=3b725c44020062d3fcc945ed790544999abfb856633b62224958f602d8d6b77d europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/nvidia-gpu-operator:v26.3.3@sha256:abd8475d6bfeabe88acc2d6a319a04054a9e84046d69926dcee4717674329a8f

A valid signature identifies who signed these package bytes. It does not show that the configuration is suitable for your cluster; use this page's checks and setup instructions for that decision.

Signature receipt · Sigstore bundle · How signature verification works

Use this entry in ConfigHub

Every Catalog entry page carries these five steps in this order. Each step says what the Catalog has run for this entry, and a step with a missing precondition gives no command.

Steps 1 and 2 need no account. Install the cub CLI before any cub command. Step 2 uses cub config diff, which cub plugin install confighub/cub-workshop@v0.6.61 adds. This page covers 7 entries, so open the one you want. A live walk on 2026-10-08 ran steps 3 to 5 for bitnami-nginx-24-0-2-http-clusterip and nvidia-gpu-operator-v26-3-3-default. These commands carry the changes that walk needed. It is a dated log and no receipt, so no state on this page rests on it.

Helm chart, base default, version v26.3.3
What is fixed, and what you supply

Fixed when this entry was built. These went into the build, so the objects already carry them. To change one, build the entry again from its source.

  • chart is nvidia/gpu-operator
  • version is v26.3.3
  • base is default
  • valuesProfile is recipes/nvidia/gpu-operator/v26.3.3/effective-values.yaml
  • namespace is gpu-operator
  • releaseName is gpu-operator
  • capabilityProfile is {"apiVersions":[],"kubeVersion":"1.31.0"}

Yours to supply or check. The destination must have these before the objects are applied. The words in italics say what the Catalog knows about each.

  • gpu-operator CRD included in this base; it must be established before Kubernetes accepts the rendered ClusterPolicy object Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
This entry's plan, and how to test it

These are the steps that plain objects cannot carry. ConfigHub stores them and does not carry them out. The words in italics say what the Catalog knows about each.

  • When you deliver. Apply the 5 CustomResourceDefinition objects first. Wait until every named definition reports the Established condition. The listing gives the rest. Who: whatever applies the objects. Written down. Not run by the Catalog.
  • Around an upgrade. Before an upgrade, move the CRDs to the new version. Helm does not upgrade CRDs from a chart's crds directory, so the chart ships this Job. The listing gives the rest. Who: delivery workflow. Written down. Not run by the Catalog.
  • Around a delete. After deleting, prune node-feature-discovery labels from the nodes. The Job runs nfd-master -prune, which removes node-feature-discovery labels, annotations and taints from every node, with its own ServiceAccount, ClusterRole and ClusterRoleBinding. The listing gives the rest. Who: delivery workflow. Written down. Not run by the Catalog.

Test the plain objects yourself. This script tests the retained objects themselves with kubectl, and it needs no cub and no account. Read it first and use a throwaway cluster. The Catalog ran it on a local cluster, and the log shows the run.

Read what a plan is, and why some entries have one.

1. Get the exact objects Run for this entry

The Catalog rendered this entry and retains its 24 objects in one file.

An upload can create more Units than the objects counted here. The installer renders a Namespace, and the upload adds an installer-record Unit.

# fetch the retained objects for this entry
$ curl -fsSL -o nvidia-gpu-operator-v26-3-3-default.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.3/revisions/default/r001/rendered/release-objects.yaml

# check the bytes against the listing
$ shasum -a 256 nvidia-gpu-operator-v26-3-3-default.yaml
73ebb5f6de3d1f010330d266db11b99b508be84dfc92b9d5deb01a39b66fee7c  nvidia-gpu-operator-v26-3-3-default.yaml

# render this base from the signed package; step 3 uploads this directory
$ cub installer setup --pull oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/nvidia-gpu-operator:v26.3.3@sha256:abd8475d6bfeabe88acc2d6a319a04054a9e84046d69926dcee4717674329a8f --base default --work-dir ./nvidia-gpu-operator-v26-3-3-default --non-interactive --namespace gpu-operator

2. Compare with another version or base Not run for this entry

The listing records no comparison for this entry. The commands run on the retained files, with no account. This version has 6 other bases in the Catalog, aicr-eks-training, driver-580.105.08, driver-595.91.07, external-nfd, preinstalled-driver and preinstalled-driver-and-toolkit. The Catalog holds 3 other versions, v25.10.1, v26.3.2 and v26.7.1.

# fetch the aicr-eks-training base of the same version
$ curl -fsSL -o nvidia-gpu-operator-v26-3-3-aicr-eks-training.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.3/revisions/aicr-eks-training/r001/rendered/release-objects.yaml

# list what differs between the two bases
$ cub config diff nvidia-gpu-operator-v26-3-3-default.yaml nvidia-gpu-operator-v26-3-3-aicr-eks-training.yaml --summary

# fetch the default base at version v26.3.2
$ curl -fsSL -o nvidia-gpu-operator-v26-3-2-default.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.2/revisions/default/r001/rendered/release-objects.yaml

# list what changed from v26.3.2 to v26.3.3
$ cub config diff nvidia-gpu-operator-v26-3-2-default.yaml nvidia-gpu-operator-v26-3-3-default.yaml --summary

3. Upload it as a variant Not run for this entry

The Catalog has not uploaded this entry. The commands use its signed installer package. Read the log of the live walk on 2026-10-08.

Replace each value in angle brackets with a name of your own. The entry id may already exist as a Space in your organization, and the package name as a Component.

In the live walk, a Space named for the nginx entry's id and a Component named bitnami-nginx already existed, so the walk chose its own names. The --component flag sets the Component label the upload writes on the Space, which is the package name when you omit it.

The cub installer plugin reads your organization from CUB_CONTEXT and ignores --context. If you use a context other than your default, export CUB_CONTEXT first, or the plugin works in your default organization.

# sign in; steps 3 to 5 write to your ConfigHub organization
$ cub auth login

# upload step 1's directory as a Space of Units, under names you choose
$ cub installer upload --work-dir ./nvidia-gpu-operator-v26-3-3-default --space <your-space> --component <your-component>

# list the Units the upload created
$ cub unit list --space <your-space>

4. Deploy it Not run for this entry

No delivery run is recorded for this entry. Argo CD has not run, Flux has not run, and kubectl has not run. The commands name the Target workshop/target, which cub cluster up --name workshop creates on a local kind cluster with Argo CD. Use your own Target for a real destination. The base carries 5 CRDs it needs, so the destination does not supply them. Read the log of the live walk on 2026-10-08.

Use the Space name you chose in step 3. The delete command is needed because the cloned installer-record Unit carries the Target and Argo CD v3.5.4 cannot read it, a defect seen on cub v0.8.7 and server v0.8.9.

Without that line the walk deployed nothing and Argo CD showed Unknown, while every cub command exited 0. The walk ran the four commands in this order and did not try them without the first publish.

ConfigHub shows nothing when Argo CD fails to read a Release. Run kubectl -n argocd get applications.argoproj.io and read the Sync column, because Healthy alone is not a pass. Argo CD took between 18 seconds and about 5 minutes to read a Release on a cluster made without argobot.

The walk made its cluster with cub cluster up --no-argobot. That command creates two Spaces, a Worker, a Target and a Trigger, opens ports 30010 to 30019 on the machine, and installs Argo CD from an unpinned upstream manifest.

Removing the ConfigHub side does not remove the workload. In the walk, deleting the Application Unit and the Spaces left the Application and its pods running, because the root Application does not prune.

# clone the base onto a Target as a dev variant
$ cub variant create dev <your-space> --target workshop/target --space-pattern "template:<your-space>-dev"

# publish the Release that the cluster's Argo CD pulls
$ cub release publish <your-space>-dev

# delete the installer record, which Argo CD cannot read
$ cub unit delete --space <your-space>-dev installer-record

# publish again without it
$ cub release publish <your-space>-dev

5. Promote a change Not run for this entry

No promotion is recorded for this entry. Promotion carries a change in the base to the dev variant. The base changes when you edit a Unit or upload a newer version into the same Space. Read the log of the live walk on 2026-10-08.

The promotion changes the dev Space and publishes nothing. It also adds the installer-record Unit back with the Target. The change reaches the cluster only after the delete and the publish.

The preview lists the whole installer record as added. In the walk, the preview of a one-label change to gpu-operator ran to 405 lines, and about 400 of them were that record.

# preview what the dev variant would take from the base
$ cub variant promote <your-space>-dev --dry-run -o mutations

# promote once you have read the preview
$ cub variant promote <your-space>-dev --change-desc "Pull the reviewed base forward"

# delete the installer record that the promotion adds back
$ cub unit delete --space <your-space>-dev installer-record

# publish the Release that carries the change
$ cub release publish <your-space>-dev
Helm chart, base aicr-eks-training, version v26.3.3
What is fixed, and what you supply

Fixed when this entry was built. These went into the build, so the objects already carry them. To change one, build the entry again from its source.

  • chart is nvidia/gpu-operator
  • version is v26.3.3
  • base is aicr-eks-training
  • valuesProfile is recipes/nvidia/gpu-operator/v26.3.3/effective-values-aicr-eks-training.yaml
  • namespace is gpu-operator
  • releaseName is gpu-operator
  • capabilityProfile is {"apiVersions":[],"kubeVersion":"1.31.0"}

Yours to supply or check. The destination must have these before the objects are applied. The words in italics say what the Catalog knows about each.

  • gpu-operator CRD included in this base; it must be established before Kubernetes accepts the rendered ClusterPolicy object Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
This entry's plan, and how to test it

These are the steps that plain objects cannot carry. ConfigHub stores them and does not carry them out. The words in italics say what the Catalog knows about each.

  • When you deliver. Apply the 2 CustomResourceDefinition objects first. Wait until every named definition reports the Established condition. The listing gives the rest. Who: whatever applies the objects. Written down. Not run by the Catalog.
  • Around an upgrade. Before an upgrade, move the CRDs to the new version. Helm does not upgrade CRDs from a chart's crds directory, so the chart ships this Job. The listing gives the rest. Who: delivery workflow. Written down. Not run by the Catalog.

Test the plain objects yourself. This script tests the retained objects themselves with kubectl, and it needs no cub and no account. Read it first and use a throwaway cluster. The Catalog has no recorded run of this script.

Read what a plan is, and why some entries have one.

1. Get the exact objects Run for this entry

The Catalog rendered this entry and retains its 10 objects in one file.

An upload can create more Units than the objects counted here. The installer renders a Namespace, and the upload adds an installer-record Unit.

# fetch the retained objects for this entry
$ curl -fsSL -o nvidia-gpu-operator-v26-3-3-aicr-eks-training.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.3/revisions/aicr-eks-training/r001/rendered/release-objects.yaml

# check the bytes against the listing
$ shasum -a 256 nvidia-gpu-operator-v26-3-3-aicr-eks-training.yaml
8f33a5021500891676062706330ec40b6f356e115a013df11d41943c65bf1be7  nvidia-gpu-operator-v26-3-3-aicr-eks-training.yaml

# render this base from the signed package; step 3 uploads this directory
$ cub installer setup --pull oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/nvidia-gpu-operator:v26.3.3@sha256:abd8475d6bfeabe88acc2d6a319a04054a9e84046d69926dcee4717674329a8f --base aicr-eks-training --work-dir ./nvidia-gpu-operator-v26-3-3-aicr-eks-training --non-interactive --namespace gpu-operator

2. Compare with another version or base Not run for this entry

The listing records no comparison for this entry. The commands run on the retained files, with no account. This version has 6 other bases in the Catalog, default, driver-580.105.08, driver-595.91.07, external-nfd, preinstalled-driver and preinstalled-driver-and-toolkit. The Catalog holds 3 other versions, v25.10.1, v26.3.2 and v26.7.1.

# fetch the default base of the same version
$ curl -fsSL -o nvidia-gpu-operator-v26-3-3-default.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.3/revisions/default/r001/rendered/release-objects.yaml

# list what differs between the two bases
$ cub config diff nvidia-gpu-operator-v26-3-3-aicr-eks-training.yaml nvidia-gpu-operator-v26-3-3-default.yaml --summary

# fetch the aicr-eks-training base at version v26.7.1
$ curl -fsSL -o nvidia-gpu-operator-v26-7-1-aicr-eks-training.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.7.1/revisions/aicr-eks-training/r001/rendered/release-objects.yaml

# list what changes from v26.3.3 to v26.7.1
$ cub config diff nvidia-gpu-operator-v26-3-3-aicr-eks-training.yaml nvidia-gpu-operator-v26-7-1-aicr-eks-training.yaml --summary

3. Upload it as a variant Not run for this entry

The Catalog has not uploaded this entry. The commands use its signed installer package. Read the log of the live walk on 2026-10-08.

Replace each value in angle brackets with a name of your own. The entry id may already exist as a Space in your organization, and the package name as a Component.

In the live walk, a Space named for the nginx entry's id and a Component named bitnami-nginx already existed, so the walk chose its own names. The --component flag sets the Component label the upload writes on the Space, which is the package name when you omit it.

The cub installer plugin reads your organization from CUB_CONTEXT and ignores --context. If you use a context other than your default, export CUB_CONTEXT first, or the plugin works in your default organization.

# sign in; steps 3 to 5 write to your ConfigHub organization
$ cub auth login

# upload step 1's directory as a Space of Units, under names you choose
$ cub installer upload --work-dir ./nvidia-gpu-operator-v26-3-3-aicr-eks-training --space <your-space> --component <your-component>

# list the Units the upload created
$ cub unit list --space <your-space>

4. Deploy it Not run for this entry

No delivery run is recorded for this entry. Argo CD has not run, Flux has not run, and kubectl has not run. The commands name the Target workshop/target, which cub cluster up --name workshop creates on a local kind cluster with Argo CD. Use your own Target for a real destination. The base carries 2 CRDs it needs, so the destination does not supply them. Read the log of the live walk on 2026-10-08.

Use the Space name you chose in step 3. The delete command is needed because the cloned installer-record Unit carries the Target and Argo CD v3.5.4 cannot read it, a defect seen on cub v0.8.7 and server v0.8.9.

Without that line the walk deployed nothing and Argo CD showed Unknown, while every cub command exited 0. The walk ran the four commands in this order and did not try them without the first publish.

ConfigHub shows nothing when Argo CD fails to read a Release. Run kubectl -n argocd get applications.argoproj.io and read the Sync column, because Healthy alone is not a pass. Argo CD took between 18 seconds and about 5 minutes to read a Release on a cluster made without argobot.

The walk made its cluster with cub cluster up --no-argobot. That command creates two Spaces, a Worker, a Target and a Trigger, opens ports 30010 to 30019 on the machine, and installs Argo CD from an unpinned upstream manifest.

Removing the ConfigHub side does not remove the workload. In the walk, deleting the Application Unit and the Spaces left the Application and its pods running, because the root Application does not prune.

# clone the base onto a Target as a dev variant
$ cub variant create dev <your-space> --target workshop/target --space-pattern "template:<your-space>-dev"

# publish the Release that the cluster's Argo CD pulls
$ cub release publish <your-space>-dev

# delete the installer record, which Argo CD cannot read
$ cub unit delete --space <your-space>-dev installer-record

# publish again without it
$ cub release publish <your-space>-dev

5. Promote a change Not run for this entry

No promotion is recorded for this entry. Promotion carries a change in the base to the dev variant. The base changes when you edit a Unit or upload a newer version into the same Space. Read the log of the live walk on 2026-10-08.

The promotion changes the dev Space and publishes nothing. It also adds the installer-record Unit back with the Target. The change reaches the cluster only after the delete and the publish.

The preview lists the whole installer record as added. In the walk, the preview of a one-label change to gpu-operator ran to 405 lines, and about 400 of them were that record.

# preview what the dev variant would take from the base
$ cub variant promote <your-space>-dev --dry-run -o mutations

# promote once you have read the preview
$ cub variant promote <your-space>-dev --change-desc "Pull the reviewed base forward"

# delete the installer record that the promotion adds back
$ cub unit delete --space <your-space>-dev installer-record

# publish the Release that carries the change
$ cub release publish <your-space>-dev
Helm chart, base driver-580.105.08, version v26.3.3
What is fixed, and what you supply

Fixed when this entry was built. These went into the build, so the objects already carry them. To change one, build the entry again from its source.

  • chart is nvidia/gpu-operator
  • version is v26.3.3
  • base is driver-580.105.08
  • valuesProfile is recipes/nvidia/gpu-operator/v26.3.3/effective-values-driver-580.105.08.yaml
  • namespace is gpu-operator
  • releaseName is gpu-operator
  • capabilityProfile is {"apiVersions":[],"kubeVersion":"1.31.0"}

Yours to supply or check. The destination must have these before the objects are applied. The words in italics say what the Catalog knows about each.

  • gpu-operator CRD included in this base; it must be established before Kubernetes accepts the rendered ClusterPolicy object Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
This entry's plan, and how to test it

These are the steps that plain objects cannot carry. ConfigHub stores them and does not carry them out. The words in italics say what the Catalog knows about each.

  • When you deliver. Apply the 5 CustomResourceDefinition objects first. Wait until every named definition reports the Established condition. The listing gives the rest. Who: whatever applies the objects. Written down. Not run by the Catalog.
  • Around an upgrade. Before an upgrade, move the CRDs to the new version. Helm does not upgrade CRDs from a chart's crds directory, so the chart ships this Job. The listing gives the rest. Who: delivery workflow. Written down. Not run by the Catalog.
  • Around a delete. After deleting, prune node-feature-discovery labels from the nodes. The Job runs nfd-master -prune, which removes node-feature-discovery labels, annotations and taints from every node, with its own ServiceAccount, ClusterRole and ClusterRoleBinding. The listing gives the rest. Who: delivery workflow. Written down. Not run by the Catalog.

Test the plain objects yourself. This script tests the retained objects themselves with kubectl, and it needs no cub and no account. Read it first and use a throwaway cluster. The Catalog has no recorded run of this script.

Read what a plan is, and why some entries have one.

1. Get the exact objects Run for this entry

The Catalog rendered this entry and retains its 24 objects in one file.

An upload can create more Units than the objects counted here. The installer renders a Namespace, and the upload adds an installer-record Unit.

# fetch the retained objects for this entry
$ curl -fsSL -o nvidia-gpu-operator-v26-3-3-driver-580-105-08.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.3/revisions/driver-580.105.08/r001/rendered/release-objects.yaml

# check the bytes against the listing
$ shasum -a 256 nvidia-gpu-operator-v26-3-3-driver-580-105-08.yaml
3e9b98ac2f1753e1e53801e271b071ee590da1c7b5ab5278e1b5dadba9f87528  nvidia-gpu-operator-v26-3-3-driver-580-105-08.yaml

# render this base from the signed package; step 3 uploads this directory
$ cub installer setup --pull oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/nvidia-gpu-operator:v26.3.3@sha256:abd8475d6bfeabe88acc2d6a319a04054a9e84046d69926dcee4717674329a8f --base driver-580.105.08 --work-dir ./nvidia-gpu-operator-v26-3-3-driver-580-105-08 --non-interactive --namespace gpu-operator

2. Compare with another version or base Not run for this entry

The listing records no comparison for this entry. The commands run on the retained files, with no account. This version has 6 other bases in the Catalog, aicr-eks-training, default, driver-595.91.07, external-nfd, preinstalled-driver and preinstalled-driver-and-toolkit. The Catalog holds 3 other versions, v25.10.1, v26.3.2 and v26.7.1.

# fetch the default base of the same version
$ curl -fsSL -o nvidia-gpu-operator-v26-3-3-default.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.3/revisions/default/r001/rendered/release-objects.yaml

# list what differs between the two bases
$ cub config diff nvidia-gpu-operator-v26-3-3-driver-580-105-08.yaml nvidia-gpu-operator-v26-3-3-default.yaml --summary

# fetch the driver-580.105.08 base at version v26.3.2
$ curl -fsSL -o nvidia-gpu-operator-v26-3-2-driver-580-105-08.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.2/revisions/driver-580.105.08/r001/rendered/release-objects.yaml

# list what changed from v26.3.2 to v26.3.3
$ cub config diff nvidia-gpu-operator-v26-3-2-driver-580-105-08.yaml nvidia-gpu-operator-v26-3-3-driver-580-105-08.yaml --summary

3. Upload it as a variant Not run for this entry

The Catalog has not uploaded this entry. The commands use its signed installer package. Read the log of the live walk on 2026-10-08.

Replace each value in angle brackets with a name of your own. The entry id may already exist as a Space in your organization, and the package name as a Component.

In the live walk, a Space named for the nginx entry's id and a Component named bitnami-nginx already existed, so the walk chose its own names. The --component flag sets the Component label the upload writes on the Space, which is the package name when you omit it.

The cub installer plugin reads your organization from CUB_CONTEXT and ignores --context. If you use a context other than your default, export CUB_CONTEXT first, or the plugin works in your default organization.

# sign in; steps 3 to 5 write to your ConfigHub organization
$ cub auth login

# upload step 1's directory as a Space of Units, under names you choose
$ cub installer upload --work-dir ./nvidia-gpu-operator-v26-3-3-driver-580-105-08 --space <your-space> --component <your-component>

# list the Units the upload created
$ cub unit list --space <your-space>

4. Deploy it Not run for this entry

No delivery run is recorded for this entry. Argo CD has not run, Flux has not run, and kubectl has not run. The commands name the Target workshop/target, which cub cluster up --name workshop creates on a local kind cluster with Argo CD. Use your own Target for a real destination. The base carries 5 CRDs it needs, so the destination does not supply them. Read the log of the live walk on 2026-10-08.

Use the Space name you chose in step 3. The delete command is needed because the cloned installer-record Unit carries the Target and Argo CD v3.5.4 cannot read it, a defect seen on cub v0.8.7 and server v0.8.9.

Without that line the walk deployed nothing and Argo CD showed Unknown, while every cub command exited 0. The walk ran the four commands in this order and did not try them without the first publish.

ConfigHub shows nothing when Argo CD fails to read a Release. Run kubectl -n argocd get applications.argoproj.io and read the Sync column, because Healthy alone is not a pass. Argo CD took between 18 seconds and about 5 minutes to read a Release on a cluster made without argobot.

The walk made its cluster with cub cluster up --no-argobot. That command creates two Spaces, a Worker, a Target and a Trigger, opens ports 30010 to 30019 on the machine, and installs Argo CD from an unpinned upstream manifest.

Removing the ConfigHub side does not remove the workload. In the walk, deleting the Application Unit and the Spaces left the Application and its pods running, because the root Application does not prune.

# clone the base onto a Target as a dev variant
$ cub variant create dev <your-space> --target workshop/target --space-pattern "template:<your-space>-dev"

# publish the Release that the cluster's Argo CD pulls
$ cub release publish <your-space>-dev

# delete the installer record, which Argo CD cannot read
$ cub unit delete --space <your-space>-dev installer-record

# publish again without it
$ cub release publish <your-space>-dev

5. Promote a change Not run for this entry

No promotion is recorded for this entry. Promotion carries a change in the base to the dev variant. The base changes when you edit a Unit or upload a newer version into the same Space. Read the log of the live walk on 2026-10-08.

The promotion changes the dev Space and publishes nothing. It also adds the installer-record Unit back with the Target. The change reaches the cluster only after the delete and the publish.

The preview lists the whole installer record as added. In the walk, the preview of a one-label change to gpu-operator ran to 405 lines, and about 400 of them were that record.

# preview what the dev variant would take from the base
$ cub variant promote <your-space>-dev --dry-run -o mutations

# promote once you have read the preview
$ cub variant promote <your-space>-dev --change-desc "Pull the reviewed base forward"

# delete the installer record that the promotion adds back
$ cub unit delete --space <your-space>-dev installer-record

# publish the Release that carries the change
$ cub release publish <your-space>-dev
Helm chart, base driver-595.91.07, version v26.3.3
What is fixed, and what you supply

Fixed when this entry was built. These went into the build, so the objects already carry them. To change one, build the entry again from its source.

  • chart is nvidia/gpu-operator
  • version is v26.3.3
  • base is driver-595.91.07
  • valuesProfile is recipes/nvidia/gpu-operator/v26.3.3/effective-values-driver-595.91.07.yaml
  • namespace is gpu-operator
  • releaseName is gpu-operator
  • capabilityProfile is {"apiVersions":[],"kubeVersion":"1.31.0"}

Yours to supply or check. The destination must have these before the objects are applied. The words in italics say what the Catalog knows about each.

  • gpu-operator CRD included in this base; it must be established before Kubernetes accepts the rendered ClusterPolicy object Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
This entry's plan, and how to test it

These are the steps that plain objects cannot carry. ConfigHub stores them and does not carry them out. The words in italics say what the Catalog knows about each.

  • When you deliver. Apply the 5 CustomResourceDefinition objects first. Wait until every named definition reports the Established condition. The listing gives the rest. Who: whatever applies the objects. Written down. Not run by the Catalog.
  • Around an upgrade. Before an upgrade, move the CRDs to the new version. Helm does not upgrade CRDs from a chart's crds directory, so the chart ships this Job. The listing gives the rest. Who: delivery workflow. Written down. Not run by the Catalog.
  • Around a delete. After deleting, prune node-feature-discovery labels from the nodes. The Job runs nfd-master -prune, which removes node-feature-discovery labels, annotations and taints from every node, with its own ServiceAccount, ClusterRole and ClusterRoleBinding. The listing gives the rest. Who: delivery workflow. Written down. Not run by the Catalog.

Test the plain objects yourself. This script tests the retained objects themselves with kubectl, and it needs no cub and no account. Read it first and use a throwaway cluster. The Catalog has no recorded run of this script.

Read what a plan is, and why some entries have one.

1. Get the exact objects Run for this entry

The Catalog rendered this entry and retains its 24 objects in one file.

An upload can create more Units than the objects counted here. The installer renders a Namespace, and the upload adds an installer-record Unit.

# fetch the retained objects for this entry
$ curl -fsSL -o nvidia-gpu-operator-v26-3-3-driver-595-91-07.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.3/revisions/driver-595.91.07/r001/rendered/release-objects.yaml

# check the bytes against the listing
$ shasum -a 256 nvidia-gpu-operator-v26-3-3-driver-595-91-07.yaml
d14f2965c55aab8f9b5503562949c16fa1f86c205af48afcc11f87bdf4606838  nvidia-gpu-operator-v26-3-3-driver-595-91-07.yaml

# render this base from the signed package; step 3 uploads this directory
$ cub installer setup --pull oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/nvidia-gpu-operator:v26.3.3@sha256:abd8475d6bfeabe88acc2d6a319a04054a9e84046d69926dcee4717674329a8f --base driver-595.91.07 --work-dir ./nvidia-gpu-operator-v26-3-3-driver-595-91-07 --non-interactive --namespace gpu-operator

2. Compare with another version or base Not run for this entry

The listing records no comparison for this entry. The commands run on the retained files, with no account. This version has 6 other bases in the Catalog, aicr-eks-training, default, driver-580.105.08, external-nfd, preinstalled-driver and preinstalled-driver-and-toolkit. The Catalog holds 3 other versions, v25.10.1, v26.3.2 and v26.7.1.

# fetch the default base of the same version
$ curl -fsSL -o nvidia-gpu-operator-v26-3-3-default.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.3/revisions/default/r001/rendered/release-objects.yaml

# list what differs between the two bases
$ cub config diff nvidia-gpu-operator-v26-3-3-driver-595-91-07.yaml nvidia-gpu-operator-v26-3-3-default.yaml --summary

# fetch the driver-595.91.07 base at version v26.3.2
$ curl -fsSL -o nvidia-gpu-operator-v26-3-2-driver-595-91-07.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.2/revisions/driver-595.91.07/r001/rendered/release-objects.yaml

# list what changed from v26.3.2 to v26.3.3
$ cub config diff nvidia-gpu-operator-v26-3-2-driver-595-91-07.yaml nvidia-gpu-operator-v26-3-3-driver-595-91-07.yaml --summary

3. Upload it as a variant Not run for this entry

The Catalog has not uploaded this entry. The commands use its signed installer package. Read the log of the live walk on 2026-10-08.

Replace each value in angle brackets with a name of your own. The entry id may already exist as a Space in your organization, and the package name as a Component.

In the live walk, a Space named for the nginx entry's id and a Component named bitnami-nginx already existed, so the walk chose its own names. The --component flag sets the Component label the upload writes on the Space, which is the package name when you omit it.

The cub installer plugin reads your organization from CUB_CONTEXT and ignores --context. If you use a context other than your default, export CUB_CONTEXT first, or the plugin works in your default organization.

# sign in; steps 3 to 5 write to your ConfigHub organization
$ cub auth login

# upload step 1's directory as a Space of Units, under names you choose
$ cub installer upload --work-dir ./nvidia-gpu-operator-v26-3-3-driver-595-91-07 --space <your-space> --component <your-component>

# list the Units the upload created
$ cub unit list --space <your-space>

4. Deploy it Not run for this entry

No delivery run is recorded for this entry. Argo CD has not run, Flux has not run, and kubectl has not run. The commands name the Target workshop/target, which cub cluster up --name workshop creates on a local kind cluster with Argo CD. Use your own Target for a real destination. The base carries 5 CRDs it needs, so the destination does not supply them. Read the log of the live walk on 2026-10-08.

Use the Space name you chose in step 3. The delete command is needed because the cloned installer-record Unit carries the Target and Argo CD v3.5.4 cannot read it, a defect seen on cub v0.8.7 and server v0.8.9.

Without that line the walk deployed nothing and Argo CD showed Unknown, while every cub command exited 0. The walk ran the four commands in this order and did not try them without the first publish.

ConfigHub shows nothing when Argo CD fails to read a Release. Run kubectl -n argocd get applications.argoproj.io and read the Sync column, because Healthy alone is not a pass. Argo CD took between 18 seconds and about 5 minutes to read a Release on a cluster made without argobot.

The walk made its cluster with cub cluster up --no-argobot. That command creates two Spaces, a Worker, a Target and a Trigger, opens ports 30010 to 30019 on the machine, and installs Argo CD from an unpinned upstream manifest.

Removing the ConfigHub side does not remove the workload. In the walk, deleting the Application Unit and the Spaces left the Application and its pods running, because the root Application does not prune.

# clone the base onto a Target as a dev variant
$ cub variant create dev <your-space> --target workshop/target --space-pattern "template:<your-space>-dev"

# publish the Release that the cluster's Argo CD pulls
$ cub release publish <your-space>-dev

# delete the installer record, which Argo CD cannot read
$ cub unit delete --space <your-space>-dev installer-record

# publish again without it
$ cub release publish <your-space>-dev

5. Promote a change Not run for this entry

No promotion is recorded for this entry. Promotion carries a change in the base to the dev variant. The base changes when you edit a Unit or upload a newer version into the same Space. Read the log of the live walk on 2026-10-08.

The promotion changes the dev Space and publishes nothing. It also adds the installer-record Unit back with the Target. The change reaches the cluster only after the delete and the publish.

The preview lists the whole installer record as added. In the walk, the preview of a one-label change to gpu-operator ran to 405 lines, and about 400 of them were that record.

# preview what the dev variant would take from the base
$ cub variant promote <your-space>-dev --dry-run -o mutations

# promote once you have read the preview
$ cub variant promote <your-space>-dev --change-desc "Pull the reviewed base forward"

# delete the installer record that the promotion adds back
$ cub unit delete --space <your-space>-dev installer-record

# publish the Release that carries the change
$ cub release publish <your-space>-dev
Helm chart, base external-nfd, version v26.3.3
What is fixed, and what you supply

Fixed when this entry was built. These went into the build, so the objects already carry them. To change one, build the entry again from its source.

  • chart is nvidia/gpu-operator
  • version is v26.3.3
  • base is external-nfd
  • valuesProfile is recipes/nvidia/gpu-operator/v26.3.3/effective-values-external-nfd.yaml
  • namespace is gpu-operator
  • releaseName is gpu-operator
  • capabilityProfile is {"apiVersions":[],"kubeVersion":"1.31.0"}

Yours to supply or check. The destination must have these before the objects are applied. The words in italics say what the Catalog knows about each.

  • gpu-operator CRD included in this base; it must be established before Kubernetes accepts the rendered ClusterPolicy object Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
This entry's plan, and how to test it

These are the steps that plain objects cannot carry. ConfigHub stores them and does not carry them out. The words in italics say what the Catalog knows about each.

  • When you deliver. Apply the 2 CustomResourceDefinition objects first. Wait until every named definition reports the Established condition. The listing gives the rest. Who: whatever applies the objects. Written down. Not run by the Catalog.
  • Around an upgrade. Before an upgrade, move the CRDs to the new version. Helm does not upgrade CRDs from a chart's crds directory, so the chart ships this Job. The listing gives the rest. Who: delivery workflow. Written down. Not run by the Catalog.

Test the plain objects yourself. This script tests the retained objects themselves with kubectl, and it needs no cub and no account. Read it first and use a throwaway cluster. The Catalog has no recorded run of this script.

Read what a plan is, and why some entries have one.

1. Get the exact objects Run for this entry

The Catalog rendered this entry and retains its 9 objects in one file.

An upload can create more Units than the objects counted here. The installer renders a Namespace, and the upload adds an installer-record Unit.

# fetch the retained objects for this entry
$ curl -fsSL -o nvidia-gpu-operator-v26-3-3-external-nfd.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.3/revisions/external-nfd/r001/rendered/release-objects.yaml

# check the bytes against the listing
$ shasum -a 256 nvidia-gpu-operator-v26-3-3-external-nfd.yaml
cb21107fdf6b6e1efee9c20074ed1969f7780e81e27ac73e67eb2b3d751b241d  nvidia-gpu-operator-v26-3-3-external-nfd.yaml

# render this base from the signed package; step 3 uploads this directory
$ cub installer setup --pull oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/nvidia-gpu-operator:v26.3.3@sha256:abd8475d6bfeabe88acc2d6a319a04054a9e84046d69926dcee4717674329a8f --base external-nfd --work-dir ./nvidia-gpu-operator-v26-3-3-external-nfd --non-interactive --namespace gpu-operator

2. Compare with another version or base Not run for this entry

The listing records no comparison for this entry. The commands run on the retained files, with no account. This version has 6 other bases in the Catalog, aicr-eks-training, default, driver-580.105.08, driver-595.91.07, preinstalled-driver and preinstalled-driver-and-toolkit. The Catalog holds 3 other versions, v25.10.1, v26.3.2 and v26.7.1.

# fetch the default base of the same version
$ curl -fsSL -o nvidia-gpu-operator-v26-3-3-default.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.3/revisions/default/r001/rendered/release-objects.yaml

# list what differs between the two bases
$ cub config diff nvidia-gpu-operator-v26-3-3-external-nfd.yaml nvidia-gpu-operator-v26-3-3-default.yaml --summary

# fetch the external-nfd base at version v26.3.2
$ curl -fsSL -o nvidia-gpu-operator-v26-3-2-external-nfd.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.2/revisions/external-nfd/r001/rendered/release-objects.yaml

# list what changed from v26.3.2 to v26.3.3
$ cub config diff nvidia-gpu-operator-v26-3-2-external-nfd.yaml nvidia-gpu-operator-v26-3-3-external-nfd.yaml --summary

3. Upload it as a variant Not run for this entry

The Catalog has not uploaded this entry. The commands use its signed installer package. Read the log of the live walk on 2026-10-08.

Replace each value in angle brackets with a name of your own. The entry id may already exist as a Space in your organization, and the package name as a Component.

In the live walk, a Space named for the nginx entry's id and a Component named bitnami-nginx already existed, so the walk chose its own names. The --component flag sets the Component label the upload writes on the Space, which is the package name when you omit it.

The cub installer plugin reads your organization from CUB_CONTEXT and ignores --context. If you use a context other than your default, export CUB_CONTEXT first, or the plugin works in your default organization.

# sign in; steps 3 to 5 write to your ConfigHub organization
$ cub auth login

# upload step 1's directory as a Space of Units, under names you choose
$ cub installer upload --work-dir ./nvidia-gpu-operator-v26-3-3-external-nfd --space <your-space> --component <your-component>

# list the Units the upload created
$ cub unit list --space <your-space>

4. Deploy it Not run for this entry

No delivery run is recorded for this entry. Argo CD has not run, Flux has not run, and kubectl has not run. The commands name the Target workshop/target, which cub cluster up --name workshop creates on a local kind cluster with Argo CD. Use your own Target for a real destination. The base carries 2 CRDs it needs, so the destination does not supply them. Read the log of the live walk on 2026-10-08.

Use the Space name you chose in step 3. The delete command is needed because the cloned installer-record Unit carries the Target and Argo CD v3.5.4 cannot read it, a defect seen on cub v0.8.7 and server v0.8.9.

Without that line the walk deployed nothing and Argo CD showed Unknown, while every cub command exited 0. The walk ran the four commands in this order and did not try them without the first publish.

ConfigHub shows nothing when Argo CD fails to read a Release. Run kubectl -n argocd get applications.argoproj.io and read the Sync column, because Healthy alone is not a pass. Argo CD took between 18 seconds and about 5 minutes to read a Release on a cluster made without argobot.

The walk made its cluster with cub cluster up --no-argobot. That command creates two Spaces, a Worker, a Target and a Trigger, opens ports 30010 to 30019 on the machine, and installs Argo CD from an unpinned upstream manifest.

Removing the ConfigHub side does not remove the workload. In the walk, deleting the Application Unit and the Spaces left the Application and its pods running, because the root Application does not prune.

# clone the base onto a Target as a dev variant
$ cub variant create dev <your-space> --target workshop/target --space-pattern "template:<your-space>-dev"

# publish the Release that the cluster's Argo CD pulls
$ cub release publish <your-space>-dev

# delete the installer record, which Argo CD cannot read
$ cub unit delete --space <your-space>-dev installer-record

# publish again without it
$ cub release publish <your-space>-dev

5. Promote a change Not run for this entry

No promotion is recorded for this entry. Promotion carries a change in the base to the dev variant. The base changes when you edit a Unit or upload a newer version into the same Space. Read the log of the live walk on 2026-10-08.

The promotion changes the dev Space and publishes nothing. It also adds the installer-record Unit back with the Target. The change reaches the cluster only after the delete and the publish.

The preview lists the whole installer record as added. In the walk, the preview of a one-label change to gpu-operator ran to 405 lines, and about 400 of them were that record.

# preview what the dev variant would take from the base
$ cub variant promote <your-space>-dev --dry-run -o mutations

# promote once you have read the preview
$ cub variant promote <your-space>-dev --change-desc "Pull the reviewed base forward"

# delete the installer record that the promotion adds back
$ cub unit delete --space <your-space>-dev installer-record

# publish the Release that carries the change
$ cub release publish <your-space>-dev
Helm chart, base preinstalled-driver, version v26.3.3
What is fixed, and what you supply

Fixed when this entry was built. These went into the build, so the objects already carry them. To change one, build the entry again from its source.

  • chart is nvidia/gpu-operator
  • version is v26.3.3
  • base is preinstalled-driver
  • valuesProfile is recipes/nvidia/gpu-operator/v26.3.3/effective-values-preinstalled-driver.yaml
  • namespace is gpu-operator
  • releaseName is gpu-operator
  • capabilityProfile is {"apiVersions":[],"kubeVersion":"1.31.0"}

Yours to supply or check. The destination must have these before the objects are applied. The words in italics say what the Catalog knows about each.

  • gpu-operator CRD included in this base; it must be established before Kubernetes accepts the rendered ClusterPolicy object Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
This entry's plan, and how to test it

These are the steps that plain objects cannot carry. ConfigHub stores them and does not carry them out. The words in italics say what the Catalog knows about each.

  • When you deliver. Apply the 5 CustomResourceDefinition objects first. Wait until every named definition reports the Established condition. The listing gives the rest. Who: whatever applies the objects. Written down. Not run by the Catalog.
  • Around an upgrade. Before an upgrade, move the CRDs to the new version. Helm does not upgrade CRDs from a chart's crds directory, so the chart ships this Job. The listing gives the rest. Who: delivery workflow. Written down. Not run by the Catalog.
  • Around a delete. After deleting, prune node-feature-discovery labels from the nodes. The Job runs nfd-master -prune, which removes node-feature-discovery labels, annotations and taints from every node, with its own ServiceAccount, ClusterRole and ClusterRoleBinding. The listing gives the rest. Who: delivery workflow. Written down. Not run by the Catalog.

Test the plain objects yourself. This script tests the retained objects themselves with kubectl, and it needs no cub and no account. Read it first and use a throwaway cluster. The Catalog has no recorded run of this script.

Read what a plan is, and why some entries have one.

1. Get the exact objects Run for this entry

The Catalog rendered this entry and retains its 24 objects in one file.

An upload can create more Units than the objects counted here. The installer renders a Namespace, and the upload adds an installer-record Unit.

# fetch the retained objects for this entry
$ curl -fsSL -o nvidia-gpu-operator-v26-3-3-preinstalled-driver.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.3/revisions/preinstalled-driver/r001/rendered/release-objects.yaml

# check the bytes against the listing
$ shasum -a 256 nvidia-gpu-operator-v26-3-3-preinstalled-driver.yaml
a683f3569297e0bec21311881018d80b25feacabc15939acef49b045b18fc627  nvidia-gpu-operator-v26-3-3-preinstalled-driver.yaml

# render this base from the signed package; step 3 uploads this directory
$ cub installer setup --pull oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/nvidia-gpu-operator:v26.3.3@sha256:abd8475d6bfeabe88acc2d6a319a04054a9e84046d69926dcee4717674329a8f --base preinstalled-driver --work-dir ./nvidia-gpu-operator-v26-3-3-preinstalled-driver --non-interactive --namespace gpu-operator

2. Compare with another version or base Not run for this entry

The listing records no comparison for this entry. The commands run on the retained files, with no account. This version has 6 other bases in the Catalog, aicr-eks-training, default, driver-580.105.08, driver-595.91.07, external-nfd and preinstalled-driver-and-toolkit. The Catalog holds 3 other versions, v25.10.1, v26.3.2 and v26.7.1.

# fetch the default base of the same version
$ curl -fsSL -o nvidia-gpu-operator-v26-3-3-default.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.3/revisions/default/r001/rendered/release-objects.yaml

# list what differs between the two bases
$ cub config diff nvidia-gpu-operator-v26-3-3-preinstalled-driver.yaml nvidia-gpu-operator-v26-3-3-default.yaml --summary

# fetch the preinstalled-driver base at version v26.3.2
$ curl -fsSL -o nvidia-gpu-operator-v26-3-2-preinstalled-driver.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.2/revisions/preinstalled-driver/r001/rendered/release-objects.yaml

# list what changed from v26.3.2 to v26.3.3
$ cub config diff nvidia-gpu-operator-v26-3-2-preinstalled-driver.yaml nvidia-gpu-operator-v26-3-3-preinstalled-driver.yaml --summary

3. Upload it as a variant Not run for this entry

The Catalog has not uploaded this entry. The commands use its signed installer package. Read the log of the live walk on 2026-10-08.

Replace each value in angle brackets with a name of your own. The entry id may already exist as a Space in your organization, and the package name as a Component.

In the live walk, a Space named for the nginx entry's id and a Component named bitnami-nginx already existed, so the walk chose its own names. The --component flag sets the Component label the upload writes on the Space, which is the package name when you omit it.

The cub installer plugin reads your organization from CUB_CONTEXT and ignores --context. If you use a context other than your default, export CUB_CONTEXT first, or the plugin works in your default organization.

# sign in; steps 3 to 5 write to your ConfigHub organization
$ cub auth login

# upload step 1's directory as a Space of Units, under names you choose
$ cub installer upload --work-dir ./nvidia-gpu-operator-v26-3-3-preinstalled-driver --space <your-space> --component <your-component>

# list the Units the upload created
$ cub unit list --space <your-space>

4. Deploy it Not run for this entry

No delivery run is recorded for this entry. Argo CD has not run, Flux has not run, and kubectl has not run. The commands name the Target workshop/target, which cub cluster up --name workshop creates on a local kind cluster with Argo CD. Use your own Target for a real destination. The base carries 5 CRDs it needs, so the destination does not supply them. Read the log of the live walk on 2026-10-08.

Use the Space name you chose in step 3. The delete command is needed because the cloned installer-record Unit carries the Target and Argo CD v3.5.4 cannot read it, a defect seen on cub v0.8.7 and server v0.8.9.

Without that line the walk deployed nothing and Argo CD showed Unknown, while every cub command exited 0. The walk ran the four commands in this order and did not try them without the first publish.

ConfigHub shows nothing when Argo CD fails to read a Release. Run kubectl -n argocd get applications.argoproj.io and read the Sync column, because Healthy alone is not a pass. Argo CD took between 18 seconds and about 5 minutes to read a Release on a cluster made without argobot.

The walk made its cluster with cub cluster up --no-argobot. That command creates two Spaces, a Worker, a Target and a Trigger, opens ports 30010 to 30019 on the machine, and installs Argo CD from an unpinned upstream manifest.

Removing the ConfigHub side does not remove the workload. In the walk, deleting the Application Unit and the Spaces left the Application and its pods running, because the root Application does not prune.

# clone the base onto a Target as a dev variant
$ cub variant create dev <your-space> --target workshop/target --space-pattern "template:<your-space>-dev"

# publish the Release that the cluster's Argo CD pulls
$ cub release publish <your-space>-dev

# delete the installer record, which Argo CD cannot read
$ cub unit delete --space <your-space>-dev installer-record

# publish again without it
$ cub release publish <your-space>-dev

5. Promote a change Not run for this entry

No promotion is recorded for this entry. Promotion carries a change in the base to the dev variant. The base changes when you edit a Unit or upload a newer version into the same Space. Read the log of the live walk on 2026-10-08.

The promotion changes the dev Space and publishes nothing. It also adds the installer-record Unit back with the Target. The change reaches the cluster only after the delete and the publish.

The preview lists the whole installer record as added. In the walk, the preview of a one-label change to gpu-operator ran to 405 lines, and about 400 of them were that record.

# preview what the dev variant would take from the base
$ cub variant promote <your-space>-dev --dry-run -o mutations

# promote once you have read the preview
$ cub variant promote <your-space>-dev --change-desc "Pull the reviewed base forward"

# delete the installer record that the promotion adds back
$ cub unit delete --space <your-space>-dev installer-record

# publish the Release that carries the change
$ cub release publish <your-space>-dev
Helm chart, base preinstalled-driver-and-toolkit, version v26.3.3
What is fixed, and what you supply

Fixed when this entry was built. These went into the build, so the objects already carry them. To change one, build the entry again from its source.

  • chart is nvidia/gpu-operator
  • version is v26.3.3
  • base is preinstalled-driver-and-toolkit
  • valuesProfile is recipes/nvidia/gpu-operator/v26.3.3/effective-values-preinstalled-driver-and-toolkit.yaml
  • namespace is gpu-operator
  • releaseName is gpu-operator
  • capabilityProfile is {"apiVersions":[],"kubeVersion":"1.31.0"}

Yours to supply or check. The destination must have these before the objects are applied. The words in italics say what the Catalog knows about each.

  • gpu-operator CRD included in this base; it must be established before Kubernetes accepts the rendered ClusterPolicy object Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
  • CRD included in this base and applied before the workloads that use it Declared. Not checked on any destination.
This entry's plan, and how to test it

These are the steps that plain objects cannot carry. ConfigHub stores them and does not carry them out. The words in italics say what the Catalog knows about each.

  • When you deliver. Apply the 5 CustomResourceDefinition objects first. Wait until every named definition reports the Established condition. The listing gives the rest. Who: whatever applies the objects. Written down. Not run by the Catalog.
  • Around an upgrade. Before an upgrade, move the CRDs to the new version. Helm does not upgrade CRDs from a chart's crds directory, so the chart ships this Job. The listing gives the rest. Who: delivery workflow. Written down. Not run by the Catalog.
  • Around a delete. After deleting, prune node-feature-discovery labels from the nodes. The Job runs nfd-master -prune, which removes node-feature-discovery labels, annotations and taints from every node, with its own ServiceAccount, ClusterRole and ClusterRoleBinding. The listing gives the rest. Who: delivery workflow. Written down. Not run by the Catalog.

Test the plain objects yourself. This script tests the retained objects themselves with kubectl, and it needs no cub and no account. Read it first and use a throwaway cluster. The Catalog has no recorded run of this script.

Read what a plan is, and why some entries have one.

1. Get the exact objects Run for this entry

The Catalog rendered this entry and retains its 24 objects in one file.

An upload can create more Units than the objects counted here. The installer renders a Namespace, and the upload adds an installer-record Unit.

# fetch the retained objects for this entry
$ curl -fsSL -o nvidia-gpu-operator-v26-3-3-preinstalled-driver-and-toolkit.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.3/revisions/preinstalled-driver-and-toolkit/r001/rendered/release-objects.yaml

# check the bytes against the listing
$ shasum -a 256 nvidia-gpu-operator-v26-3-3-preinstalled-driver-and-toolkit.yaml
f6db512d2f6196493b14208565922fb804bcb63c6570c960b85d4c97d7c39569  nvidia-gpu-operator-v26-3-3-preinstalled-driver-and-toolkit.yaml

# render this base from the signed package; step 3 uploads this directory
$ cub installer setup --pull oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/nvidia-gpu-operator:v26.3.3@sha256:abd8475d6bfeabe88acc2d6a319a04054a9e84046d69926dcee4717674329a8f --base preinstalled-driver-and-toolkit --work-dir ./nvidia-gpu-operator-v26-3-3-preinstalled-driver-and-toolkit --non-interactive --namespace gpu-operator

2. Compare with another version or base Not run for this entry

The listing records no comparison for this entry. The commands run on the retained files, with no account. This version has 6 other bases in the Catalog, aicr-eks-training, default, driver-580.105.08, driver-595.91.07, external-nfd and preinstalled-driver. The Catalog holds 3 other versions, v25.10.1, v26.3.2 and v26.7.1.

# fetch the default base of the same version
$ curl -fsSL -o nvidia-gpu-operator-v26-3-3-default.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.3/revisions/default/r001/rendered/release-objects.yaml

# list what differs between the two bases
$ cub config diff nvidia-gpu-operator-v26-3-3-preinstalled-driver-and-toolkit.yaml nvidia-gpu-operator-v26-3-3-default.yaml --summary

# fetch the preinstalled-driver-and-toolkit base at version v26.3.2
$ curl -fsSL -o nvidia-gpu-operator-v26-3-2-preinstalled-driver-and-toolkit.yaml https://raw.githubusercontent.com/confighub/helm-expt/main/recipes/nvidia/gpu-operator/v26.3.2/revisions/preinstalled-driver-and-toolkit/r001/rendered/release-objects.yaml

# list what changed from v26.3.2 to v26.3.3
$ cub config diff nvidia-gpu-operator-v26-3-2-preinstalled-driver-and-toolkit.yaml nvidia-gpu-operator-v26-3-3-preinstalled-driver-and-toolkit.yaml --summary

3. Upload it as a variant Not run for this entry

The Catalog has not uploaded this entry. The commands use its signed installer package. Read the log of the live walk on 2026-10-08.

Replace each value in angle brackets with a name of your own. The entry id may already exist as a Space in your organization, and the package name as a Component.

In the live walk, a Space named for the nginx entry's id and a Component named bitnami-nginx already existed, so the walk chose its own names. The --component flag sets the Component label the upload writes on the Space, which is the package name when you omit it.

The cub installer plugin reads your organization from CUB_CONTEXT and ignores --context. If you use a context other than your default, export CUB_CONTEXT first, or the plugin works in your default organization.

# sign in; steps 3 to 5 write to your ConfigHub organization
$ cub auth login

# upload step 1's directory as a Space of Units, under names you choose
$ cub installer upload --work-dir ./nvidia-gpu-operator-v26-3-3-preinstalled-driver-and-toolkit --space <your-space> --component <your-component>

# list the Units the upload created
$ cub unit list --space <your-space>

4. Deploy it Not run for this entry

No delivery run is recorded for this entry. Argo CD has not run, Flux has not run, and kubectl has not run. The commands name the Target workshop/target, which cub cluster up --name workshop creates on a local kind cluster with Argo CD. Use your own Target for a real destination. The base carries 5 CRDs it needs, so the destination does not supply them. Read the log of the live walk on 2026-10-08.

Use the Space name you chose in step 3. The delete command is needed because the cloned installer-record Unit carries the Target and Argo CD v3.5.4 cannot read it, a defect seen on cub v0.8.7 and server v0.8.9.

Without that line the walk deployed nothing and Argo CD showed Unknown, while every cub command exited 0. The walk ran the four commands in this order and did not try them without the first publish.

ConfigHub shows nothing when Argo CD fails to read a Release. Run kubectl -n argocd get applications.argoproj.io and read the Sync column, because Healthy alone is not a pass. Argo CD took between 18 seconds and about 5 minutes to read a Release on a cluster made without argobot.

The walk made its cluster with cub cluster up --no-argobot. That command creates two Spaces, a Worker, a Target and a Trigger, opens ports 30010 to 30019 on the machine, and installs Argo CD from an unpinned upstream manifest.

Removing the ConfigHub side does not remove the workload. In the walk, deleting the Application Unit and the Spaces left the Application and its pods running, because the root Application does not prune.

# clone the base onto a Target as a dev variant
$ cub variant create dev <your-space> --target workshop/target --space-pattern "template:<your-space>-dev"

# publish the Release that the cluster's Argo CD pulls
$ cub release publish <your-space>-dev

# delete the installer record, which Argo CD cannot read
$ cub unit delete --space <your-space>-dev installer-record

# publish again without it
$ cub release publish <your-space>-dev

5. Promote a change Not run for this entry

No promotion is recorded for this entry. Promotion carries a change in the base to the dev variant. The base changes when you edit a Unit or upload a newer version into the same Space. Read the log of the live walk on 2026-10-08.

The promotion changes the dev Space and publishes nothing. It also adds the installer-record Unit back with the Target. The change reaches the cluster only after the delete and the publish.

The preview lists the whole installer record as added. In the walk, the preview of a one-label change to gpu-operator ran to 405 lines, and about 400 of them were that record.

# preview what the dev variant would take from the base
$ cub variant promote <your-space>-dev --dry-run -o mutations

# promote once you have read the preview
$ cub variant promote <your-space>-dev --change-desc "Pull the reviewed base forward"

# delete the installer record that the promotion adds back
$ cub unit delete --space <your-space>-dev installer-record

# publish the Release that carries the change
$ cub release publish <your-space>-dev

Available Configurations

  • default - package default
  • driver-580.105.08
  • driver-595.91.07
  • preinstalled-driver
  • preinstalled-driver-and-toolkit
  • external-nfd
  • aicr-eks-training

The section below says what these configurations expect you to provide.

Local Configuration Checks

We ran cub check v0.7.3 against the exact rendered objects for every configuration below. The result is advisory: read each finding and decide whether it matters for your target.

Scanner and ruleset identity

Pattern bundle: v0.7.3
Bundle manifest: sha256:0405f6ffe21e567adf5d6a732d181c7f228194920456d046b4338baeb14de1a8
Risk catalog: sha256:7ff79a126ad99bba2505fec8b2b7711c03f50eb362141128ec1c83e27a5036ba

ConfigurationAdvisory resultExact inputCheckedEvidence
aicr-eks-training8 advisory findings
3 critical, 4 warning, 1 info
ClusterPolicy with empty rules causes panic
Container does not set runAsNonRoot
Container does not disable allowPrivilegeEscalation
10 objects
sha256:bb8f4463d4d8f20baaf39d881b326c807d390f7c366710dfa8659554a58d4f57
2026-10-08Full cub check result
Exact YAML
Separate Catalog review
default15 advisory findings
5 critical, 7 warning, 3 info
ClusterPolicy with empty rules causes panic
Container does not set runAsNonRoot
Container does not disable allowPrivilegeEscalation
24 objects
sha256:28a84c191250d8559da960f223b0be28b26a410fec0d5fc7f3031f08b4aa34e2
2026-10-08Full cub check result
Exact YAML
Separate Catalog review
driver-580.105.0815 advisory findings
5 critical, 7 warning, 3 info
ClusterPolicy with empty rules causes panic
Container does not set runAsNonRoot
Container does not disable allowPrivilegeEscalation
24 objects
sha256:e1ee64ca607029d3b2c90f3f9a81668e647f3a5059de5f35b9d1d7bbf1192888
2026-10-08Full cub check result
Exact YAML
Separate Catalog review
driver-595.91.0715 advisory findings
5 critical, 7 warning, 3 info
ClusterPolicy with empty rules causes panic
Container does not set runAsNonRoot
Container does not disable allowPrivilegeEscalation
24 objects
sha256:f219f9fde0bb6cc04660965c141ad78c3a43f95b35cbdcf3c57e48aabf497abc
2026-10-08Full cub check result
Exact YAML
Separate Catalog review
external-nfd8 advisory findings
3 critical, 4 warning, 1 info
ClusterPolicy with empty rules causes panic
Container does not set runAsNonRoot
Container does not disable allowPrivilegeEscalation
9 objects
sha256:cd536a3e5f9c82d0dfceb4f9bc8eae6d11ec4646c201c82d90abf401ef727a8c
2026-10-08Full cub check result
Exact YAML
Separate Catalog review
preinstalled-driver15 advisory findings
5 critical, 7 warning, 3 info
ClusterPolicy with empty rules causes panic
Container does not set runAsNonRoot
Container does not disable allowPrivilegeEscalation
24 objects
sha256:a89dda993f8e1361084fadab449070a26573bd09da26b325c6a7c2eada7f7cda
2026-10-08Full cub check result
Exact YAML
Separate Catalog review
preinstalled-driver-and-toolkit15 advisory findings
5 critical, 7 warning, 3 info
ClusterPolicy with empty rules causes panic
Container does not set runAsNonRoot
Container does not disable allowPrivilegeEscalation
24 objects
sha256:494705d414aeec4add9fd5d33fb3a75aa9900657adc4685efce1131b0cd94cb6
2026-10-08Full cub check result
Exact YAML
Separate Catalog review

What this does not check: hook execution, CRD readiness, target Secrets and cloud services, admission behavior, workload health, or rollback. The linked Catalog review covers chart-specific source and operating questions. ConfigHub validation and approval are separate managed controls.

Read all shared check results and the mapping to Catalog rules.

What This Chart Contains

Shipping a chart as plain rendered YAML is faster and simpler, and it silently drops anything Helm was going to do afterwards. This section reports what a scan of the packaged chart found, across 43 files.

ConstructFoundWhy it matters when a chart ships as plain YAML
Helm hooks9Hook Jobs never fire, or fire under a different hook dialect.
Keep policy1A reconciler prunes what Helm promised to keep.
Custom resource definitions6Per-file delivery can race the definitions the resources depend on.
Condition-gated subcharts1What renders depends on which conditions the values switch on.

A flattening-safety verdict has decided this version: aicr-eks-training:flatten-with-routes; default:flatten-with-routes; driver-580.105.08:flatten-with-routes; driver-595.91.07:flatten-with-routes; external-nfd:flatten-with-routes; preinstalled-driver-and-toolkit:flatten-with-routes; preinstalled-driver:flatten-with-routes. The verdict records one disposition per construct and names any companion artifact a flattened bundle must ship. What the flattening verdict means.

A construct being present does not make a chart unflattenable. Most are switched on or off by values, and a verdict records which ones the base you choose actually reaches. Read the catalog-wide evidence for how common each one is.

Images This Chart Pulls

Every reference below is read from the committed package bases, so what you see is what the packaged manifests name.

Packaged baseImage references
defaultcontainer-toolkit
dcgm
dcgm-exporter
default: nvcr.io/nvidia/driver
description: CC Manager image name
description: GDRCopy driver image name
description: GFD image name
description: Image represents NVIDIA Driver Manager image
description: Image represents NVIDIA Driver Manager image name
description: Image represents image name
description: Kata Manager image name
description: NVIDIA Container Toolkit image name
description: NVIDIA DCGM Exporter image name
description: NVIDIA DCGM image name
description: NVIDIA Device Plugin image name
description: NVIDIA Driver image name
description: NVIDIA GDRCopy driver image name
description: NVIDIA GPUDirect Storage Driver image name
description: NVIDIA MIG Manager image name
description: NVIDIA Sandbox Device Plugin image name
description: NVIDIA component image name
description: NVIDIA vGPU Device Manager image name
description: NVIDIA vGPU Manager image name
description: Node Status Exporter image name
description: VFIO Manager image name
description: Validator image name
driver
gdrdrv
gpu-operator
k8s-cc-manager
k8s-device-plugin
k8s-driver-manager
k8s-mig-manager
kubevirt-gpu-device-plugin
nvcr.io/nvidia/gpu-operator:v26.3.3
nvidia-fs
nvidia-sandbox-device-plugin
registry.k8s.io/nfd/node-feature-discovery:v0.18.3
vgpu-device-manager
vgpu-manager
driver-580.105.08container-toolkit
dcgm
dcgm-exporter
default: nvcr.io/nvidia/driver
description: CC Manager image name
description: GDRCopy driver image name
description: GFD image name
description: Image represents NVIDIA Driver Manager image
description: Image represents NVIDIA Driver Manager image name
description: Image represents image name
description: Kata Manager image name
description: NVIDIA Container Toolkit image name
description: NVIDIA DCGM Exporter image name
description: NVIDIA DCGM image name
description: NVIDIA Device Plugin image name
description: NVIDIA Driver image name
description: NVIDIA GDRCopy driver image name
description: NVIDIA GPUDirect Storage Driver image name
description: NVIDIA MIG Manager image name
description: NVIDIA Sandbox Device Plugin image name
description: NVIDIA component image name
description: NVIDIA vGPU Device Manager image name
description: NVIDIA vGPU Manager image name
description: Node Status Exporter image name
description: VFIO Manager image name
description: Validator image name
driver
gdrdrv
gpu-operator
k8s-cc-manager
k8s-device-plugin
k8s-driver-manager
k8s-mig-manager
kubevirt-gpu-device-plugin
nvcr.io/nvidia/gpu-operator:v26.3.3
nvidia-fs
nvidia-sandbox-device-plugin
registry.k8s.io/nfd/node-feature-discovery:v0.18.3
vgpu-device-manager
vgpu-manager
driver-595.91.07container-toolkit
dcgm
dcgm-exporter
default: nvcr.io/nvidia/driver
description: CC Manager image name
description: GDRCopy driver image name
description: GFD image name
description: Image represents NVIDIA Driver Manager image
description: Image represents NVIDIA Driver Manager image name
description: Image represents image name
description: Kata Manager image name
description: NVIDIA Container Toolkit image name
description: NVIDIA DCGM Exporter image name
description: NVIDIA DCGM image name
description: NVIDIA Device Plugin image name
description: NVIDIA Driver image name
description: NVIDIA GDRCopy driver image name
description: NVIDIA GPUDirect Storage Driver image name
description: NVIDIA MIG Manager image name
description: NVIDIA Sandbox Device Plugin image name
description: NVIDIA component image name
description: NVIDIA vGPU Device Manager image name
description: NVIDIA vGPU Manager image name
description: Node Status Exporter image name
description: VFIO Manager image name
description: Validator image name
driver
gdrdrv
gpu-operator
k8s-cc-manager
k8s-device-plugin
k8s-driver-manager
k8s-mig-manager
kubevirt-gpu-device-plugin
nvcr.io/nvidia/gpu-operator:v26.3.3
nvidia-fs
nvidia-sandbox-device-plugin
registry.k8s.io/nfd/node-feature-discovery:v0.18.3
vgpu-device-manager
vgpu-manager
preinstalled-drivercontainer-toolkit
dcgm
dcgm-exporter
default: nvcr.io/nvidia/driver
description: CC Manager image name
description: GDRCopy driver image name
description: GFD image name
description: Image represents NVIDIA Driver Manager image
description: Image represents NVIDIA Driver Manager image name
description: Image represents image name
description: Kata Manager image name
description: NVIDIA Container Toolkit image name
description: NVIDIA DCGM Exporter image name
description: NVIDIA DCGM image name
description: NVIDIA Device Plugin image name
description: NVIDIA Driver image name
description: NVIDIA GDRCopy driver image name
description: NVIDIA GPUDirect Storage Driver image name
description: NVIDIA MIG Manager image name
description: NVIDIA Sandbox Device Plugin image name
description: NVIDIA component image name
description: NVIDIA vGPU Device Manager image name
description: NVIDIA vGPU Manager image name
description: Node Status Exporter image name
description: VFIO Manager image name
description: Validator image name
driver
gdrdrv
gpu-operator
k8s-cc-manager
k8s-device-plugin
k8s-driver-manager
k8s-mig-manager
kubevirt-gpu-device-plugin
nvcr.io/nvidia/gpu-operator:v26.3.3
nvidia-fs
nvidia-sandbox-device-plugin
registry.k8s.io/nfd/node-feature-discovery:v0.18.3
vgpu-device-manager
vgpu-manager
preinstalled-driver-and-toolkitcontainer-toolkit
dcgm
dcgm-exporter
default: nvcr.io/nvidia/driver
description: CC Manager image name
description: GDRCopy driver image name
description: GFD image name
description: Image represents NVIDIA Driver Manager image
description: Image represents NVIDIA Driver Manager image name
description: Image represents image name
description: Kata Manager image name
description: NVIDIA Container Toolkit image name
description: NVIDIA DCGM Exporter image name
description: NVIDIA DCGM image name
description: NVIDIA Device Plugin image name
description: NVIDIA Driver image name
description: NVIDIA GDRCopy driver image name
description: NVIDIA GPUDirect Storage Driver image name
description: NVIDIA MIG Manager image name
description: NVIDIA Sandbox Device Plugin image name
description: NVIDIA component image name
description: NVIDIA vGPU Device Manager image name
description: NVIDIA vGPU Manager image name
description: Node Status Exporter image name
description: VFIO Manager image name
description: Validator image name
driver
gdrdrv
gpu-operator
k8s-cc-manager
k8s-device-plugin
k8s-driver-manager
k8s-mig-manager
kubevirt-gpu-device-plugin
nvcr.io/nvidia/gpu-operator:v26.3.3
nvidia-fs
nvidia-sandbox-device-plugin
registry.k8s.io/nfd/node-feature-discovery:v0.18.3
vgpu-device-manager
vgpu-manager
external-nfdcontainer-toolkit
dcgm
dcgm-exporter
default: nvcr.io/nvidia/driver
description: CC Manager image name
description: GDRCopy driver image name
description: GFD image name
description: Image represents NVIDIA Driver Manager image
description: Image represents NVIDIA Driver Manager image name
description: Image represents image name
description: Kata Manager image name
description: NVIDIA Container Toolkit image name
description: NVIDIA DCGM Exporter image name
description: NVIDIA DCGM image name
description: NVIDIA Device Plugin image name
description: NVIDIA Driver image name
description: NVIDIA GDRCopy driver image name
description: NVIDIA GPUDirect Storage Driver image name
description: NVIDIA MIG Manager image name
description: NVIDIA Sandbox Device Plugin image name
description: NVIDIA component image name
description: NVIDIA vGPU Device Manager image name
description: NVIDIA vGPU Manager image name
description: Node Status Exporter image name
description: VFIO Manager image name
description: Validator image name
driver
gdrdrv
gpu-operator
k8s-cc-manager
k8s-device-plugin
k8s-driver-manager
k8s-mig-manager
kubevirt-gpu-device-plugin
nvcr.io/nvidia/gpu-operator:v26.3.3
nvidia-fs
nvidia-sandbox-device-plugin
vgpu-device-manager
vgpu-manager
aicr-eks-trainingcontainer-toolkit
dcgm
dcgm-exporter
default: nvcr.io/nvidia/driver
description: CC Manager image name
description: GDRCopy driver image name
description: GFD image name
description: Image represents NVIDIA Driver Manager image
description: Image represents NVIDIA Driver Manager image name
description: Image represents image name
description: Kata Manager image name
description: NVIDIA Container Toolkit image name
description: NVIDIA DCGM Exporter image name
description: NVIDIA DCGM image name
description: NVIDIA Device Plugin image name
description: NVIDIA Driver image name
description: NVIDIA GDRCopy driver image name
description: NVIDIA GPUDirect Storage Driver image name
description: NVIDIA MIG Manager image name
description: NVIDIA Sandbox Device Plugin image name
description: NVIDIA component image name
description: NVIDIA vGPU Device Manager image name
description: NVIDIA vGPU Manager image name
description: Node Status Exporter image name
description: VFIO Manager image name
description: Validator image name
driver
gdrdrv
gpu-operator
k8s-cc-manager
k8s-device-plugin
k8s-driver-manager
k8s-mig-manager
kubevirt-gpu-device-plugin
nvcr.io/nvidia/gpu-operator:v26.3.3
nvidia-fs
nvidia-sandbox-device-plugin
vgpu-device-manager
vgpu-manager

What Has Been Tested

Choose the question you care about. Not checked means this catalog has no version-specific result; it is not a pass.

QuestionStatusEvidence
Can I pull these exact package bytes again? Checked Package receipt
What does this chart contain? Not checked No linked result
Does the recorded render match Helm? Not checked No linked result
Did the supplied values change the render? Not checked No linked result
Were hooks, CRDs, or setup steps checked? Not checked No linked result
Did this version run on a local Kubernetes cluster? Not checked No linked result
Did an OCI delivery through GitOps run? Not checked No linked result
Did Helm and ConfigHub reach the same live result? Not checked No linked result
Was the result compared on separate clusters? Not checked No linked result
Was a ConfigHub promotion tested? Not checked No linked result
Did this version string point at changed upstream bytes? Not checked No linked result

The committed publication receipt binds this package path and OCI ref to layer sha256:3b725c44020062d3fcc945ed790544999abfb856633b62224958f602d8d6b77d and manifest sha256:abd8475d6bfeabe88acc2d6a319a04054a9e84046d69926dcee4717674329a8f, and records an inspect-result digest.

You can check a pull yourself: the inspect command under Try This Chart prints the package's manifest and layer digests, and they must equal the receipted values above. If they differ, do not use the pulled package.

No version-specific runtime result is claimed here. The component row's readiness, caveats, and live evidence describe only its bold version. For that separate evidence, open the v26.7.1 evidence page.

What You Must Provide

The installer metadata records 29 external-requirement references across these configurations. Inspect the package before choosing a base.

Choose a namespace and target deliberately, supply any listed Secret, CRD, storage, API, or cloud prerequisite, and inspect the rendered YAML before delivery.

Before Production

Run target-specific policy, lifecycle, upgrade, and workload checks. A successful package publication and inspect result does not establish production support or live convergence.

Source And Evidence Files

RecordOpen
Retained package sourcepackages/nvidia/gpu-operator/v26.3.3
Machine-readable listing (default)site/listings/nvidia-gpu-operator-v26-3-3-default.json
Machine-readable listing (driver-580.105.08)site/listings/nvidia-gpu-operator-v26-3-3-driver-580-105-08.json
Machine-readable listing (driver-595.91.07)site/listings/nvidia-gpu-operator-v26-3-3-driver-595-91-07.json
Machine-readable listing (preinstalled-driver)site/listings/nvidia-gpu-operator-v26-3-3-preinstalled-driver.json
Machine-readable listing (preinstalled-driver-and-toolkit)site/listings/nvidia-gpu-operator-v26-3-3-preinstalled-driver-and-toolkit.json
Machine-readable listing (external-nfd)site/listings/nvidia-gpu-operator-v26-3-3-external-nfd.json
Machine-readable listing (aicr-eks-training)site/listings/nvidia-gpu-operator-v26-3-3-aicr-eks-training.json
Installer metadatapackages/nvidia/gpu-operator/v26.3.3/installer.yaml
Publication receiptruns/installer-oci/nvidia-gpu-operator/v26.3.3/installer-package-publication-receipt.yaml
Publisher signatureruns/installer-oci-signatures/nvidia-gpu-operator/v26.3.3/signature-receipt.yaml
Sigstore bundleruns/installer-oci-signatures/nvidia-gpu-operator/v26.3.3/signature.sigstore.json
Version tagoci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/nvidia-gpu-operator:v26.3.3
Exact OCI refoci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/nvidia-gpu-operator:v26.3.3@sha256:abd8475d6bfeabe88acc2d6a319a04054a9e84046d69926dcee4717674329a8f
Layer digestsha256:3b725c44020062d3fcc945ed790544999abfb856633b62224958f602d8d6b77d
Manifest digestsha256:abd8475d6bfeabe88acc2d6a319a04054a9e84046d69926dcee4717674329a8f

Technical notes and disclaimers

  • The plain-objects script applies the objects and ends. It does not wait for the workloads to start. The script does not run the steps the plan names for an upgrade or a delete. A cluster with no GPUs shows that the objects apply. It does not show the workload using a GPU.
Generated from the retained installer package and its committed publication receipt. Publication proof is not runtime proof.