$ the-wire · showcase
kOps drops legacy keyset aliases, mirroring deeper Kubernetes dependency shifts
By RepoJournal · Filed · About Kubernetes
kOps removes legacy PKI fallbacks that could wrongly trigger CA recreation, while Kubernetes publishing repos roll forward on structured-merge-diff v7, kube-openapi, and Go 1.27.
kOps removed legacy keyset fallbacks and obsolete LegacyFormat migration code [1]. This drops fallbacks that "could mask transient read errors and cause kOps to propose recreating an existing CA," and it addresses issue #18680. Operators on older clusters with legacy key formats should upgrade carefully: the removed aliases were the safety net that let kOps read pre-migration keysets.
Meanwhile, Jordan Liggitt landed a coordinated dependency bump across the Kubernetes codebase: structured-merge-diff/v7, latest kube-openapi, and dropping json-iterator [2]. This lands in code-generator, endpointslice, and kube-scheduler as a single vendoring wave [3]. The same work also updates those repos to Go 1.27 [4]. For downstream consumers, this means schema-merge behavior and JSON handling will shift to the newer stack with the next Kubernetes release.
In the same generator space, validation-gen is now importable: it was split into generator and args packages [5], the tag prefix is configurable (no longer hard-coded to "k8s:") [6], and a worked custom-prefix example was added [7]. Third-party projects that wanted to reuse validation-gen with their own tags can now build their own binary on the same code.
Action items
- → Review kOps clusters for legacy PKI before upgrading: confirm no pre-migration keysets remain, then upgrade kOps to a build that includes this change. kubernetes/kops [immediate]
- → Monitor Kubernetes releases for the structured-merge-diff v7 and drop-json-iterator change; test your CRDs' merge behavior when it lands. kubernetes/code-generator [monitor]
- → Plan to adopt Go 1.27 for any code that imports Kubernetes publishing repos, since they now build on it. kubernetes/endpointslice [plan]
- → Evaluate validation-gen for your own generator needs now that tag prefixes are configurable and the code is importable. kubernetes/code-generator [plan]
References
- [1] fix(pki): drop legacy keyset aliases ↗ kubernetes/kops
- [2] Merge pull request #141664 from liggitt/smd-json-v2 ↗ kubernetes/endpointslice
- [3] Vendor smd/v7, latest kube-openapi ↗ kubernetes/endpointslice
- [4] Merge pull request #141663 from liggitt/go127 ↗ kubernetes/endpointslice
- [5] validation-gen: split the generator into importable packages ↗ kubernetes/code-generator
- [6] validation-gen: make the tag prefix configurable ↗ kubernetes/code-generator
- [7] validation-gen: add a worked custom-prefix example ↗ kubernetes/code-generator