Skip to content

🌱 Bump kind to v0.32.0 and rework kindest/node image selection#2744

Merged
openshift-merge-bot[bot] merged 1 commit into
operator-framework:mainfrom
pedjak:worktree-bump-kind-and-tilt
Jun 8, 2026
Merged

🌱 Bump kind to v0.32.0 and rework kindest/node image selection#2744
openshift-merge-bot[bot] merged 1 commit into
operator-framework:mainfrom
pedjak:worktree-bump-kind-and-tilt

Conversation

@pedjak

@pedjak pedjak commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Description

Bump kind from v0.31.0 to v0.32.0 and rework validate_kindest_node.sh to support decoupled kind and k8s version upgrades.

Previously, validate_kindest_node.sh enforced 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:

  • Bump kind from v0.31.0 to v0.32.0 (supports k8s 1.33–1.36)
  • Rework validate_kindest_node.sh to embed all released kindest/node images for the pinned kind version (as a portable case statement), enabling kind to be bumped independently of k8s dependency upgrades
  • kind-cluster now passes the correct --image based on the project's K8S_VERSION
  • New make kind-update-images target regenerates the image map from the kind GitHub release
  • Symlink bingo-managed kind binary in tilt CI workflow so tilt's kind load uses the correct version

Reviewer Checklist

  • API Go Documentation
  • Tests: Unit Tests (and E2E Tests, if appropriate)
  • Comprehensive Commit Messages
  • Links to related GitHub Issue(s)

Copilot AI review requested due to automatic review settings June 5, 2026 12:08
@openshift-ci openshift-ci Bot requested review from OchiengEd and tmshort June 5, 2026 12:08
@netlify

netlify Bot commented Jun 5, 2026

Copy link
Copy Markdown

Deploy Preview for olmv1 ready!

Name Link
🔨 Latest commit fa8b1d9
🔍 Latest deploy log https://app.netlify.com/projects/olmv1/deploys/6a26d45f71b225000883b27d
😎 Deploy Preview https://deploy-preview-2744--olmv1.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 on K8S_VERSION, and add a kind-update-images generator 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.

Comment thread hack/tools/validate_kindest_node.sh Outdated
Comment thread hack/tools/validate_kindest_node.sh Outdated
Comment thread Makefile Outdated
@pedjak pedjak force-pushed the worktree-bump-kind-and-tilt branch from 4f71a62 to 43ebe20 Compare June 5, 2026 12:17
Copilot AI review requested due to automatic review settings June 5, 2026 12:24
@pedjak pedjak force-pushed the worktree-bump-kind-and-tilt branch from 43ebe20 to 15c175f Compare June 5, 2026 12:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Comment thread Makefile Outdated
Comment thread Makefile Outdated
Comment thread hack/tools/validate_kindest_node.sh Outdated
@pedjak pedjak force-pushed the worktree-bump-kind-and-tilt branch 2 times, most recently from 36a62bb to 355cf1e Compare June 5, 2026 12:46
Copilot AI review requested due to automatic review settings June 5, 2026 12:46
@pedjak pedjak changed the title 🌱 Bump kind to v0.32.0 and tilt to v0.37.3 🌱 Bump kind to v0.32.0 and rework kindest/node image selection Jun 5, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Comment thread Makefile Outdated
Comment on lines +467 to +472
@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)); \

@tmshort tmshort Jun 5, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch — this has been addressed in the latest push: replaced sort -uV with sort -u and gh api with plain curl -sfL. Both are portable across Linux and macOS.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So long as the tooling is either consistent with https://operator-framework.github.io/operator-controller/contribute/developer/#special-setup-for-macos or we update the docs to include the new, available tooling, then it's all good.

@codecov

codecov Bot commented Jun 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 66.95%. Comparing base (12d51e8) to head (fa8b1d9).
⚠️ Report is 8 commits behind head on main.

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     
Flag Coverage Δ
e2e 35.34% <ø> (+0.14%) ⬆️
experimental-e2e 52.61% <ø> (-0.05%) ⬇️
unit 52.24% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@tmshort

tmshort commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

PRs #2743 and #2717 will give us golang-1.26 and k8s-1.36

@pedjak pedjak force-pushed the worktree-bump-kind-and-tilt branch from 355cf1e to 932c44a Compare June 5, 2026 15:09
@pedjak

pedjak commented Jun 5, 2026

Copy link
Copy Markdown
Contributor Author

PRs #2743 and #2717 will give us golang-1.26 and k8s-1.36

this is PR is extracted out of #2717 because bumping k8s version should mean that we need to update kind as well. therefore, after merging needs, we need to rebase #2717 again.

@pedjak pedjak requested review from rashmigottipati and removed request for OchiengEd June 5, 2026 16:16
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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tilt hardcodes exec.Command("kind", "load", ...) in its source — there's no configuration option to specify a different binary name. The symlink is CI-only and doesn't affect anyone's local environment. The alternative would be installing kind without the version suffix, but that conflicts with how bingo manages tool versions.

