Two install paths: the released artifact (recommended for users) and a developer install from source.
Use this if you want to consume a tagged release.
- A Kubernetes cluster acting as the management cluster (kind, EKS, GKE, AKS, etc.).
- cert-manager v1.15+ installed:
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.15.2/cert-manager.yaml kubectl wait --for=condition=Available --timeout=2m -n cert-manager deploy/cert-manager-webhook - Cluster API core installed. Easiest path:
clusterctl init --infrastructure docker # or vsphere, kubevirt, …clusterctl initinstalls Cluster API core as a side effect of installing the infrastructure provider. kubectlconfigured to use the management cluster.
kubectl apply -f https://github.com/kairos-io/cluster-api-provider-kairos/releases/download/v0.1.0-alpha.1/kairos-capi-provider.yamlThis applies the all-in-one provider manifest: CRDs, RBAC, webhook configurations, and the controller Deployment in the kairos-capi-system namespace.
kubectl get pods -n kairos-capi-system
kubectl get crds | grep kairosExpected: one Deployment kairos-capi-controller-manager in kairos-capi-system with status Available, and four CRDs:
kairosconfigs.bootstrap.cluster.x-k8s.iokairosconfigtemplates.bootstrap.cluster.x-k8s.iokairoscontrolplanes.controlplane.cluster.x-k8s.iokairoscontrolplanetemplates.controlplane.cluster.x-k8s.io
kubectl delete -f https://github.com/kairos-io/cluster-api-provider-kairos/releases/download/v0.1.0-alpha.1/kairos-capi-provider.yamlNote: the provider's
reconcileDeletedoes not yet clean up child resources (KairosConfig, owned secrets, InfraMachines) when a managedClusteris deleted. Manually clean up any clusters created with this release before uninstalling the provider.
Use this if you're hacking on the provider itself.
- Go 1.26+ toolchain.
- A Kubernetes cluster acting as the management cluster.
- cert-manager and Cluster API core installed (same as Path 1).
kubectlconfigured to use the management cluster.
git clone https://github.com/kairos-io/cluster-api-provider-kairos.git
cd cluster-api-provider-kairos
make deployThis installs CRDs, RBAC, webhooks, and the controller to the kairos-capi-system namespace. The controller uses the image from IMG (default: ghcr.io/kairos-io/cluster-api-provider-kairos:latest). To use a different image:
IMG=MY_REGISTRY/cluster-api-provider-kairos:dev make deployTo run the controller on your host instead of deploying to the cluster:
make install # installs only the CRDs
make run # runs the controller in the foreground against your kubeconfigmake undeploy
make uninstall- CAPD Quickstart — create a cluster with Docker (development only).
- CAPV Quickstart — create a cluster with vSphere.
- CAPK Quickstart — create a cluster with KubeVirt.
For the current release status, known issues, and security caveats, read the release notes.