Files
kacerrandClaude Opus 5.5 d8efa3b961 Document Ansible-built management cluster (plan step 4)
Phase-1 Step 2 rewritten around ansible/mgmt.yml and cluster-api-operator,
version pins for operator/cert-manager/cloud image, decisions #12-14,
execution log and changelog. Phase-1 Step 2 checked off.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 10:41:03 +02:00

3.7 KiB
Raw Permalink Blame History

Versions

Verified 2026-09-24 (phase 1), 2026-09-26 (phase 2/3 candidates) and 2026-09-27 (management cluster add-ons) from the Go module proxy, dl.k8s.io, registry.k8s.io, upstream Helm indexes and git tags. Re-verify before every deploy.

Phase 1 — pinned

Component Pinned Latest available Why pinned there
Cluster API core, kubeadm bootstrap + control plane, clusterctl v1.12.11 v1.14.2 CAPMOX v0.9 compatibility table lists CAPI v1.11 / v1.12 only; built against v1.12.11
CAPMOX (ionos-cloud/cluster-api-provider-proxmox) v0.9.1 v0.9.1 API v1alpha2, contract v1beta2
IPAM provider in-cluster v1.1.1 v1.1.1 CAPMOX v0.9 requires ≥ 1.1.0
Workload Kubernetes v1.35.9 v1.37.1 CAPI 1.12 supports workload clusters up to 1.35
Management cluster (k3s) v1.35.8+k3s1 v1.37.0+k3s1 CAPI 1.12 supports management clusters 1.31–1.35
cluster-api-operator (Helm chart) 0.28.0 0.29.0 installs the providers instead of clusterctl init; 0.28.0 is built against CAPI v1.12.10, 0.29.0 against v1.13.5
cert-manager (Helm chart) v1.21.2 v1.21.2 required by the operator and all providers (webhook certs); supports k8s 1.33–1.36
Management VM image Ubuntu cloud image noble/20260926 (24.04.5) — sha256 6a81c375…5bb4d2; current/ is a rolling pointer, pin the dated serial
cluster-autoscaler v1.35.2 v1.36.1 CA minor must match workload Kubernetes minor
cluster-autoscaler Helm chart 9.59.0 9.59.0 default appVersion 1.35.0 → override image.tag
Cilium 1.20.2 1.20.2
kube-vip v1.2.4 v1.2.4 CAPMOX template still ships v0.7.1
image-builder v0.1.55 v0.1.55
Packer (installed by image-builder) 1.9.5 — last MPL-licensed release, pinned by image-builder
packer-plugin-proxmox v1.2.4 v1.2.4 pulled by packer init (>= 1.1.2)
ansible-core (image-builder) 2.18.18 — pinned by image-builder hack/utils.sh
Node OS Ubuntu 24.04.4 — ISO sha256 e907d92e…a138433

Upgrade path

When CAPMOX adds CAPI 1.13/1.14 to its compatibility table: bump CAPI core → k3s mgmt to 1.36+ → rebuild template with Kubernetes 1.36/1.37 → cluster-autoscaler to the matching minor.

All management-cluster pins live in ansible/group_vars/all.yml. Provider upgrades are a spec.version bump there + ansible-playbook mgmt.yml --tags capi, one provider per run (the operator blocks minor downgrades). Bump cluster-api-operator only to a release built against the target CAPI minor.

Phase 2 / 3 — candidates (not pinned yet)

Component Latest Built against CAPI Notes
CAPLV (joshuagrisham/cluster-api-provider-libvirt) v0.2.1 (2026-02) v1.12.1 pure-Go digitalocean/go-libvirt, single maintainer
CAPK (cluster-api-provider-kubevirt) v0.11.2 (2026-02) v1.11.4 needs KubeVirt on the hypervisors
KubeVirt v1.9.0 (2026-07) —
CAPM3 (Metal3) v1.14.1 (2026-09) — needs Ironic + BMO + sushy-tools for VMs
cluster-api-control-plane-provider-kamaji v0.21.0 (2026-09-16) v1.13.4 ⚠ newer CAPI than CAPMOX v0.9 is tested with
Kamaji (OSS) edge-26.2.5, Helm chart 0.0.0+latest — OSS ships edge releases only; last semver tag v1.0.0 (2024)
kamaji-etcd Helm chart 0.18.1 (etcd 3.6.12) — datastore for hosted control planes
CLASTIX capi-kamaji-proxmox chart 0.0.4 (2025-10) — reference for Kamaji + CAPMOX wiring

The CAPI version skew between CAPMOX (1.12) and the Kamaji CP provider (1.13) is the main open compatibility question for phase 3 — all providers in one management cluster share one CAPI core.