Skip to content
Browse the site

Deep Dives

AI: Claude and Codex patterns

ConfigHub: Deploy and manage

Configs
Stacks
Apps
Plugins
Guides
Docs

Before and after

See what a Helm chart inside Kustomize becomes

This app is a Helm chart that Kustomize inflates, and Kustomize's namespace: setting does not reach objects that come from a chart, so each overlay patches the namespace in. Built flat, each environment is one file, and you can read the namespace every object gets.

What you need. kustomize, helm, git and cub with the Workshop plugin. No account and no cluster.

1. See what you have today

The example is the checkout cache of a storefront in confighub/examples. Its base wraps a small Helm chart, and three overlays set dev, staging and prod.

FileWhat it does
base/charts/checkout-cache/Chart.yamlpart of the Helm chart, kept in the repository
base/charts/checkout-cache/templates/deployment.yamlpart of the Helm chart, kept in the repository
base/charts/checkout-cache/templates/service.yamlpart of the Helm chart, kept in the repository
base/charts/checkout-cache/values.yamlpart of the Helm chart, kept in the repository
base/kustomization.yamlinflates the chart with its values and adds a label
overlays/dev/kustomization.yamladds the environment label and patches in the namespace
overlays/prod/kustomization.yamladds the environment label and patches in the namespace, replicas, the container's resources limits memory
overlays/staging/kustomization.yamladds the environment label and patches in the namespace, replicas

To see what any environment runs, Kustomize has to call Helm. kustomize build refuses the chart unless you pass --enable-helm.

2. See what the Workshop gives you

Each overlay builds into one flat file of 1 Service and 1 Deployment. The Workshop's check reads each one.

after: prod, built flat
$ kustomize build --enable-helm overlays/prod > prod.yaml
$ cub config check prod.yaml
Config: prod
Inspecting local Kubernetes objects (static, no infrastructure)

Installs
  2 objects: 1 Deployment, 1 Service
  namespaces that must already exist: storefront-prod

Lifecycle work
  [PASS] CRDs: 0
  [PASS] Helm hooks: 0
  [PASS] setup Jobs: 0
  [PASS] admission webhooks needing a certificate: 0
  [PASS] images tagged latest or not tagged: 0

Schema
  [PASS] schema validation: 2 object(s) valid against the default and ecosystem catalogs (flux-schema/0.16.0)

  Free look before you install. Compose it into a cub stack, or run it as a cub app.

3. See every field that differs

These are all the differences between the three builds.

FielddevstagingprodOn
metadata.labels.environmentdevstagingprodService/checkout-cache, Deployment/checkout-cache
metadata.namespacestorefront-devstorefront-stagingstorefront-prodService/checkout-cache, Deployment/checkout-cache
spec.replicas123Deployment/checkout-cache
spec.template.spec.containers[0].resources.limits.memory256Mi256Mi1GiDeployment/checkout-cache

The namespace row is the one the overlays work for. Drop a patch, and that object lands in whatever namespace Argo CD is told to use.

4. Try it yourself, with no account

Install cub and the Workshop plugin, kustomize and helm first.

# fetch the example at the commit this page was built from
$ git clone https://github.com/confighub/examples.git && git -C examples checkout 7f1b8f2fc849bb6488bc2c58f1469172018fc9dd

$ cd examples/gitops/argo/expert-app-of-apps/apps/checkout-cache

# build each overlay flat; Kustomize calls Helm for the chart
$ for env in dev staging prod; do kustomize build --enable-helm overlays/$env > $env.yaml; done

$ cub config check prod.yaml
See it live in ConfigHub

Everything above runs on your own machine with no account. To see the same example in ConfigHub, load it into your own organization with the commands below.

With your own account

This app is one of the children of an Argo CD app of apps. Bring your Argo CD apps into ConfigHub loads the whole estate, and apply.sh builds each overlay as above before it saves it.

5. Technical notes and disclaimers

  • The builds and checks ran on 2026-10-26 with kustomize v5.8.1, helm v4.1.4+g05fa379, cub v0.9.0 and Workshop plugin 0.6.61. The recorded files and their receipt hold every input and output.
  • What a chart inflates can change with the helm version Kustomize calls, so the flat files are the ones to review, not the overlays.