Skip to content

build(deps): k8s.io 0.36 + controller-runtime v0.24 (subsumes #7, #8)#26

Merged
Tombar merged 1 commit into
mainfrom
chore/k8s-0.36-controller-runtime-0.24
Jun 9, 2026
Merged

build(deps): k8s.io 0.36 + controller-runtime v0.24 (subsumes #7, #8)#26
Tombar merged 1 commit into
mainfrom
chore/k8s-0.36-controller-runtime-0.24

Conversation

@Tombar

@Tombar Tombar commented Jun 9, 2026

Copy link
Copy Markdown
Member

Why

Dependabot opened #7 (k8s.io/api → 0.36) and #8 (client-go → 0.36) as standalone bumps, but neither can build: k8s 0.36's client-go adds ResourceEventHandlerRegistration.HasSyncedChecker, which controller-runtime v0.21 doesn't implement — so the upgrade must be coordinated with controller-runtime.

What

  • go.mod/go.sum: k8s.io/* v0.33 → v0.36.1, sigs.k8s.io/controller-runtime v0.21 → v0.24.1. The Makefile auto-derives ENVTEST_VERSION (→ release-0.24) and ENVTEST_K8S_VERSION (→ 1.36) from go.mod.
  • Regenerated the CRD — k8s 0.36's corev1.PersistentVolumeClaimSpec gained fields that flow through storage.persistentVolumeClaim.
  • Operator code unchangedgo build, go vet, and the full envtest suite are clean against cr v0.24 / k8s 0.36.
  • Suppressed 4 new SA1019 deprecations (client.Apply SSA PatchType ×3, scaffolded scheme.Builder) with documented //nolint. Both still function in v0.24; migrating them (especially the SSA path CLAUDE.md guards) is left to a focused follow-up.

Verification

make test (envtest k8s 1.36 + controller-runtime v0.24.1) ✓, make lint ✓ (0 issues), go build ./... ✓, gofmt clean, CRD regenerated (no drift).

Subsumes dependabot #7 and #8 — I'll close those once this lands.

🤖 Generated with Claude Code

Coordinated upgrade that the standalone dependabot bumps couldn't do:
k8s.io/api, apimachinery, and client-go to v0.36.1 require
controller-runtime v0.24.x (v0.21 doesn't implement client-go's new
ResourceEventHandlerRegistration.HasSyncedChecker, so bumping k8s alone
fails to compile in controller-runtime's own cache package).

- go.mod/go.sum: k8s.io/* v0.33 -> v0.36.1, controller-runtime v0.21 ->
  v0.24.1. ENVTEST_VERSION (release-0.24) and ENVTEST_K8S_VERSION (1.36)
  auto-derive from go.mod in the Makefile.
- Regenerated the CRD: k8s 0.36's corev1.PersistentVolumeClaimSpec gained
  fields that flow through storage.persistentVolumeClaim.
- Operator code needed no changes (build + vet + envtest all clean).
- Suppressed 4 new SA1019 deprecations (client.Apply SSA PatchType x3,
  scaffolded scheme.Builder) with documented //nolint; both still work in
  v0.24, and migrating them is tracked separately to keep this focused.

Subsumes dependabot #7 (k8s.io/api) and #8 (client-go).

Verified: make test (envtest k8s 1.36), make lint (0 issues), go build,
gofmt — all clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Tom Bar <martinloy.uy@gmail.com>
@Tombar
Tombar merged commit 3ef0989 into main Jun 9, 2026
7 checks passed
@Tombar
Tombar deleted the chore/k8s-0.36-controller-runtime-0.24 branch June 9, 2026 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant