Highlights
- Tested with Kubernetes v1.34 & cloud-provider-vsphere v1.34
- Based on Cluster API v1.11
- Bumped to Go 1.24, controller-runtime v0.21, k8s.io/* v0.33, controller-gen v0.18
- Migrated to use core CAPI v1beta2 objects everywhere
supervisor:
- Support multi-networking for NSX-VPC and vsphere-network providers
Changes since v1.13
📈 Overview
- 86 new commits merged
- 12 feature additions ✨
- 9 bugs fixed 🐛
✨ New Features
- Add kube-api-linter (#3560)
- Bump autoscaler to a9cb59fdd (#3613)
- Bump CPI to v1.34.0-beta.0 (#3547)
- Bump Kubernetes to v1.33 and add new OVA's (#3435)
- Bump to CAPI v1.11.0 (#3584)
- Bump to CAPI v1.11.0-beta.0 (#3543)
- Bump to CAPI v1.11.0-beta.1 (#3548)
- Bump to CAPI v1.11.0-beta.2 (#3558)
- Bump to CAPI v1.11.0-rc.0 (#3564)
- Bump to CAPI v1.11.0-rc.1 (#3573)
- Bump to CPI v1.34.0-rc.0 (#3565)
- Support multi-networking for NSX-VPC and vsphere-network providers (#3530)
🐛 Bug Fixes
- Bump test module to get latest version of upgrade test (#3606)
- Bump to CAPI 2025.07.18 & cluster-autoscaler to v1.33, pin apiVersion to v1beta1 (#3545)
- Fix flake in reconciliation tests (#3566)
- Fix: use machine's .spec.failureDomain with fallback to vspheremachine's .spec.failureDomain if not defined (#3587)
- Govmomi: fix additional printer columns for ControlPlaneEndpoint (#3483)
- Register conversion funcs in schemes (#3609)
- Remove finalizer from VSphereMachine during deletion if ownerRef was never set (#3595)
- Remove the CEL validation on VSphereMachineTemplate.spec.network (#3624)
- StoragePolicy should ignore datastores in maintenance mode (#3498)
🌱 Others
- Able to export webhooks for external utilization (#3434)
- Adjust import alias to align with CAPI migration recommendation (#3491)
- Adjust weekly gh actions to run for release-1.13 branch (#3420)
- Bump CAPI in tests to main (v1.11) (#3468)
- Bump CAPI to v1.10.0-rc.1, K8S and CPI to v1.33.0-rc.0 (#3424)
- Bump CAPI to v1.11.0-alpha.0 (#3478)
- Bump CAPI v1.10.0 (#3433)
- Bump CAPI v1.10.1 (#3443)
- Bump CPI to v1.33.0 (#3441)
- Bump CPI to v1.34.0 (#3619)
- Bump go 1.23.8 (#3446)
- Bump Kubernetes to v1.34 and add new OVA's (#3617)
- Bump Kubernetes version used for testing to v1.34.0-beta.0 (#3555)
- Bump to CAPI 1.11 version with ref changes (#3526)
- Bump to CAPI v1.11.0-alpha.1 (#3519)
- Bump to CAPI v1.11.0-alpha.2 (#3534)
- Bump to CAPI v1.11.1 (#3627)
- Bump to Cluster API 07.07.2025 (#3537)
- Bump to Go v1.24.4, github.com/cloudflare/circl v1.6.1 (#3509)
- Bump to Go v1.24.6 (#3568)
- Bump to Kubernetes v1.33.0-rc.1 (#3426)
- Changes for community owned Prow CI (#3473)
- CI: Partially revert 3473 due to having vSphere 8 in community ci (#3485)
- CI: reschedule release-1.13 jobs (#3495)
- E2e: also collect pod logs (#3490)
- E2e: fixup flake while claiming VIPs and IPAM MTU (#3504)
- E2e: pull calico from a gcr.io mirror (#3525)
- E2e: wait for vsphere api and set mtu for calico (#3508)
- Enhances VirtualMachineSetResourcePolicy reconcile (#3518)
- Fix comment of the NumCoresPerSocket property of VirtualMachineCloneSpec (#3531)
- Fix web-hook structure names and descriptions (#3462)
- Hack: debug vsphere connectivity (#3517)
- Log version and git commit on controller start (#3611)
- Makefile: Bump Kubebuilder to v1.33 (#3476)
- Migrate config and bump golangci lint to v2 (#3469)
- Prepare main for v1.14 (#3453)
- Prowjobs: reschedule main periodics at 23 and 1 UTC (#3494)
- Set log collector for clusterctl upgrade tests (#3598)
- Start using 1.34 for CI latest on main (#3438)
- Temporary fix for ResourceVersion flake (#3608)
- Update InterfaceSpec MTU minimum value (#3586)
- Update topology api (#3561)
- Use release artefacts for CAPI v1.10 (#3448)
📖 Additionally, there have been 3 contributions to our documentation and book. (#3437, #3538, #3551)
Dependencies
Added
- github.com/envoyproxy/go-control-plane/envoy: v1.32.4
- github.com/envoyproxy/go-control-plane/ratelimit: v0.1.0
- github.com/klauspost/compress: v1.18.0
- github.com/kylelemons/godebug: v1.1.0
- go.opentelemetry.io/auto/sdk: v1.1.0
- go.yaml.in/yaml/v2: v2.4.2
- go.yaml.in/yaml/v3: v3.0.3
- gopkg.in/go-jose/go-jose.v2: v2.6.3
- sigs.k8s.io/randfill: v1.0.0
Changed
- cel.dev/expr: v0.18.0 → v0.19.1
- cloud.google.com/go/compute/metadata: v0.5.2 → v0.6.0
- github.com/cloudflare/circl: v1.3.7 → v1.6.1
- github.com/cncf/xds/go: 024c85f → cff3c89
- github.com/coredns/corefile-migration: v1.0.26 → v1.0.27
- github.com/coreos/go-oidc: v2.2.1+incompatible → v2.3.0+incompatible
- github.com/envoyproxy/go-control-plane: v0.13.0 → v0.13.4
- github.com/envoyproxy/protoc-gen-validate: v1.1.0 → v1.2.1
- github.com/go-logr/logr: v1.4.2 → v1.4.3
- github.com/go-viper/mapstructure/v2: v2.2.1 → v2.4.0
- github.com/golang-jwt/jwt/v4: v4.5.0 → v4.5.2
- github.com/golang/glog: v1.2.2 → v1.2.4
- github.com/google/cel-go: v0.22.0 → v0.23.2
- github.com/google/gnostic-models: v0.6.8 → v0.6.9
- github.com/gorilla/websocket: v1.5.3 → e064f32
- github.com/grpc-ecosystem/grpc-gateway/v2: v2.20.0 → v2.24.0
- github.com/onsi/gomega: v1.37.0 → v1.38.0
- github.com/prometheus/client_golang: v1.19.1 → v1.22.0
- github.com/prometheus/common: v0.55.0 → v0.62.0
- github.com/rogpeppe/go-internal: v1.12.0 → v1.13.1
- github.com/spf13/pflag: v1.0.6 → v1.0.7
- github.com/spf13/viper: v1.20.0 → v1.20.1
- github.com/vmware/govmomi: v0.49.0 → v0.51.0
- go.etcd.io/etcd/api/v3: v3.5.20 → v3.5.22
- go.etcd.io/etcd/client/pkg/v3: v3.5.20 → v3.5.22
- go.etcd.io/etcd/client/v2: v2.305.16 → v2.305.21
- go.etcd.io/etcd/client/v3: v3.5.20 → v3.5.22
- go.etcd.io/etcd/pkg/v3: v3.5.16 → v3.5.21
- go.etcd.io/etcd/raft/v3: v3.5.16 → v3.5.21
- go.etcd.io/etcd/server/v3: v3.5.16 → v3.5.21
- go.opentelemetry.io/contrib/detectors/gcp: v1.28.0 → v1.34.0
- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.53.0 → v0.58.0
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.54.0 → v0.58.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.27.0 → v1.33.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.28.0 → v1.33.0
- go.opentelemetry.io/otel/metric: v1.29.0 → v1.34.0
- go.opentelemetry.io/otel/sdk/metric: v1.28.0 → v1.34.0
- go.opentelemetry.io/otel/sdk: v1.29.0 → v1.34.0
- go.opentelemetry.io/otel/trace: v1.29.0 → v1.34.0
- go.opentelemetry.io/otel: v1.29.0 → v1.34.0
- go.opentelemetry.io/proto/otlp: v1.3.1 → v1.4.0
- golang.org/x/crypto: v0.36.0 → v0.41.0
- golang.org/x/mod: v0.24.0 → v0.27.0
- golang.org/x/net: v0.37.0 → v0.43.0
- golang.org/x/oauth2: v0.28.0 → v0.30.0
- golang.org/x/sync: v0.12.0 → v0.16.0
- golang.org/x/sys: v0.32.0 → v0.35.0
- golang.org/x/telemetry: bda5523 → 1a19826
- golang.org/x/term: v0.30.0 → v0.34.0
- golang.org/x/text: v0.23.0 → v0.28.0
- golang.org/x/time: v0.8.0 → v0.9.0
- golang.org/x/tools: v0.31.0 → v0.36.0
- google.golang.org/genproto/googleapis/api: e6fa225 → 5f5ef82
- google.golang.org/genproto/googleapis/rpc: 3abc09e → 1a7da9e
- google.golang.org/grpc: v1.67.3 → v1.71.3
- google.golang.org/protobuf: v1.36.5 → v1.36.6
- k8s.io/api: v0.32.3 → v0.33.3
- k8s.io/apiextensions-apiserver: v0.32.3 → v0.33.3
- k8s.io/apimachinery: v0.32.3 → v0.33.3
- k8s.io/apiserver: v0.32.3 → v0.33.3
- k8s.io/client-go: v0.32.3 → v0.33.3
- k8s.io/cluster-bootstrap: v0.32.3 → v0.33.3
- k8s.io/code-generator: v0.32.3 → v0.33.3
- k8s.io/component-base: v0.32.3 → v0.33.3
- k8s.io/gengo/v2: 2b36238 → 1244d31
- k8s.io/kms: v0.32.3 → v0.33.3
- k8s.io/kube-openapi: 32ad38e → c8a335a
- sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.31.0 → v0.31.2
- sigs.k8s.io/cluster-api: v1.10.1 → v1.11.1
- sigs.k8s.io/controller-runtime: v0.20.4 → v0.21.0
- sigs.k8s.io/structured-merge-diff/v4: v4.4.2 → v4.6.0
- sigs.k8s.io/yaml: v1.4.0 → v1.6.0
Removed
- github.com/asaskevich/govalidator: f61b66f
- github.com/census-instrumentation/opencensus-proto: v0.4.1
- github.com/go-kit/log: v0.2.1
- github.com/go-logfmt/logfmt: v0.5.1
- gopkg.in/square/go-jose.v2: v2.6.0
Thanks to all our contributors! 😊