Farewell, gardener/controlplane Helm Chart ​
With Gardener v1.142, the deprecated gardener/controlplane Helm chart has been removed. All local development scenarios and e2e tests now run exclusively on gardener-operator — the canonical way to deploy Gardener. This marks the end of a migration journey that began over a year ago.
gardener-operator Is the Way Forward ​
The gardener-operator is the single supported method for deploying and managing Gardener landscapes. It reconciles a Garden resource, creating and managing the virtual garden cluster with its etcd, kube-apiserver, gardener-apiserver, and all other required components. If you haven't migrated yet, now is the time — the legacy Helm chart no longer exists.
What Changed for Local Development ​
The removal also brings a cleaner local development experience:
- New
dev-setup/directory — all development-related configuration (Skaffold files, scripts, configs) is consolidated in a singledev-setup/folder, replacing files previously scattered across the repository. - Kustomize replaces Helm — the local setup uses Kustomize with a base/components/overlay pattern. Each scenario (single-node, multi-node, multi-zone) is an overlay that composes a base configuration with scenario-specific patches.
- Unified kubeconfig directory — all kubeconfigs live in
dev-setup/kubeconfigs/with subdirectories for each cluster type (runtime,seed,virtual-garden). - Simplified Make targets —
make kind-upis now an alias formake kind-single-node-up, and the formermake operator-seed-{up,dev,down}targets are renamed tomake gardener-{up,dev,down}. - Merged kubeconfig script —
generate-admin-kubeconfig-local.shis merged intogenerate-kubeconfig.shwith subcommands (shoot,virtual-garden,self-hosted-shoot).
The Experience Stays Familiar ​
Despite the restructuring, the top-level workflow remains the same:
make kind-up # Start KinD cluster (picks your scenario)
make gardener-up # Deploy Gardener via gardener-operatorThe scenario is now selected at kind-up time and automatically detected by subsequent commands — no more switching between incompatible make targets mid-session.
Breaking Changes for Developers ​
If you maintain an existing local development setup or CI scripts:
- Replace
make operator-seed-{up,dev,down}withmake gardener-{up,dev,down} - Update references to
./hack/usage/generate-admin-kubeconfig-local.sh→ use./hack/usage/generate-kubeconfig.sh --help - For the remote setup, the seed kubeconfig moved from
dev-setup/remote/kubeconfigs/kubeconfigtodev-setup/kubeconfigs/remote/kubeconfig