Skip to main content
Every tenant cluster in Celum lives on a supervisor, and every supervisor runs a Cluster API (CAPI) engine that Celum installs and operates. On top of that one engine the platform offers three cluster models. They differ in how a cluster is described and how much of a cluster you actually get. All three are applied straight to the supervisor’s Kubernetes API; Celum writes nothing to Git.
<supervisor> and <cluster> are placeholders throughout — substitute your own names.

The three cluster models

Earlier releases also had GitLab-managed guest clusters, committed to a GitOps repository. That model was removed with the GitOps integration in 1.202.0; see Repositories & manifests. A cluster created that way keeps running, but Celum no longer edits its files.

Topology clusters

The primary model. A topology cluster is one declarative spec. Celum reads it back in the same shape for editing (GET /api/supervisors/<supervisor>/capi/clusters/<cluster>), updates it with PUT, and deletes it with a single DELETE that cascades through everything the Cluster CR owns:
The addons block is what the CAAPH engine (below) acts on, and tenantLB wires the guest’s LoadBalancer Services into the supervisor’s IP pools. Clusters created inside a project land in that project’s namespace. The create page walks through the form. A healthy topology cluster — health/nodes/workloads/API tiles, the CAPI machines backing it, and its Helm releases

Hosted control planes

When a tenant needs API-server isolation but not its own machines, a vcluster gives them a full Kubernetes control plane running as pods, sharing the supervisor’s nodes. Kamaji Talos workers go one step further: a hosted control plane plus real Talos worker VMs attached to it. Both are covered in Hosted control planes.

The CAPI engine

Everything above depends on the engine Celum installs per supervisor in Onboarding → Cluster API. It reports state through the standard component-status model and is managed with: GET /api/supervisors/<supervisor>/capi/status shows the operator release plus every provider — core, bootstrap, control plane (including Kamaji), and infrastructure:
The CAAPH add-on engine (Cluster API Add-on Provider for Helm) delivers platform charts into every guest — CNI, monitoring agents, CSI — as HelmChartProxy objects per namespace, from the add-on catalog the Cluster API step installs. Its status endpoint reports the provider and each proxy’s readiness:

Which model when

1

A tenant needs a real cluster with its own nodes — topology cluster

The default. Declarative spec, direct apply, full edit/delete lifecycle, add-ons delivered automatically.
2

API-server isolation without dedicated machines — vcluster

Seconds to create, near-zero infrastructure cost, shares the supervisor’s nodes. Not suitable when the tenant needs its own kernel, CNI, or node-level configuration.
3

A hosted control plane with real worker nodes — Kamaji Talos workers

The control plane runs as supervisor pods, workers are Talos VMs. Good middle ground when control-plane VMs are the cost you want to avoid.

Permissions

The in-product assistant, Celum AI, answers cluster questions from these same APIs — list_clusters, get_guest_cluster, and get_component_status (component capi or capi-addons) read the identical data these pages render.

The Clusters pages

Create a cluster

The cluster form and the template wizard.

Cluster templates

Reusable blueprints with Go-template variables.

Day-2 operations

Everything read inside a running tenant — nodes, events, metrics, Helm, workloads.

Hosted control planes

vcluster instances and Kamaji Talos workers.