Comment thread hack/tools/validate_kindest_node.sh Outdated
Comment on lines +16 to +19
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" ;;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Various review tools may disagree, but do we really want to use the SHA's here?

@tmshort tmshort Jun 5, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed — dropped the SHA digests from the image references in the latest push. The case statement now uses plain tags like kindest/node:v1.35.5.

Copilot AI review requested due to automatic review settings June 6, 2026 08:39
@pedjak pedjak force-pushed the worktree-bump-kind-and-tilt branch from 932c44a to 9ca496b Compare June 6, 2026 08:39

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Comment thread Makefile Outdated
Comment on lines +450 to +453
kind-cluster: $(KIND) #EXHELP Standup a kind cluster.
$(eval KIND_NODE_IMAGE := $(shell K8S_VERSION=v$(K8S_VERSION) $(VALIDATE_KINDEST_NODE_SCRIPT)))
-$(KIND) delete cluster --name $(KIND_CLUSTER_NAME)
$(KIND) create cluster --name $(KIND_CLUSTER_NAME) --config $(KIND_CONFIG)
$(KIND) create cluster --name $(KIND_CLUSTER_NAME) --config $(KIND_CONFIG) --image $(KIND_NODE_IMAGE)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done.

Comment thread Makefile Outdated
Comment on lines +473 to +487
CONTENT=$$(<$(VALIDATE_KINDEST_NODE_SCRIPT)); \
echo "$$CONTENT" | awk -v ver="$$KIND_VER" -v images="$$IMAGES" \
'BEGIN{in_block=0} \
/^# --- BEGIN KIND IMAGES ---/{print; in_block=1; \
print "# kind " ver; \
print "case \"$${K8S_MINOR}\" in"; \
n=split(images,a,"\n"); \
for(i=1;i<=n;i++){if(a[i]=="")continue; \
minor=a[i]; sub(/.*:v/,"",minor); sub(/\.[0-9]+$$/,"",minor); \
print " " minor ") IMAGE=\"" a[i] "\" ;;"}; \
print " *) IMAGE=\"\" ;;"; \
print "esac"; next} \
/^# --- END KIND IMAGES ---/{in_block=0; print; next} \
in_block{next} \
{print}' > $(VALIDATE_KINDEST_NODE_SCRIPT)
@pedjak pedjak force-pushed the worktree-bump-kind-and-tilt branch from 9ca496b to cc00319 Compare June 8, 2026 08:58
Copilot AI review requested due to automatic review settings June 8, 2026 09:11
@pedjak pedjak force-pushed the worktree-bump-kind-and-tilt branch from cc00319 to 3bd1f86 Compare June 8, 2026 09:11

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Comment thread hack/tools/update-kind-images.sh Outdated
Comment on lines +13 to +17
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
Comment on lines +19 to +25
echo "Fetching kindest/node images for kind ${KIND_VER}..."
IMAGES=$(curl -sfL "https://api.github.com/repos/kubernetes-sigs/kind/releases/tags/${KIND_VER}" \
| grep -oE 'kindest/node:v[0-9]+\.[0-9]+\.[0-9]+' | sort -u)
if [ -z "${IMAGES}" ]; then
echo "Error: no kindest/node images found for kind ${KIND_VER}." >&2
exit 1
fi
Comment thread Makefile Outdated
$(KIND) create cluster --name $(KIND_CLUSTER_NAME) --config $(KIND_CONFIG)
$(KIND) export kubeconfig --name $(KIND_CLUSTER_NAME)
kind-cluster: $(KIND) #EXHELP Standup a kind cluster.
@KIND_NODE_IMAGE=$$(K8S_VERSION=v$(K8S_VERSION) $(VALIDATE_KINDEST_NODE_SCRIPT)) || exit 1; \
Comment thread Makefile Outdated
kind-verify-versions: $(KIND)
env K8S_VERSION=v$(K8S_VERSION) KIND=$(KIND) GOBIN=$(GOBIN) hack/tools/validate_kindest_node.sh
kind-verify-versions:
@K8S_VERSION=v$(K8S_VERSION) $(VALIDATE_KINDEST_NODE_SCRIPT) > /dev/null
@pedjak pedjak requested a review from tmshort June 8, 2026 10:43
@tmshort

tmshort commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

/approve

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 8, 2026
@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 8, 2026
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>
@pedjak pedjak force-pushed the worktree-bump-kind-and-tilt branch from 3bd1f86 to fa8b1d9 Compare June 8, 2026 14:40
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Jun 8, 2026

@rashmigottipati rashmigottipati left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 8, 2026
@openshift-ci

openshift-ci Bot commented Jun 8, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: rashmigottipati, tmshort

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tmshort

tmshort commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

operator-framework/tilt-support#12 tries to fix tilt, but it's also failing CI

@openshift-merge-bot openshift-merge-bot Bot merged commit 313b2c6 into operator-framework:main Jun 8, 2026
26 of 27 checks passed
@grokspawn grokspawn mentioned this pull request Jun 8, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants