🌱 Bump kind to v0.32.0 and rework kindest/node image selection#2744
🌱 Bump kind to v0.32.0 and rework kindest/node image selection#2744pedjak wants to merge 1 commit into
Conversation
✅ Deploy Preview for olmv1 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Pull request overview
This PR updates the local/CI dev tooling around Kind + Tilt by bumping Kind to v0.32.0 and Tilt to v0.37.3, and adjusts Kind cluster creation to explicitly select a kindest/node image matching the project’s Kubernetes minor version.
Changes:
- Bump Kind tooling to v0.32.0 via bingo-managed toolchain.
- Bump Tilt used in CI to v0.37.3.
- Rework
kind-cluster/validation to select a pinned kindest/node image based onK8S_VERSION, and add akind-update-imagesgenerator target.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| Makefile | Uses validate script output to pass --image to Kind; adds kind-update-images generator target. |
| hack/tools/validate_kindest_node.sh | Replaced “compare default kind image vs K8S_VERSION” logic with a generated map from k8s minor → kindest/node image digest. |
| .github/workflows/tilt.yaml | Bumps Tilt version used in CI. |
| .bingo/Variables.mk | Bumps the pinned Kind binary version to v0.32.0. |
| .bingo/variables.env | Updates exported KIND path to v0.32.0. |
| .bingo/kind.mod | Updates Kind module requirement to v0.32.0. |
| .bingo/kind.sum | Adds sums for Kind v0.32.0. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
4f71a62 to
43ebe20
Compare
43ebe20 to
15c175f
Compare
36a62bb to
355cf1e
Compare
| @KIND_VER=$$($(KIND) version | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+'); \ | ||
| if [ -z "$$KIND_VER" ]; then echo "Error: could not determine kind version." >&2; exit 1; fi; \ | ||
| echo "Fetching kindest/node images for kind $$KIND_VER..."; \ | ||
| IMAGES=$$(gh api "repos/kubernetes-sigs/kind/releases/tags/$$KIND_VER" \ | ||
| --jq '.body' | grep -oE 'kindest/node:v[^ ]+@sha256:[a-f0-9]+' | sort -uV); \ | ||
| CONTENT=$$(<$(VALIDATE_KINDEST_NODE_SCRIPT)); \ |
There was a problem hiding this comment.
I know a number of people use macOS for their development platform, so you may want to consider addressing this comment. Right now, only linux users could update the SHAs
This appears to be the case (tested on macOS Tahoe)
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2744 +/- ##
==========================================
- Coverage 66.96% 66.95% -0.02%
==========================================
Files 149 149
Lines 11341 11341
==========================================
- Hits 7595 7593 -2
- Misses 3190 3191 +1
- Partials 556 557 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Bump kind from v0.31.0 to v0.32.0. Rework validate_kindest_node.sh to embed all released kindest/node images for the pinned kind version (as a case statement), rather than checking strict equality against kind's default image. This allows kind to be bumped independently of k8s dependency upgrades, since kind v0.32.0 supports k8s 1.33 through 1.36. The script now outputs the correct kindest/node image for the project's K8S_VERSION, and kind-cluster passes it via --image. A new make target `kind-update-images` regenerates the image map by querying the kind GitHub release. The tilt CI workflow is updated to symlink the bingo-managed kind binary as `kind` on the PATH, so tilt's `kind load` calls use the correct version. Co-authored-by: Predrag Knezevic <pknezevi@redhat.com>
355cf1e to
932c44a
Compare
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
| cd operator-controller | ||
| make kind-cluster | ||
| # Symlink bingo-managed kind binary so tilt can find it as 'kind' | ||
| ln -sf "$(make --no-print-directory --eval='print-kind: ; @echo $(KIND)' print-kind)" /usr/local/bin/kind |
There was a problem hiding this comment.
I'm a bit leery on this. However, it's a github workflow, so it won't impact someone's environment.
Is there no way to tell tilt to use kind-v0.32.0 vs kind?
| 1.33) IMAGE="kindest/node:v1.33.12@sha256:3f5c8443c620245e4d355cfe09e96a91ead32ceaa569d3f1ca9edf0cb2fe2ff4" ;; | ||
| 1.34) IMAGE="kindest/node:v1.34.8@sha256:02722c2dedddcfc00febf5d27fbeb9b7b2c14294c82109ff4a85d89ac9ba3256" ;; | ||
| 1.35) IMAGE="kindest/node:v1.35.5@sha256:ce977ae6d65918d0b58a5f8b5e940429c2ce42fa3a5619ec2bbc60b949c0ac95" ;; | ||
| 1.36) IMAGE="kindest/node:v1.36.1@sha256:3489c7674813ba5d8b1a9977baea8a6e553784dab7b84759d1014dbd78f7ebd5" ;; |
There was a problem hiding this comment.
Various review tools may disagree, but do we really want to use the SHA's here?
There was a problem hiding this comment.
Actually, is this a problem for those running kind natively on macOS?
It does not appear to be, I was able to standup a cluster and tun e2e tests on macOS.
Description
Bump kind from v0.31.0 to v0.32.0 and rework
validate_kindest_node.shto support decoupled kind and k8s version upgrades.Previously,
validate_kindest_node.shenforced strict equality between kind's default node image and the project's k8s version, making it impossible to bump kind independently. Kind v0.32.0 defaults to k8s v1.36 but the project currently uses v1.35 — the old check would fail despite v0.32.0 fully supporting v1.35.Changes:
validate_kindest_node.shto embed all released kindest/node images for the pinned kind version (as a portablecasestatement), enabling kind to be bumped independently of k8s dependency upgradeskind-clusternow passes the correct--imagebased on the project's K8S_VERSIONmake kind-update-imagestarget regenerates the image map from the kind GitHub releasekind loaduses the correct versionReviewer Checklist