Browse Docs
Catalog
Config
Stacks
Operate
Docs

Helm Import Contract

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

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
-> <component>-helm Space with a HelmSource Unit
-> <component>-base Space with rendered Kubernetes Units

That is useful for storing an arbitrary chart and its inputs without first building a maintained catalog package. The base is untargeted. If no namespace is supplied, it uses confighubplaceholder until a deployment variant supplies the real namespace.

The direct command drops Helm hooks by default. --include-hooks keeps them as ordinary resources but does not run their Helm lifecycle. It includes CRDs unless --skip-crds is set. It cannot render charts that require live lookup results or non-default capability information.

The maintained recipe path is different:

New to cub? Install the cub CLI first. Public catalog packages pull and render anonymously, and you sign in only once a command saves or changes ConfigHub data.

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."

One possible future product command is:

cub installer import helm

That command does not exist. Today this repo uses generators and proof scripts to create and check maintained recipe 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

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.

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

Generated from the committed markdown file docs/reference/helm-import-contract.md. The source file is the authoritative version.