v0.3.4
Changes since v0.3.3
✨ New Features
- Update MHC proposal with new annotation strategy (#2920) — An internal rework of MachineHealthCheck is has been approved and will be ready in a future version. This allows us to better split responsibilities between controllers, and add support for KCP (and other control plane providers) to remediate control plane.
- Support specific kubeconfig context in clusterctl (#2856) — Allows to pass a specific kubeconfig context to be used when using a kubeconfig. CLI and library users can see the complete list of breaking changes here.
- Make clusterctl cert-manager timeout configurable (#2834) — Users can now set a custom timeout used when clusterctl installs cert-manager.
- Add DeleteMachineAnnotation for MachineSet Delete Policy (#2929) — Our
api
package now exposes a new annotation specific to MachineSet-owned Machine objects calledDeleteMachineAnnotation
which replaces the now-deprecatedDeleteNodeAnnotation
.
🐛 Bug Fixes
- KCP should correctly select machines in failure domains during upgrades (#2833)
- KCP should check if it has machines being deleted before proceeding with scale up/down (#2958)
- KCP should now correctly allow custom
imageRepository
fields to be used for CoreDNS (#2832) - KCP should connect to the etcd leader whenever possible for basic operations (#2821)
- KCP should recover when a Machine is manually deleted (#2841)
- KCP should re-queue until the control plane is ready (#2907)
- CABPK should not panic when using external etcd with undefined secrets (#2946)
- Remove invalid ClusterRoleBinding from CertManager (#2931)
- Allow webhooks to be called when using
--dry-run
by reporting no side-effect behaviors (#2868) - MachineSet controller should not use Update as a fallback (#2913)
- Clusterctl shouldn't show invalid URLs when running
config provider
(#2948) - Clusterctl should show
config provider
without setting env vars (#2905) - Clusterctl should return an error if it the given config file doesn't exist (#2899)
- Clusterctl should not return an error if it cannot find default config (#2951)
- Clusterctl should now work correctly with variables containing a
$
sign (#2858) - Clusterctl now validates the minimum Kubernetes version required for a management cluster (#2842)
- Clusterctl now correctly allows users to override user specified values for control plane and worker machine count (#2597)
- Clusterctl should now cache GitHub calls (#2848)
📖 Documentation
- Update roadmap with focus on v1alpha3 (#2882)
- Document the minimum required management cluster Kubernetes version (#2901)
- Update MachineDeployment controller image in docs (#2878)
- Document Docker and KIND prerequisites (#2925)
- Clarify that MachineHealthCheck only works with MachineSet and MachineDeployment Machines (#2875)
- Add initial Spot instances proposal (#2817)
- Add Azure tab for deploy Calico CNI step in Quick Start (#2883)
- Add subscription id to azure Quick Start (#2853)
🏃 Others
- Add a library to parse container image name and other fields (#2869)
- Grant RBAC access to experimental infra api group (#2959)
- Remove issue-proposals in favor of CAEP process (#2940)
- Allow extra arguments to be passed when using Tilt (#2932)
- Remove
cmd/clusterctl/test
folder, now superseded with new e2e-tests (#2933) - Remove annotations on upgradeControlPlane (#2887)
- Add ci-apidiff job (#2923)
- Introduce the new clusterctl-based suite of e2e tests (#2884)
- Increase e2e test timeout (#2942, #2936)
- Re-organize helpers func (#2922)
- Add ClusterProvider and ClusterProxy (#2911)
- Improve and cleanup e2e clusterctl (#2909)
- Ensure that capd tests always clean up the kind cluster (#2917)
- Improve management cluster interface (#2893)
- Add namespace utils to the test framework (#2891)
- Dump all resources when test ends (#2894)
- Add log streaming to clusterctl e2e (#2879)
- Add KCP integration and unit tests (#2802)
- Improve unit test coverage for KCP (#2862)
- Add workload cluster unit tests in KCP (#2806)
Thanks to all our contributors! 😊