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

A Flux fleet, before and after

Your Flux layers are held in ConfigHub as a base and a variant for each cluster, while Flux keeps reconciling Git.

Before and after

Before: a Flux Kustomization
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
  name: apps
  namespace: flux-system
spec:
  dependsOn:
    - name: infrastructure
  interval: 5m
  path: ./gitops/flux/beginner/apps/prod
  prune: true
  sourceRef:
    kind: GitRepository
    name: apptique-examples
  targetNamespace: apptique-prod
  healthChecks:
    - apiVersion: apps/v1
      kind: Deployment
      name: frontend
      namespace: apptique-prod

clusters/prod/apps.yaml. You read files like this to work out what each environment runs.

After: in ConfigHub
ConfigHub showing the apps layer's base with its dev and prod variants, and the settings prod changes

Taken in the helm-catalog organization on 2026-10-25, showing the apps layer's base with its dev and prod variants, and the settings prod changes.

Each variant is one Unit in ConfigHub, holding everything its layer applies on that cluster.

  • Each layer becomes a base and a variant for each cluster.
  • Prod's changes from the base are listed in one place: namespace, label, 3 replicas and its resources.
  • Flux keeps reconciling Git until you choose to hand over.

What you work out today, and what happens here instead

TodayHere instead
Each cluster's Kustomization points at an overlay in Git, and Flux applies it.Each layer is a base in ConfigHub with a variant for each cluster. The Kustomization stays in Flux, and after handover it reads ConfigHub instead of Git.
flux bootstrap owns flux-system.It stays outside ConfigHub, and the plan lists it.

ConfigHub keeps configuration as plain objects, with a history of every change. A base holds what every environment shares, and a variant is one environment's copy that stays linked to its base and lists what it changes.

Load it into your ConfigHub

Sign in, then paste the rest. It fetches the example, works out what each environment runs, and saves it in your organization. It touches no cluster, and Flux keeps reconciling Git until you run handover.sh, the step that moves each cluster onto ConfigHub's releases.

$ cub auth login

$ git clone https://github.com/confighub/examples.git && git -C examples checkout 7f1b8f2fc849bb6488bc2c58f1469172018fc9dd

$ cd examples/gitops/flux/beginner

$ cub flux apply . --require Healthy --out onboard

$ CONFIGHUB_OCI=oci.hub.confighub.com bash onboard/apply.sh

You need a ConfigHub account and cub with the flux plugin and kustomize.

Try it on your laptop

No account needed. This fetches the example and shows what each environment runs. In your own Flux repository, run the last line from its root.

$ git clone https://github.com/confighub/examples.git && git -C examples checkout 7f1b8f2fc849bb6488bc2c58f1469172018fc9dd

$ cd examples/gitops/flux/beginner

$ cub flux plan . --require Healthy

You need cub with the flux plugin and kustomize.

Show me the details (for experienced users)