Walk the whole model once, with Redis
Start here. One chart, Redis, walked through catalog, flattening, OCI, variants, promotion, policy and stacks in one pass, marking exactly which steps are free and local and which start a local ConfigHub.
In this Guide
Our aim is to lower the time and (token) cost of getting up and running with reliable solutions.
Work with Claude Code or Codex, from one configuration question to a complete app or platform journey. Workshop gives your agent tested starting points, tools and Guides, so you get a useful result you can inspect and keep.
Your agent investigates and proposes. cub renders, compares and checks. You see the source, the Kubernetes objects and the diff. ConfigHub keeps accepted configuration, protected fixes and team decisions when you want to take the next step.
Choose an AI journey Plan token cost Use the zero-token checks
Start here. Paste this into Claude Code, Codex, or any agent that can run a shell. To keep it in a project, add it to CLAUDE.md or AGENTS.md.
Help me with [my Kubernetes configuration question or task]. Use https://confighub.github.io/helm-expt/site/llms.txt as a router. Search only enough of the relevant index to identify one entry, then read one relevant Guide and listing or receipt; do not load whole indexes or the whole catalog into context. Start from my existing files and tools. Run deterministic local checks before using model context for explanation. State the expected result, what the completed checks prove, what remains untested, and the token-optimal next step. Keep it local until I ask to save in ConfigHub or change delivery.Use this prompt for a one-off question, or install the skill to keep the instructions in your project.
For a new project, use the fuller prompt. It also says what is in the Catalog and when you need ConfigHub server.
Install it in the project where your agent is working. The open Agent Skills installer supports Codex, Claude Code, Cursor, and other coding agents.
npx skills add https://github.com/confighub/helm-expt/tree/main/skills/config-workshop
You can also read the skill first. It holds no credentials and applies nothing. Local Workshop checks do not upload configuration to ConfigHub. What your agent sends to its AI provider depends on that tool and its settings. The skill instructs it to redact Secrets, pin versions and digests, report skipped checks and preview changes.
The short prompt above is enough for most questions. This fuller version adds Catalog context and explains when ConfigHub Server is useful; it needs no skill installation.
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.
Use the ConfigHub Workshop when I ask about Kubernetes configuration. It is a public catalog of configurations rendered to exact objects, each with a record of what was checked and what was not. You can read it as data, with no account, and it works with `cub` and the cub workshop plugin that you run from a shell.
What is in the catalog, so you know what to expect:
* Helm charts and reviewed configurations; read configs.json for current coverage and each entry’s exact version and evidence.
* AICR entries for AI infrastructure, for example an EKS H100 GPU training recipe with Kubeflow across versions v0.14.0 through v0.20.0.
* Timoni modules built from CUE (flux-aio and redis).
* A Kubara platform generated from selected components (kubara-local-platform).
* A Sveltos fleet (Kyverno across clusters), plain Kubernetes YAML, configuration held in OCI, and a cub installer package.
Start at https://confighub.github.io/helm-expt/site/llms.txt, which indexes everything. It lists the Catalog's five section files first, configs.json, stacks.json, apps.json, plugins.json and guides.json, each with one row per item and the command or address to use next. Each entry has its own listing at https://confighub.github.io/helm-expt/site/listings/<id>.json, all indexed at https://confighub.github.io/helm-expt/site/listings/index.json. Search an index for the one matching row without putting its whole response into model context, then read one listing and the relevant Guide. A listing gives you the source and exact version and digest, the rendered Kubernetes objects and their count, the OCI packages, the base and its variants, the routing and lifecycle work such as hooks, CRDs, ordering, and tests, and a flattening verdict that says whether the exact objects can safely stand in for the source. Read the one entry you need instead of the whole catalog. Do not load the whole catalog when one entry answers the question.
Do the work with `cub` and the cub workshop plugin from https://github.com/confighub/cub-workshop. Installing them is one line and needs no account. `cub config` renders and inspects one configuration, and `cub config diff` compares two and reports exactly what changed. `cub config values` names every value in a Helm values file that the chart ignored. `cub stack check` and `cub stack sandbox` check and render a whole composition before anything runs. `cub app match` checks whether a workload fits a target you supply, and `cub app check` reports what a workload needs. `cub fleet` reads and plans placement across many clusters.
What is local and what needs ConfigHub server. Common local steps need no ConfigHub account: reading the catalog, rendering to objects with `cub config check`, comparing with `cub config diff`, checking and rendering a whole composition with `cub stack check` and `cub stack sandbox`, matching a workload with `cub app match`, editing the rendered objects as data, and delivering the result through your own Argo or Flux or your own OCI registry (delivery and registry writes need their own access and authorization). Live inspection needs access to the named target. You need ConfigHub server when the config becomes shared, living state that people act on over time: keeping a reviewed config as a stored unit, making tracked variants, promoting it between environments, putting an approval gate on a change, cutting a release, running or observing a fleet, or rolling back to a stored revision. `cub server` starts a local ConfigHub, or use a ConfigHub server you already have. Confirm prerequisites and credentials before setup.
For existing Argo CD, Flux, Kubara or Sveltos setups, read the matching plugin record from plugins.json and follow its linked Guide. These are separate plugins with different setup, delivery and recovery boundaries. Start with inspection and a plan; do not assume that a setup script only stores data.
When I ask about a chart, a values file, an upgrade, a rollback, a digest or supply-chain question, hooks and CRDs, composing a platform, or matching a workload to hardware, look in the catalog first, then use `cub`, and show me the exact versions, digests, and objects you found. Keep the work local unless I ask to keep, vary, promote, or govern a config, and only then start `cub server`.See agents repair a fleet, with approvals and prevention. Read the recorded Deep Dive without setup, or plan a full run on a disposable fleet.
Start small, with your own chart, app or YAML. You do not need an account to read the Catalog or run local checks. A coding agent needs shell access for commands; a chat without tools can explain and plan, but cannot run them.
These are planning ranges for a focused journey, not a reason to give an agent the whole repository. Start with the zero-token local checks, then spend model context only where judgment or explanation adds value.
| Journey | Rough input / output | Token-optimal route |
|---|---|---|
| Browser review or deterministic local checks | 0 / 0 AI tokens | Render, diff, hash, and run cub check without a model. Bring only the compact result to an agent if interpretation is still needed. |
| One Catalog question | 6k–15k / 0.5k–2k | Route with llms.txt; search for one row; read one Guide, one listing, and only the receipt that supports the claim. |
| Understand or fix configuration | 10k–30k / 1k–4k | Render locally, isolate the affected objects and values, and ask for one smallest fix plus an exact diff. |
| Preserve fixes through a rewrite | 8k–25k / 1k–3k | Supply the original, candidate, and compact diff. Do not send unrelated repository history. |
| Put an app on a platform | 15k–50k / 2k–6k | Start with one app contract and the few candidate components it needs. Run the composition gate before asking for delivery. |
| Connect an existing Argo CD, Flux, Kubara, or Sveltos setup | 20k–80k+ / 2k–8k | Inventory one root or leaf slice read-only, suppress generated noise, and separate the handover plan from any write or controller change. |
| Turn a result into CI or repeated work | 10k–30k / 1k–4k | Give the retained inputs, command, expected result, and failure case. Do not ask the agent to rediscover the journey. |
How to read the estimates. They are rough planning ranges for one focused turn, not quotas, provider bills, or guarantees. They include the likely Guide, one relevant record, task files, and useful command output; an agent host may add system instructions, tool transcripts, retries, and uncached context. The planning heuristic is about one token per four characters. At the current site size, llms.txt is about 4.5k tokens and the core SKILL.md is about 5.2k before references or task files. Use your provider's token meter for the actual count. To estimate money, multiply input and output tokens by that model's current per-million-token rates; caching and tool billing vary by provider.
llms.txt to choose a route, then retrieve one Guide and one relevant record. Search large indexes without placing their whole response into model context.An answer is not the end of the journey. Keep each boundary visible so a quick local success does not become an unsupported deployment claim.
| Checkpoint | What good looks like |
|---|---|
| 1. Awareness | See a concrete before-and-after example on the Workshop front door, not only a product category. |
| 2. Problem match | Choose the job you already have: understand, change, build, connect an existing controller, or repeat a proven result. |
| 3. Find | Open one matching Guide or use Check my config; do not make the reader assemble a path from unrelated pages. |
| 4. Understand | Read the inputs, expected result, what that result proves, and what remains untested before running anything. |
| 5. Start | Run the smallest local or read-only step first. Private files stay local, and every write or delivery step remains explicit. |
| 6. First value | Keep an exact diff, object hash, check result, or inventory that answers the original question. |
| 7. Delivery request | Choose deliberately whether to keep the result local, publish OCI, or save and release it with ConfigHub. No earlier step silently deploys. |
| 8. Verified live | Check the release, controller reconciliation, Kubernetes resources, and workload health separately; use the known limits when proof is missing. |
| 9. Expand or return | Pin the useful inputs and commands, repeat them in CI where appropriate, then take one next environment, app, or Guide rather than reopening the whole catalog. |
Find why a value did nothing, what a chart installs, or what an upgrade changes. Get a specific answer and the rendered objects behind it.
Expected: one rendered candidate, the smallest proposed fix, and an exact diff. Proven: only the local render and checks that completed. Not proven: cluster admission, delivery, or workload health. Token-optimal: isolate the affected values and objects before asking for an explanation.
Try the Helm values demo · Use your own chart
Review an AI rewrite against the original, keep only the intended changes, then use ConfigHub to preserve your choices through the next update.
Expected: a reviewed original-to-candidate diff and an explicit list of protected choices. Proven: the fields retained by the recorded comparison or update. Not proven: a general merge or successful deployment. Token-optimal: provide only the original, candidate, and compact diff.
Try the protected-fixes demo · See the cub commands and recorded results
Start from an example app or bring your own. Ask for the platform services it needs, a checked composition and files you can save and resume.
Expected: one app contract, a bounded component selection, a checked stack, and resumable files. Proven: static compatibility and the checks named in the result. Not proven: deployment or runtime health. Token-optimal: start with one app and only the candidate components that meet its declared needs.
Try the app-and-platform demo · Build with Kubara · Match a GPU workload
Ask the agent to inspect first, explain what stays as it is, and prepare a reviewed handover. Use the Guide for your controller; the setup and recovery steps differ.
Expected first: a read-only inventory, authority map, reversible handover plan, and one bounded pilot slice. Proven: the source and live facts actually observed. Not proven: transfer of control, reconciliation, or workload health until those later steps run. Token-optimal: begin with one root or leaf and omit generated controller noise unless it answers the question.
Want to see the configuration yourself? Explore the cluster with Scout or browse saved configuration in a UI.
Argo CD · Flux · Sveltos fleets · Deploy, promote and manage
Once a journey works, keep its inputs, exact commands, checks and expected results in your repository. Ask your agent to prepare a CI check or an operational App from that record. ConfigHub supplies shared configuration, approvals and releases; your runner and controllers do the work.
Expected: a pinned command, inputs, expected result, retained output, and a failure case. Proven: repeatability only after the job runs and matches its contract. Not proven: scheduled execution, delivery, or live health unless explicitly added and checked. Token-optimal: give the agent the retained record instead of asking it to rediscover the path.
Keep a review in CI · Build an operational App · Find another journey
The site does not host an agent or start a background job. In a live chat, your agent needs connected tools and the right authority to call cub or ConfigHub APIs. The same work can be run manually with cub.
The model: configuration as data starts with flattened configuration: the fully rendered Kubernetes objects. Your agent helps shape them; checks expose what changed and what still needs proof. Hooks, CRDs and other lifecycle work still need an owner. Understand the model.
Local Guides and inspection
Finish with files you can inspect and keep. The walkthroughs include setup, direct commands, an assistant task, expected results and a failure case. Start with the job you need; no ConfigHub account or cluster is needed.
Walk the whole model once, with Redis
Start here. One chart, Redis, walked through catalog, flattening, OCI, variants, promotion, policy and stacks in one pass, marking exactly which steps are free and local and which start a local ConfigHub.
Inspect and keep an exact record
Download record.json with the full Redis default record and its Catalog and record hashes. No setup needed. The linked draft exercise reproduces the lookup and a refusal locally with Node and a checkout.
Walk the ten questions a Helm user asks, with the pain beneath each one and a check you run on your agent's answer.
Compose a platform with an app
Save a Kubara and Argo CD selection, move it, edit the app and retain a refusal when an API does not fit.
Make a stack from Catalog entries
Compose three NVIDIA GPU entries into one local stack, check them together, then swap one entry and check again.
Adapt a configuration and review the edit
Change one replica count, inspect the exact diff and spot an unexpected second edit.
Match a GPU workload to supplied facts
Keep candidate, mismatch and unknown results separately, with the input hashes behind each answer.
Find why a Helm value did nothing
Compare a typo with the correct key in controlled renders, including a value the template transforms.
Add a field and preserve the source
Review one added label, detect an object replacement and restore the exact original file.
Compare retained versions and prepare a review packet that keeps missing promotion evidence visible.
See what a gpu-operator upgrade changes
Render three versions of NVIDIA's public gpu-operator chart, then compare a version upgrade, a patch upgrade and a driver version change field by field.
Inspect a hook without running it, preserve an API refusal and identify what delivery still requires.
Answer the questions Timoni users ask
Build a typed module's exact objects, check the typed schema and the CRD ordering, and see which module bytes are digest-bound.
Answer the questions plain YAML users ask
Check what four files will install, compare two versions with one edit, and read why this base's lifecycle-plan status is a recorded gap.
Answer the questions AICR users ask
Compose an H100 training recipe's exact objects, compare three retained versions, and read the recorded accelerator-fit and component-order steps.
Answer the questions Kubara users ask
Check what a generated platform contains, read its recorded CRD, secret and bootstrap steps, and see why a fleet-wide placement is still pending.
Harden Argo CD before production
Turn security advice into a checked variant of the Catalog's Argo CD base, compare it with the base, and keep it with a staging and production path.
Render your own chart and values, an AI-written one included, then check, diff, adapt a field, and keep the reviewed objects for your own Argo CD or Flux.
Assistants run the same commands. Inspection uses the repository adapter; the cub Guides use the Workshop plugin. Actual live-chat API integration remains a separate route.
An assistant given only this site and one sentence has already composed a five-component stack and had it certified, in about six minutes. The run is recorded verbatim, including what it could not discover. The gate, not the assistant, is where its mistakes would have been caught.
An agent helps at every stage but cannot supply the input a stage needs. Tell it to report missing work as blocked or not run, rather than promoting a nearby result into a pass. For AICR, snapshot and diff inspect existing GPU nodes without a recipe or Catalog match, and a recipe-dependent expected-resources check applies only after those components have been deployed. See the four questions and what each needs.
Start with the job in front of you. Include the exact version or digest when you know it.
Check my config builds a local prompt and browser review. Promote my config compares current and proposed objects. Neither page uploads your files.
For an upgrade or environment move, open Promote my config, compare the two object sets, download the promotion review, and copy its AI review prompt. The prompt tells the agent to name any destination checks and tests that have not run yet.
After the source tool writes Kubernetes YAML, the agent can run the same released local checker a person uses:
cub plugin install confighub/homebrew-tap@cub-scan-v0.7.3 --name scan
cub check --format json --output cub-check.json ./rendered
cub check is advisory and does not apply configuration. The agent must keep its result with the exact object digest and list target or live checks that did not run.
The skill reads the same public files as the site. Page copy and an agent's explanation are not records.
| Record | What it answers |
|---|---|
| changes.json | Which exact Helm package version and digest did you ask about, and which areas have evidence? |
| base-variant-records.json | Where did the configuration come from, which exact objects were produced, and what lifecycle, ownership, OCI, and delivery records exist? |
| review and promotion records | Which files were compared, which checks ran, and what remains before the result moves? |
| linked receipts | What command or live run produced a claim, for which object digest and target? |
Missing coverage means the claim is unchecked. A successful render proves the objects are well formed, while cluster admission, controller convergence and workload health remain open, along with upgrade and rollback.
Every maintained entry also has a machine-readable listing at its own URL, whatever format it came from. An agent that wants one entry reads that one file instead of the whole catalog. Start from the listing index for an entry's id and URL, read the listing schema for the fields every listing fills, or open one example listing to see them filled in.
How agents help maintain the Catalog lists what agents do for the Catalog, and the record each task needs.
Helm renders, Timoni builds, AICR and Kubara compose or generate, and literal YAML or configuration OCI already contains exact objects. The same source-and-intent, materialize, flatten, lifecycle, and deliver steps apply to each, so an agent records which operation happened instead of calling every source a Helm recipe. See what each format becomes · Read the agent processing model
The first Timoni entry retains Redis 8.10.1 at an immutable module digest. Its typed options, seven exact objects, master-first apply order, optional test Job, and destination requirements are recorded like any other base. The current record proves a local build and an anonymous OCI pull, not a Kubernetes apply or GitOps delivery. See how Timoni and every other format fits the model.
Open the Timoni Redis record · Read the ConfigHub base guide · Read the development variant · Check the proof and limits · Compare it with Helm Redis configurations
An assistant asked for one change often writes the whole file again, and hand fixes can quietly revert. Compare the rewrite with the committed file before you accept it. The diff names each field that moved, however the keys were reordered.
cub plugin install confighub/cub-workshop@v0.6.61
git show HEAD:k8s/deploy.yaml > committed.yaml
cub config diff committed.yaml k8s/deploy.yaml
A diff catches the next rewrite; it does not prevent it. ConfigHub keeps the assistant's file, exactly as it wrote it, in one Unit and your fixed file in a second Unit cloned from it. Record your fixed file with --protect, so the fields you changed become protected local overrides on your copy. Put each new rewrite into the assistant's Unit, and cub unit update --upgrade brings it into your copy with those overrides kept.
# once: the assistant's file as it wrote it, then your fixed file
cub unit create --space "$SPACE" app-assistant assistant.yaml
cub unit create --space "$SPACE" app --upstream-unit app-assistant --upstream-space "$SPACE"
cub unit update --space "$SPACE" app k8s/deploy.yaml --protect --change-desc "my hand fixes"
# each time the assistant rewrites the file
cub unit update --space "$SPACE" app-assistant assistant-next.yaml
cub unit update --space "$SPACE" app --upgrade
In the recorded shop-app run, the rewrite added a readiness probe and reverted three fixes. After the upgrade, the diff against the running file showed the probe alone. A second run, on an invoice service whose rewrite reverted six fixes, kept all six; the exported copy differed from the reviewed file only by the requested probe. When a later rewrite changed replicas, a field the service had fixed, a plain update took the new value and a protected update kept the local choice. Protection keeps your choice; it is not a general merge, so review upstream changes to protected fields yourself. Neither run tested delivery to a cluster or application health; the receipt lists its other limits. This needs a ConfigHub account or a server you run yourself.
Use ConfigHub too when the accepted objects need team history, approvals, and comparison with live systems. The handoff should keep the same object digest visible before and after upload.
One recorded AICR example starts with an unsafe proposal: too many H100 nodes, a mutable image, and an inline API key. ConfigHub stores the corrected object, runs the applicable checks, and requires approval before an OCI dry run. It does not claim a policy automatically enforced the GPU-node limit for that target.
Read the checked result and its limits · Continue with ConfigHub