chore(deps): align k8s.io stack to 0.36.2 and controller-runtime to 0.24.1#399
Conversation
|
Warning Review limit reached
More reviews will be available in 33 minutes and 8 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. 📝 WalkthroughWalkthroughUpgrades the Go toolchain from 1.25 to 1.26 in the Dockerfile builder image and ChangesGo 1.26 Toolchain and Dependency Upgrade
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Security: also bumps
|
….24.1
Dependabot raises the k8s.io/{api,apimachinery,client-go} bumps individually
(KaotoIO#395, KaotoIO#396, KaotoIO#397), which cannot build because the three modules must move in
lockstep -- client-go 0.35 references API GroupVersions (autoscaling/v2beta1,
scheduling/v1alpha1) that were removed in k8s.io/api 0.36. This aligns the whole
Kubernetes / sigs.k8s.io stack as a single coherent update:
k8s.io/api, apimachinery, client-go 0.35.3 -> 0.36.2
k8s.io/apiextensions-apiserver 0.35.1 -> 0.36.0 (indirect)
k8s.io/klog/v2 2.130.1 -> 2.140.0
sigs.k8s.io/controller-runtime 0.23.1 -> 0.24.1 (0.24 line targets k8s 0.36)
sigs.k8s.io/structured-merge-diff/v6 pseudo -> 6.4.0
k8s 0.36 and controller-runtime 0.24 require Go 1.26, so the go directive moves
1.25.7 -> 1.26.0 and the builder image moves golang:1.25 -> golang:1.26. The
workflows already read go-version-file: go.mod, so they pick this up.
Supersedes KaotoIO#379, KaotoIO#380, KaotoIO#390, KaotoIO#395, KaotoIO#396, KaotoIO#397.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
govulncheck flags two reachable vulnerabilities in golang.org/x/net v0.49.0, reachable via openshift.IsOpenShift -> discovery client: - GO-2026-4918: infinite loop in HTTP/2 transport (fixed in v0.53.0) - GO-2026-5026: idna ASCII-only Punycode label handling (fixed in v0.55.0) This is the go.mod finding reported by the security/snyk check. Bumping to v0.56.0 (plus the x/sys, x/term, x/text deps it pulls) clears both; govulncheck now reports no vulnerabilities. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
66ddd7e to
6c18f2b
Compare
The k8s 0.36 / controller-runtime 0.24 bump requires Go 1.26, but `go get` set the directive to the unpatched 1.26.0, which carries ~20 Go stdlib advisories (GO-2026-4599 .. GO-2026-5039 -- e.g. GO-2026-4918, the HTTP/2 transport infinite loop). This is what the security/snyk check flags against go.mod. Pinning the latest 1.26 patch (1.26.4) clears them all; osv-scanner then reports no vulnerabilities. Mirrors the existing convention of pinning patched Go releases (cf. the earlier 1.25.0 -> 1.25.7 bump). CI reads go-version-file: go.mod and the Dockerfile uses golang:1.26, so both build with the patched toolchain. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Root cause of the
|
What
Aligns the whole Kubernetes /
sigs.k8s.iodependency stack as a single coherent update — something Dependabot can't do because it raises eachk8s.io/*module in a separate PR — plus the security follow-ups that fall out of it.k8s.io/api/apimachinery/client-gok8s.io/apiextensions-apiserver(indirect)k8s.io/klog/v2sigs.k8s.io/controller-runtimesigs.k8s.io/structured-merge-diff/v6golang.org/x/net(indirect)godirectiveWhy
The individual Dependabot k8s bumps (#395, #396, #397) fail to build:
client-go0.35 references API GroupVersions (autoscaling/v2beta1,scheduling/v1alpha1) removed ink8s.io/api0.36, so the three must move in lockstep.controller-runtime0.24 is the line that targets k8s 0.36 (0.23.x targets 0.35), superseding #379.Security (the
go.modfindings)k8s 0.36 / controller-runtime 0.24 require Go 1.26. Two security items surface from that and were fixed here:
golang.org/x/net→ v0.56.0 —govulncheckflagged two reachable CVEs in v0.49.0 (GO-2026-4918 HTTP/2 transport loop, GO-2026-5026 idna), reachable viaopenshift.IsOpenShift.godirective → 1.26.4 —go getset it to the unpatched1.26.0, which carries ~20 Go stdlib advisories (GO-2026-4599 … GO-2026-5039). Pinning the latest 1.26 patch clears them;osv-scannerandgovulncheckboth report no vulnerabilities. (Mirrors the repo's1.25.0 → 1.25.7convention.)The builder image moves
golang:1.25 → golang:1.26; CI readsgo-version-file: go.mod, so both build on the patched toolchain.Verification
go build/go vet/go test ./pkg/... ./internal/...✅ ·make manifests generate✅ (no drift) ·govulncheck ./...clean ·osv-scannerclean. CI: build ✅, e2e ✅, e2e/images ✅.Supersedes
Replaces #379, #380, #390, #395, #396, #397 with one coherent update.