diff --git a/CHANGELOG.md b/CHANGELOG.md index 5cd955a8..6869be90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,30 @@ # Changelog +## [v1.29.0](https://github.com/hetznercloud/hcloud-cloud-controller-manager/releases/tag/v1.29.0) + +### Watch-Based Route Reconciliation + +Previously, route reconciliation is performed at a fixed interval of 30s. This leads to unnecessary API requests, as a `GET /v1/networks/{id}` call is triggered every 30s, even when no changes have occurred. + +Upstream, we have contributed an event-driven approach, similar to the mechanisms used by other controllers such as the Load Balancer controller. With this new approach, route reconciliation is triggered by node additions, node deletions, or changes to a node’s `PodCIDRs` or `Addresses`. Additionally, to ensure consistency, reconciliation still occurs periodically at a randomized interval between 12 and 24 hours. + +#### Enabled by default + +This feature is now **enabled by default**. + +If you encounter any problems you can disable the feature by setting the following Helm value: + +`args.feature-gates=CloudControllerManagerWatchBasedRoutesReconciliation=false` + +### Global Load Balancer Defaults + +Configure cluster-wide defaults for Load Balancers via the extended `HCLOUD_LOAD_BALANCERS_*` env vars. These values automatically apply during Load Balancer creation and reconciliation whenever annotations are omitted. Learn more about it in the [reference documentation](docs/reference/load_balancer_envs.md) + +### Features + +- extend environment variables for default load balancer configuration (#1052) +- enable watch based route reconciliation by default (#1112) + ## [v1.28.0](https://github.com/hetznercloud/hcloud-cloud-controller-manager/releases/tag/v1.28.0) ### Updated ClusterRole for HCCM diff --git a/chart/.snapshots/default.yaml b/chart/.snapshots/default.yaml index 33ae3a3f..fd22ad0f 100644 --- a/chart/.snapshots/default.yaml +++ b/chart/.snapshots/default.yaml @@ -162,7 +162,7 @@ spec: key: robot-user name: hcloud optional: true - image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.28.0 # x-releaser-pleaser-version + image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.29.0 # x-releaser-pleaser-version ports: - name: metrics containerPort: 8233 diff --git a/chart/.snapshots/full.daemonset.yaml b/chart/.snapshots/full.daemonset.yaml index 01ab6274..d5461149 100644 --- a/chart/.snapshots/full.daemonset.yaml +++ b/chart/.snapshots/full.daemonset.yaml @@ -171,7 +171,7 @@ spec: key: robot-user name: hcloud optional: true - image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.28.0 # x-releaser-pleaser-version + image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.29.0 # x-releaser-pleaser-version ports: - name: metrics containerPort: 8233 diff --git a/chart/Chart.yaml b/chart/Chart.yaml index 7bb2c588..b006adf3 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -1,4 +1,4 @@ apiVersion: v2 name: hcloud-cloud-controller-manager type: application -version: 1.28.0 # x-releaser-pleaser-version +version: 1.29.0 # x-releaser-pleaser-version diff --git a/deploy/ccm-networks.yaml b/deploy/ccm-networks.yaml index 8a6ded60..a9162a96 100644 --- a/deploy/ccm-networks.yaml +++ b/deploy/ccm-networks.yaml @@ -168,7 +168,7 @@ spec: secretKeyRef: key: network name: hcloud - image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.28.0 # x-releaser-pleaser-version + image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.29.0 # x-releaser-pleaser-version ports: - name: metrics containerPort: 8233 diff --git a/deploy/ccm.yaml b/deploy/ccm.yaml index b609232f..58fbb0c2 100644 --- a/deploy/ccm.yaml +++ b/deploy/ccm.yaml @@ -160,7 +160,7 @@ spec: key: robot-user name: hcloud optional: true - image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.28.0 # x-releaser-pleaser-version + image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.29.0 # x-releaser-pleaser-version ports: - name: metrics containerPort: 8233