Helm Import Contract

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

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.

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

This repo treats Helm import as the path from a Helm render into a maintained cub installer recipe/package.

cub helm template is the fast local render path:

chart + values + flags -> rendered Kubernetes objects on disk/stdout

It is useful for inspection, debugging, CRD/resource split checks, and as the regular Helm baseline for equivalence receipts.

cub helm install is the fast ConfigHub action path:

chart + values + flags -> rendered Kubernetes objects -> ConfigHub Units

That is useful for a one-off ConfigHub load.

The maintained recipe path is different:

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.

chart or wrapper chart
plus values, overlays, dependency closure, and render context
-> cub installer recipe/package
-> supported base variants
-> rendered object revisions
-> Helm-equivalence receipts
-> scans, gates, upload/publish receipts, and live evidence

Import is the bridge between those paths. It should let a user graduate from "render/load this chart now" to "maintain this chart as a reusable, variant-aware, proof-bound catalog entry."

The intended product command is:

cub installer import helm

Until that exists, this repo uses generators and proof scripts to create the same import artifacts explicitly.

What Import Must Capture

Every maintained import must record:

AreaRequired Artifact
chart identitysource lock with repository, chart, version, and digest
dependenciesdependency lock
render inputseffective values, selected overlays, capability profile, target facts, generated facts policy
chart behaviorHelm pain report and control points
install shapessupported base variants and package bases
rendered outputrendered objects, object inventory, and immutable revision
correctnessHelm-equivalence receipt comparing regular Helm output with cub installer setup output
safetyscan receipt and install gate
operationConfigHub upload/publish receipt, target facts, derived variant mapping, live or planned observation receipt

Where Choices Go

User ChoiceRoute
Helm values file or --set changes rendered objectsimporter creates or updates a cub installer base variant
Kustomize overlay changes rendered objectsimporter treats it as a recipe/base overlay with a digest and rendered diff
wrapper chart plus platform/customer overlay valuesmanaged overlay import; classify platform-owned, customer-owned, and target facts before render
existing Secret, StorageClass, IngressClass, CRD, API, or namespace requirementrecipe requirement plus variant target-fact binding
generated password/cert/random/time valuegenerated fact before render, then bind immutably
environment, region, target, labels, gates, observation policyderived ConfigHub variant after upload; no Helm rerender

The boundary is simple:

If the Kubernetes objects change, go through import / recipe / base variant.
If only the operating context changes, use a derived ConfigHub variant.

Golden Examples

ExampleWhat It Shows
Redispublic chart import with default and reuse-existing-secret bases
ExternalDNS managed overlaywrapper chart plus platform values plus customer overlay values
Redis prod-us-east Creator goldenpost-render ConfigHub variant from a reviewed base

The generated workdown checks these examples in:

data/attack-plan-workdown/helm-import-contract.csv

Regenerate and verify:

npm run attack-plan:generate
npm run attack-plan:verify