Skip to content

v0.2.6

Choose a tag to compare

@jniedergang jniedergang released this 10 Mar 17:48
· 58 commits to main since this release

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-rke2 topology with 12 variables/patches — reduces cluster YAML from ~200 lines to ~30
  • CLI generator: caphv-generate tool (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.CustomValidator for 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: Always instead of deprecated spec.running: true
  • memory.guest is 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.yaml

Or via Helm:

helm install caphv oci://ghcr.io/rancher-sandbox/cluster-api-provider-harvester/charts/caphv --version 0.2.6

Assets

  • infrastructure-components.yaml — Full deployment manifest (CRDs, RBAC, controller, webhooks, cert-manager)
  • metadata.yaml — CAPI contract metadata (v1beta1)

Full changelog

See CHANGELOG.md