Direct Cub Helm Model

A repository document, rendered for the site. View source markdown.

Generated at: 2026-07-30T12:38:02.000Z UTC · source: committed helm-expt evidence for this rendered repository document.

This note covers the optional cub-helm plugin command surface. The plugin is released separately from the core cub CLI. The public site does not require it; its front doors are Helm itself, cub installer, and cub variant upload.

They are real and useful commands. They are not the maintained catalog recipe path by themselves.

Current command references:

For the shorter user-facing routing guide, see Choosing Commands.

Command Roles

CommandRoleUse it whenWhat it does not try to be
cub helm templateLocal Helm renderer. It renders a chart to stdout or local files and does not require a ConfigHub server connection. It can split CRDs from regular resources.You want quick local inspection, a baseline for comparison, or the first input to recipe analysis.A durable ConfigHub catalog entry.
cub helm installDirect Helm-to-ConfigHub action. It renders a chart and creates ConfigHub Units. It handles values files, --set, CRD splitting, target assignment, and wait behavior.You want a one-shot ConfigHub load from a chart, values, and flags.A maintained recipe with supported variants, receipts, and update policy.
cub installer package pathMaintained catalog path. It renders from a reviewed recipe/package with named bases, receipts, scans, upload/publish evidence, and live checks.You want repeatable, supportable, variant-aware Helm-derived configs.The shortest one-off render/install command.

Direct Render

New to cub? Install the cub CLI first. You can pull and render public catalog packages without an account. Commands that save or change ConfigHub data require you to sign in.

cub helm template redis redis \
  --repo https://charts.bitnami.com/bitnami \
  --version 25.5.3 \
  --namespace redis \
  --output-dir out/redis

This path is deliberately low ceremony:

chart + values + flags
-> rendered YAML

It is the right first tool for:

It does not create a reusable recipe, base variant, package, scan receipt, upload receipt, or maintenance record.

Direct Install

cub helm install redis redis \
  --repo https://charts.bitnami.com/bitnami \
  --version 25.5.3 \
  --namespace redis

This path creates a quick ConfigHub representation:

Helm chart
-> rendered YAML
-> ConfigHub Units

It is a good fast path when the user wants to get a chart into ConfigHub now. It should stay simpler than the catalog path.

It does not, by itself, answer the maintained-catalog questions:

Maintained Catalog Path

chart + values + flags
-> cub helm template baseline
-> recipe analysis
-> cub installer recipe/package
-> named base variants
-> rendered objects
-> Helm-equivalence receipts
-> scans, gates, upload/publish receipts, live evidence

The paths can be used in sequence:

StageCommand pathWhat the user learns or gains
Inspectcub helm templateWhat Kubernetes objects the chart renders under chosen inputs.
Adopt quicklycub helm installWhat those objects look like as ConfigHub Units.
Standardizecub installer setup --pull <installer OCI ref> --base <base>Whether a maintained recipe/base already covers the intended use case.
Operatecub installer upload, cub variant create, ConfigHub checks, changesets, approvals, OCI/GitOps, observationsHow the reviewed objects are managed, varied, promoted, delivered, and observed.

Existing Argo CD, Flux, KRM, and rendered-manifest estates should enter through their direct import paths first. A team can then decide whether to keep the imported representation, create derived ConfigHub variants, or graduate the app to a maintained cub installer recipe/package.

The product bridge we want is:

cub installer import helm

That command should graduate a direct Helm render or install into a maintained recipe/package candidate. Until that product surface exists, helm-expt uses repo generators and proof scripts to build and verify the same artifact chain.

The bridge should preserve the useful low-friction paths:

What this command does. cub installer is a released, open-source plugin for the cub CLI. cub installer setup pulls a catalog package and writes its Kubernetes files locally. It does not apply those files to a cluster; use kubectl, Argo CD, or Flux for delivery. The generated scripts stop before doing any work when the plugin or kustomize is missing.

curious user
  -> cub helm template
  -> inspect rendered objects

fast ConfigHub user
  -> cub helm install
  -> get ConfigHub Units now

supported catalog user
  -> cub installer setup --pull <installer OCI ref> --base <base>
  -> use a reviewed recipe/base variant with receipts

promotion or production user
  -> ConfigHub variants, scans, changesets, approvals, OCI/GitOps, observations

That is the big-picture rule for the Helm command family. Fast paths should stay fast. The catalog path should be chosen when the user wants repeatability, variant support, proof, and maintenance.

Current Redis Compatibility Check

Use these commands to reproduce the current Redis cub installer compatibility check:

go install sigs.k8s.io/kustomize/kustomize/v5@v5.8.1
export PATH="$PATH:$(go env GOPATH)/bin"
cub plugin install confighub/installer

export REDIS_PACKAGE=./packages/bitnami/redis/25.5.3
export WORK_DIR=/tmp/confighub-helm-redis

cub installer doc "$REDIS_PACKAGE"
cub installer setup \
  --pull "$REDIS_PACKAGE" \
  --work-dir "$WORK_DIR" \
  --non-interactive \
  --namespace redis

npm run redis:compare

The comparison verifies the cub installer output against the regular Helm baseline and explains the intentional Namespace support object.