Highlights
- Support for CAPI v1beta2 API version
Changes since v0.12.0
π Overview
- 107 new commits merged
- 4 feature additions β¨
- 14 bugs fixed π
π Proposals
- Proposal: add new CRD OpenStackClusterIdentity (#2628)
β¨ New Features
- Allow API Loadbalancer Health Monitor configuration (#2512)
- Allow changing DNSNameservers in subnet config for OpenstackCluster (#2511)
- Allow switching from filter.name to id of network and subnets in OSC spec (#2518)
- Feat: update ORC to v2 (#2506)
π Bug Fixes
- Add FlavorID to be set by openStackMachineSpecToOpenStackServerSpec (#2582)
- Do not delete bastion floating ip if set in spec (#2257)
- Don't set OSMachine Ready until all config is complete (#2478)
- Ensure that existing ports also have correct tags and trunks (#2256)
- Fix openstackserver controller concurrency (#2502)
- Fix panic when OpenStack server is deleted by an external agent (#2475)
- Fix panic when OpenStackCluster.Status.Network is nil in HCP scenarios (#2635)
- Fix: allow modification of all ManagedSecurityGroups (#2446)
- Fix: dereference the instance state in machine state reconcile calls (#2464)
- Fix: enum typo error. (#2542)
- Fix: watch ipaddressclaim in openstackserver controller (#2390)
- Fixes out-of-range bug when multiple ports are passed to getSGControlPlaneAdditionalPorts (#2687)
- Search by either port ID or name/network (#2583)
- Stop printing InstanceState for OpenStackMachine (#2402)
π± Others
- (deps): pin crypto for stable 0.11 (#2445)
- (deps): pin envsubst (#2457)
- (deps): skip github.com/onsi/gomega on release-0.11 (#2498)
- (deps): skip golang.org/x/text on release-0.11 (#2461)
- Add metadata for v0.13 and v1beta2 contract (#2656)
- Add weekly security scan using govulncheck and Trivy (#2536)
- Bump CAPI to v1.10.0-beta.0 (#2490)
- Bump CAPI to v1.10.1 (#2533)
- Bump CAPI to v1.11.0 (#2664)
- Bump CAPI to v1.11.0-rc.0 (#2652)
- Bump cloud-build image to support go 1.23 (#2531)
- Bump cloudbuild image (#2716)
- Bump e2e k8s versions and update templates (#2600)
- Bump go to 1.23.10 (#2593)
- Bump go to 1.23.8 (#2539)
- Bump golangci-lint to support go1.24 (#2448)
- Bump golangci-lint to v2 (#2668)
- Bump k8s, CR, CG and deps (#2395)
- Ci: add GH workflow to automate golangci-lint bumps (#2450)
- Ci: build e2e prerequisites in parallel (#2479)
- Data: use latest Flatcar stable from image-builder (#2419)
- Dependabot/0.11: skip mock bumps (#2528)
- Dependabot/0.11: skip prometheus bump (#2654)
- Dependabot/0.12: skip gomega bump (#2673)
- Dependabot: ignore CAPI tag changes (#2417)
- Deps: skip github.com/onsi/ginkgo/v2 on release-0.11 (#2473)
- Disable security scanning for release-0.10 (#2558)
- E2E: Bump ORC to v2.2.0 (#2552)
- E2E: Image refactor (#2570)
- E2E: Update Calico to v3.30.2 (#2609)
- E2E: Update openstack cloud provider manifests (#2574)
- Exclude govulncheck from verify target (#2590)
- Fix logging when e2e prerequisites build fails (#2481)
- Fix release note generation (#2715)
- Fix workflows/update-golangci-lint (#2453)
- Go.mod: stick to 1.23.0 (#2424)
- Makefile: Add arguments for govulncheck (#2633)
- OpenStackServer controller: minor log message fix (#2482)
- Release: Include ClusterClasses and Images templates (#2399)
- Remove
v1alpha7
(#2405) - Test ORC upgrades in e2e (#2601)
- Unify and enforce CAPI import aliases (#2645)
- Update e2e config and clusterctl-upgrade (#2565)
- Update to Kubernetes v1.33 and cluster-api v1.11 (continued) (#2640)
- Uplift go 1.24.6 to address security issue (#2711)
π Additionally, there have been 4 contributions to our documentation and book. (#2530, #2577, #2591, #2608)
Dependencies
Added
- al.essio.dev/pkg/shellescape: v1.5.1
- cloud.google.com/go/auth/oauth2adapt: v0.2.6
- cloud.google.com/go/auth: v0.13.0
- cloud.google.com/go/monitoring: v1.21.2
- github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp: v1.25.0
- github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric: v0.48.1
- github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping: v0.48.1
- github.com/containerd/errdefs/pkg: v0.3.0
- github.com/containerd/errdefs: v1.0.0
- github.com/containerd/typeurl/v2: v2.2.0
- github.com/envoyproxy/go-control-plane/envoy: v1.32.4
- github.com/envoyproxy/go-control-plane/ratelimit: v0.1.0
- github.com/go-viper/mapstructure/v2: v2.4.0
- github.com/google/shlex: e7afc7f
- github.com/k-orc/openstack-resource-controller/v2: v2.2.0
- github.com/moby/sys/atomicwriter: v0.1.0
- github.com/moby/sys/sequential: v0.6.0
- github.com/planetscale/vtprotobuf: 0393e58
- github.com/prashantv/gostub: v1.1.0
- go.opentelemetry.io/auto/sdk: v1.1.0
- go.opentelemetry.io/contrib/detectors/gcp: v1.34.0
- go.opentelemetry.io/otel/sdk/metric: v1.34.0
- go.uber.org/automaxprocs: v1.6.0
- go.yaml.in/yaml/v2: v2.4.2
- go.yaml.in/yaml/v3: v3.0.4
- golang.org/x/tools/go/expect: v0.1.0-deprecated
- golang.org/x/tools/go/packages/packagestest: v0.1.1-deprecated
- gopkg.in/go-jose/go-jose.v2: v2.6.3
- sigs.k8s.io/randfill: v1.0.0
Changed
- cel.dev/expr: v0.15.0 β v0.19.1
- cloud.google.com/go/compute/metadata: v0.3.0 β v0.6.0
- cloud.google.com/go/iam: v1.1.5 β v1.2.2
- cloud.google.com/go/storage: v1.35.1 β v1.49.0
- cloud.google.com/go: v0.112.1 β v0.116.0
- github.com/Azure/go-ansiterm: d185dfc β 306776e
- github.com/Masterminds/semver/v3: v3.3.0 β v3.4.0
- github.com/cloudflare/circl: v1.3.7 β v1.6.1
- github.com/cncf/xds/go: 555b57e β cff3c89
- github.com/coredns/corefile-migration: v1.0.25 β v1.0.27
- github.com/coreos/go-oidc: v2.2.1+incompatible β v2.3.0+incompatible
- github.com/cpuguy83/go-md2man/v2: v2.0.4 β v2.0.6
- github.com/docker/docker: v27.3.1+incompatible β v28.3.3+incompatible
- github.com/emicklei/go-restful/v3: v3.12.1 β v3.12.2
- github.com/envoyproxy/go-control-plane: v0.12.0 β v0.13.4
- github.com/envoyproxy/protoc-gen-validate: v1.0.4 β v1.2.1
- github.com/evanphx/json-patch/v5: v5.9.0 β v5.9.11
- github.com/fsnotify/fsnotify: v1.7.0 β v1.8.0
- github.com/go-logr/logr: v1.4.2 β v1.4.3
- github.com/go-openapi/jsonpointer: v0.19.6 β v0.21.0
- github.com/go-openapi/swag: v0.22.4 β v0.23.0
- github.com/golang-jwt/jwt/v4: v4.5.0 β v4.5.2
- github.com/golang/glog: v1.2.1 β v1.2.4
- github.com/google/btree: v1.0.1 β v1.1.3
- github.com/google/cel-go: v0.20.1 β v0.23.2
- github.com/google/gnostic-models: v0.6.8 β v0.6.9
- github.com/google/go-cmp: v0.6.0 β v0.7.0
- github.com/google/pprof: 40e02aa β 27863c8
- github.com/google/s2a-go: v0.1.7 β v0.1.8
- github.com/googleapis/enterprise-certificate-proxy: v0.3.2 β v0.3.4
- github.com/googleapis/gax-go/v2: v2.12.3 β v2.14.1
- github.com/gophercloud/gophercloud/v2: v2.4.0 β v2.8.0
- github.com/gophercloud/utils/v2: e3a3b7c β 2e0af06
- github.com/gorilla/websocket: v1.5.0 β e064f32
- github.com/gregjones/httpcache: 9cad4c3 β 901d907
- github.com/grpc-ecosystem/grpc-gateway/v2: v2.20.0 β v2.24.0
- github.com/jessevdk/go-flags: v1.4.0 β v1.6.1
- github.com/jonboulle/clockwork: v0.2.2 β v0.4.0
- github.com/klauspost/compress: v1.17.9 β v1.18.0
- github.com/moby/spdystream: v0.4.0 β v0.5.0
- github.com/onsi/ginkgo/v2: v2.22.2 β v2.25.3
- github.com/onsi/gomega: v1.36.2 β v1.38.2
- github.com/pelletier/go-toml/v2: v2.2.2 β v2.2.3
- github.com/pkg/sftp: v1.13.6 β v1.13.7
- github.com/pmezard/go-difflib: 5d4384e β v1.0.0
- github.com/prometheus/client_golang: v1.20.5 β v1.23.2
- github.com/prometheus/client_model: v0.6.1 β v0.6.2
- github.com/prometheus/common: v0.55.0 β v0.66.1
- github.com/prometheus/procfs: v0.15.1 β v0.16.1
- github.com/rogpeppe/go-internal: v1.12.0 β v1.13.1
- github.com/sagikazarmark/locafero: v0.4.0 β v0.7.0
- github.com/spf13/afero: v1.11.0 β v1.12.0
- github.com/spf13/cast: v1.7.0 β v1.7.1
- github.com/spf13/cobra: v1.8.1 β v1.9.1
- github.com/spf13/pflag: v1.0.6 β v1.0.10
- github.com/spf13/viper: v1.19.0 β v1.20.1
- github.com/stretchr/testify: v1.9.0 β v1.11.1
- github.com/xiang90/probing: 43a291a β a49e3df
- go.etcd.io/bbolt: v1.3.9 β v1.3.11
- go.etcd.io/etcd/api/v3: v3.5.17 β v3.5.22
- go.etcd.io/etcd/client/pkg/v3: v3.5.17 β v3.5.22
- go.etcd.io/etcd/client/v2: v2.305.13 β v2.305.21
- go.etcd.io/etcd/client/v3: v3.5.17 β v3.5.22
- go.etcd.io/etcd/pkg/v3: v3.5.13 β v3.5.21
- go.etcd.io/etcd/raft/v3: v3.5.13 β v3.5.21
- go.etcd.io/etcd/server/v3: v3.5.13 β v3.5.21
- 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.53.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.28.0 β v1.34.0
- go.opentelemetry.io/otel/sdk: v1.28.0 β v1.34.0
- go.opentelemetry.io/otel/trace: v1.28.0 β v1.34.0
- go.opentelemetry.io/otel: v1.28.0 β v1.34.0
- go.opentelemetry.io/proto/otlp: v1.3.1 β v1.4.0
- go.uber.org/mock: v0.5.0 β v0.6.0
- golang.org/x/crypto: v0.32.0 β v0.42.0
- golang.org/x/exp: 8a7402a β b2144cd
- golang.org/x/mod: v0.22.0 β v0.27.0
- golang.org/x/net: v0.33.0 β v0.43.0
- golang.org/x/oauth2: v0.24.0 β v0.30.0
- golang.org/x/sync: v0.10.0 β v0.17.0
- golang.org/x/sys: v0.29.0 β v0.36.0
- golang.org/x/telemetry: bda5523 β 1a19826
- golang.org/x/term: v0.28.0 β v0.35.0
- golang.org/x/text: v0.21.0 β v0.29.0
- golang.org/x/time: v0.5.0 β v0.9.0
- golang.org/x/tools: v0.28.0 β v0.36.0
- golang.org/x/xerrors: 04be3eb β 5ec99f8
- gomodules.xyz/jsonpatch/v2: v2.4.0 β v2.5.0
- google.golang.org/api: v0.171.0 β v0.215.0
- google.golang.org/appengine: v1.6.8 β v1.6.7
- google.golang.org/genproto/googleapis/api: 5315273 β 5f5ef82
- google.golang.org/genproto/googleapis/rpc: f6361c8 β 1a7da9e
- google.golang.org/genproto: 012b6fc β e639e21
- google.golang.org/grpc: v1.65.1 β v1.71.3
- google.golang.org/protobuf: v1.36.1 β v1.36.8
- k8s.io/api: v0.31.5 β v0.33.4
- k8s.io/apiextensions-apiserver: v0.31.5 β v0.33.4
- k8s.io/apimachinery: v0.31.5 β v0.33.4
- k8s.io/apiserver: v0.31.5 β v0.33.4
- k8s.io/client-go: v0.31.5 β v0.33.4
- k8s.io/cluster-bootstrap: v0.31.3 β v0.33.3
- k8s.io/code-generator: v0.31.5 β v0.33.4
- k8s.io/component-base: v0.31.5 β v0.33.4
- k8s.io/gengo/v2: 51d4e06 β 1244d31
- k8s.io/kms: v0.31.5 β v0.33.4
- k8s.io/kube-openapi: 70dd376 β 8b98d1e
- k8s.io/utils: 18e509b β 4c0f3b2
- sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.30.3 β v0.31.2
- sigs.k8s.io/cluster-api/test: v1.9.4 β v1.11.1
- sigs.k8s.io/cluster-api: v1.9.4 β v1.11.1
- sigs.k8s.io/controller-runtime: v0.19.5 β v0.21.0
- sigs.k8s.io/json: bc3834c β 9aa6b5e
- sigs.k8s.io/kind: v0.25.0 β v0.30.0
- sigs.k8s.io/structured-merge-diff/v4: v4.4.1 β v4.7.0
- sigs.k8s.io/yaml: v1.4.0 β v1.6.0
Removed
- cloud.google.com/go/compute: v1.24.0
- cloud.google.com/go/firestore: v1.15.0
- cloud.google.com/go/longrunning: v0.5.5
- github.com/alessio/shellescape: v1.4.2
- github.com/armon/go-metrics: v0.4.1
- github.com/go-kit/log: v0.2.1
- github.com/go-logfmt/logfmt: v0.5.1
- github.com/google/safetext: b49f7bc
- github.com/googleapis/google-cloud-go-testing: 1c9a4c6
- github.com/hashicorp/consul/api: v1.28.2
- github.com/hashicorp/errwrap: v1.1.0
- github.com/hashicorp/go-cleanhttp: v0.5.2
- github.com/hashicorp/go-hclog: v1.5.0
- github.com/hashicorp/go-immutable-radix: v1.3.1
- github.com/hashicorp/go-multierror: v1.1.1
- github.com/hashicorp/go-rootcerts: v1.0.2
- github.com/hashicorp/golang-lru: v0.5.4
- github.com/hashicorp/hcl: v1.0.0
- github.com/hashicorp/serf: v0.10.1
- github.com/imdario/mergo: v0.3.15
- github.com/k-orc/openstack-resource-controller: v1.0.0
- github.com/magiconair/properties: v1.8.7
- github.com/mitchellh/go-homedir: v1.1.0
- github.com/mitchellh/mapstructure: v1.5.0
- github.com/nats-io/nats.go: v1.34.0
- github.com/nats-io/nkeys: v0.4.7
- github.com/nats-io/nuid: v1.0.1
- github.com/sagikazarmark/crypt: v0.19.0
- github.com/sagikazarmark/slog-shim: v0.1.0
- gopkg.in/square/go-jose.v2: v2.6.0
Thanks to all our contributors! π