v0.2.6
Cluster API Provider Harvester v0.2.6
Major update bringing Harvester v1.7.1 compatibility, production-grade features, and complete lifecycle management for Kubernetes clusters on Harvester HCI.
Highlights
- Harvester v1.7.1 compatibility: Critical bugfixes for
memory.guest, CPU topology,runStrategy, IPPool allocation, cloud-init keys, and orphaned PVCs - Cloud provider bootstrap: Solves the calico/cloud-provider chicken-and-egg problem with
hostNetwork, RBAC, tolerations, and node init from management cluster - Auto-remediation: MachineHealthCheck with automatic etcd cleanup, VM deletion, and replacement (~9 min recovery)
- ClusterClass:
harvester-rke2topology with 12 variables/patches — reduces cluster YAML from ~200 lines to ~30 - CLI generator:
caphv-generatetool (interactive + flags) for complete cluster manifest generation - DHCP VM support: ISC dhclient workaround for wicked BPF bug in KubeVirt bridge binding
- Multi-disk VMs: Image + storageClass volumes with bootOrder
- Validating webhooks:
admission.CustomValidatorfor HarvesterMachine + HarvesterCluster, gated by--enable-webhooks - Fleet addon management: CSI and CNI deployable via Fleet GitOps (CAAPF integration)
- CSI decoupling: Cloud-config separated from CSI driver — CSI deployable independently via Fleet or CRS
- Fleet label automation:
reconcileFleetIntegration()propagates labels to Fleet clusters - Multi-pool IP allocation: Ordered fallback across multiple IPPools
- Observability: 17 custom Prometheus metrics + Grafana dashboard
- 330+ unit tests: 70%+ controller coverage, 80%+ util coverage
- E2E test suite: 4 suites, 18 tests (webhook/scale/multidisk/remediation)
- Turtles certification: Full certification test suite for Rancher Turtles provider certification
- Documentation: Operations guide, troubleshooting guide, Fleet addons guide
Breaking changes from v0.1.6
- Cloud-init secret keys are now lowercase (
userdata/networkdata) - VM creation uses
spec.runStrategy: Alwaysinstead of deprecatedspec.running: true memory.guestis set on VM domain spec (required by Harvester v1.7.0+)
Installation
apiVersion: turtles-capi.cattle.io/v1alpha1
kind: CAPIProvider
metadata:
name: harvester
namespace: caphv-system
spec:
name: harvester
type: infrastructure
version: v0.2.6
fetchConfig:
url: https://github.com/rancher-sandbox/cluster-api-provider-harvester/releases/download/v0.2.6/infrastructure-components.yamlOr via Helm:
helm install caphv oci://ghcr.io/rancher-sandbox/cluster-api-provider-harvester/charts/caphv --version 0.2.6Assets
infrastructure-components.yaml— Full deployment manifest (CRDs, RBAC, controller, webhooks, cert-manager)metadata.yaml— CAPI contract metadata (v1beta1)
Full changelog
See CHANGELOG.md