The Wire · Showcase
KOPS SHEDS BLOAT: HELM AND GCP DEPENDENCIES GONE
By RepoJournal · Filed · About Kubernetes
kOps just dropped two massive dependency chains it barely used — cutting 43k lines of vendored code and simplifying its cloud provider story.
The kOps team eliminated `helm.sh/helm/v3` entirely after discovering `toolbox template` only needed two narrow APIs from it [1]. That single module was pulling in containerd, oras-go, and most of helm's chart machinery with zero benefit. In the same sweep, they forked a single OAuth2 helper function out of `k8s.io/cloud-provider-gcp` [2], which had been dragging in the entire GCE cloud provider, GoogleCloudPlatform SDKs, and alpha/beta compute APIs kOps never touched. Separately, Azure blob storage URLs got redesigned to be self-contained [3] — the storage account name now lives in the URL itself rather than an environment variable, forcing a clean migration path and eliminating environment-dependent state. On the upgrade front, kOps bumped the AWS load balancer controller to 3.3.0 [4] specifically to fix failing prow jobs, and switched structured-merge-diff from v4 to v6 [5]. Meanwhile, the Kubernetes core repo is in cleanup mode: dropping the LogarithmicScaleDown feature gate after 1.31 GA [6], removing NodeLocalCRISocket from kubeadm in 1.37 [7], and replacing deprecated `wait.PollImmediate` calls across the test suite [8].
Action items
- → Review kOps dependency chain if you vendor it — 43k lines of unused code just left the building kubernetes/kops [plan]
- → Plan Azure blob URL migration before next kOps upgrade — environment variable support is gone kubernetes/kops [plan]
- → Update AWS load balancer controller in your kOps clusters to 3.3.0 kubernetes/kops [monitor]
References
- [1] chore: drop helm dependency and fork strvals ↗ kubernetes/kops
- [2] chore: drop cloud-provider-gcp dependency and fork NewAltTokenSource ↗ kubernetes/kops
- [3] azure: encode storage account in azureblob:// URLs ↗ kubernetes/kops
- [4] Upgrade AWS load balancer controller to 3.3.0 ↗ kubernetes/kops
- [5] chore: switch structured-merge-diff from v4 to v6 ↗ kubernetes/kops
- [6] Merge pull request #138711 from soltysh/drop_LogarithmicScaleDown kubernetes/kubernetes
- [7] Merge pull request #138645 from neolit123/1.37-remove-the-NodeLocalCRISocket-fg kubernetes/kubernetes
- [8] Merge pull request #138777 from Jefftree/fix-pollimmediate-deprecated kubernetes/kubernetes
FAQ
- What changed in Kubernetes on May 6, 2026?
- kOps just dropped two massive dependency chains it barely used — cutting 43k lines of vendored code and simplifying its cloud provider story.
- What should Kubernetes teams do about it?
- Review kOps dependency chain if you vendor it — 43k lines of unused code just left the building • Plan Azure blob URL migration before next kOps upgrade — environment variable support is gone • Update AWS load balancer controller in your kOps clusters to 3.3.0
- Which Kubernetes repositories shipped on May 6, 2026?
- kubernetes/kops, kubernetes/kubernetes