⚠️ Important Upgrade Notes
Important
Before upgrading to the next major version, ensure you are using the latest Hcloud Kubernetes v3 release.
The upgrade from Hcloud Kubernetes v3 to v4 introduces Talos configuration changes that require a reboot. For a seamless upgrade, set talos_machine_configuration_apply_mode to staged. This applies the configuration change in staged mode and performs a rolling reboot of all cluster nodes.
During the upgrade, errors like the following can occur and stop the upgrade procedure:
│ Error: Provider produced inconsistent final plan
│
│ When expanding the plan for module.kubernetes.talos_machine_configuration_apply.control_plane["k8s-control-1"] to include new values learned so far during apply, provider "registry.opentofu.org/siderolabs/talos" produced an invalid new value for .machine_configuration: inconsistent values for sensitive attribute.
│
│ This is a bug in the provider, which should be reported in the provider's own issue tracker.
This is likely caused by a bug in the Talos Terraform provider upgrade and should be resolved by running the apply a second time.
After the entire upgrade procedure is finished, talos_machine_configuration_apply_mode can be removed. Some pods may remain marked as Failed or Succeeded. These leftovers can be cleaned up with:
kubectl delete pods --field-selector=status.phase==Failed -A
kubectl delete pods --field-selector=status.phase==Succeeded -AWhat's Changed
- chore(deps): update dependency siderolabs/talos to v1.12.6 by @renovate[bot] in #294
- chore(deps): update dependency siderolabs/talos-cloud-controller-manager to v1.12.0 by @renovate[bot] in #301
- chore(deps): update terraform talos to v0.10.1 by @renovate[bot] in #287
- chore: add curl check to client prerequisites by @M4t7e in #371
- feat(ingress-nginx): add deprecation acknowledgment variable by @M4t7e in #372
- feat(talos): add automatic reboot for staged configuration by @M4t7e in #376
- feat(talos): migrate Talos configuration to multi-document by @M4t7e in #379
- chore(deps): update helm release cert-manager to v1.20.1 by @renovate[bot] in #375
- feat: (v4) add support for TrustedRootsConfig CA certificates by @mlinares1998 in #377
- fix: (v4) 0.0.0.0/0 route handling by @mlinares1998 in #381
- Add talosconfig_machine_secrets to outputs by @jke-tapesandpips in #382
- chore(deps): update helm release cert-manager to v1.20.2 by @renovate[bot] in #384
- chore(deps): update terraform talos to v0.11.0 by @renovate[bot] in #392
- chore(deps): update helm release hcloud-csi to v2.20.2 by @renovate[bot] in #386
- chore(deps): update dependency siderolabs/talos to v1.12.7 by @renovate[bot] in #391
- feat(cluster-autoscaler): enable discovery by default by @M4t7e in #395
New Contributors
- @jke-tapesandpips made their first contribution in #382
Deprecations
- Deprecated Ingress NGINX (See: Retirement in March 2026)
Full Changelog: 3.30.2...4.0.0