Skip to content

Bump sigs.k8s.io/kind from 0.30.0 to 0.31.0 in /tools in the tools group#2246

Closed
dependabot[bot] wants to merge 1 commit intodevelfrom
dependabot/go_modules/tools/tools-e0300699ac
Closed

Bump sigs.k8s.io/kind from 0.30.0 to 0.31.0 in /tools in the tools group#2246
dependabot[bot] wants to merge 1 commit intodevelfrom
dependabot/go_modules/tools/tools-e0300699ac

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Dec 22, 2025

Bumps the tools group in /tools with 1 update: sigs.k8s.io/kind.

Updates sigs.k8s.io/kind from 0.30.0 to 0.31.0

Release notes

Sourced from sigs.k8s.io/kind's releases.

v0.31.0

This release contains dependency updates and defaults to Kubernetes 1.35.0.

Please take note of the breaking changes from Kubernetes 1.35, and how to prepare for future changes to move off of the deprecated kubeam v1beta3 in favor of v1beta4. We will include updated reminders for both again in subsequent releases.

The default node image is now kindest/node:v1.35.0@sha256:452d707d4862f52530247495d180205e029056831160e22870e37e3f6c1ac31f

Kubernetes will be removing cgroup v1 support, and therefore kind node images at those versions will also be dropping support.

You can read more about this change in the Kubernetes release blog: https://kubernetes.io/blog/2025/12/17/kubernetes-v1-35-release/#removal-of-cgroup-v1-support

If you must use kind on cgroup v1, we recommend using an older Kubernetes release for the immediate future, but we also strongly recommend migrating to cgroup v2.

In the near future as Kubernetes support dwindles, KIND will also clean up cgroup v1 workarounds and drop support in future kind releases and images, regardless of Kubernetes version.

Most stable linux distros should be on cgroupv2 out of the box.

This is a reminder to use pinned images by digest, see the note below about images for this release.

WARNING: Future kind releases will adopt kubeadm v1beta4 configuration, kubeadm v1beta4 has a breaking change to extraArgs: https://kubernetes.io/blog/2024/08/23/kubernetes-1-31-kubeadm-v1beta4/.

If you use the kubeadmConfigPatches feature then you may need to prepare for this change. We recommend that you use versioned config patches that explicitly match the version required.

KIND uses kubeadm v1beta3 for Kubernetes 1.23+, and will likely use v1beta4 for Kubernetes 1.36+ The exact version is TBD pending work to fix this but expected to be 1.36. It will definitely be an as-of-yet-unreleased Kubernetes version to avoid surprises, and it will not be on a patch-release boundary.

KIND may still work with older Kubernetes versions at v1beta2, but we no longer test or actively support these as Kubernetes only supports 1.32+ currently: https://kubernetes.io/releases/

You likely only need v1beta3 + v1beta4 patches, you can take your existing patches that work with v1beta3, explicitly set apiVersion: kubeadm.k8s.io/v1beta3 in the patch at the top level, and make another copy for v1beta4. The v1beta4 patch will need to move extraArgs from a map to a list, for examples see: https://kubernetes.io/docs/reference/config-api/kubeadm-config.v1beta4/

For a concrete example of kind config with kubeadm config patch targeting both v1beta3 and v1beta4, consider this simple kind config that sets verbosity of the apiserver logs:

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
kubeadmConfigPatches:
# patch for v1beta3 (1.23 ...)
- |
  kind: ClusterConfiguration
  apiVersion: kubeadm.k8s.io/v1beta3
  apiServer:
    extraArgs:
</tr></table> 

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Summary by CodeRabbit

  • Chores
    • Updated development dependency versions to ensure compatibility with latest tools.

✏️ Tip: You can customize this high-level summary in your review settings.

Bumps the tools group in /tools with 1 update: [sigs.k8s.io/kind](https://github.com/kubernetes-sigs/kind).


Updates `sigs.k8s.io/kind` from 0.30.0 to 0.31.0
- [Release notes](https://github.com/kubernetes-sigs/kind/releases)
- [Commits](kubernetes-sigs/kind@v0.30.0...v0.31.0)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/kind
  dependency-version: 0.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: tools
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code labels Dec 22, 2025
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code labels Dec 22, 2025
@github-actions
Copy link
Copy Markdown

@coderabbitai review

@github-actions github-actions Bot enabled auto-merge (rebase) December 22, 2025 17:05
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Dec 22, 2025

Walkthrough

The pull request updates the sigs.k8s.io/kind dependency version from v0.30.0 to v0.31.0 in the tools module go.mod file. This is a configuration-only change with no functional modifications or control-flow alterations.

Changes

Cohort / File(s) Summary
Dependency Update
tools/go.mod
Bumps sigs.k8s.io/kind from v0.30.0 to v0.31.0

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Suggested reviewers

  • Oats87
  • skitt
  • sridhargaddam
  • vthapar
  • tpantelis

Pre-merge checks

Caution

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

  • Ignore
❌ Failed checks (1 error)
Check name Status Explanation Resolution
Actionable Comments Resolved ❌ Error The PR only updates kind dependency in tools/go.mod but fails to update kubeadmConfigPatches from v1beta2 to v1beta3 in three configuration files. Update kind-cluster-config.yaml, kind-cluster-dual-stack-config.yaml, and kind-cluster-ipv6-stack-config.yaml to use apiVersion: kubeadm.k8s.io/v1beta3 and prepare v1beta4 variants for future compatibility.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: bumping the sigs.k8s.io/kind dependency from v0.30.0 to v0.31.0 in the tools group.

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Dec 22, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a30380a and ee0845a.

⛔ Files ignored due to path filters (1)
  • tools/go.sum is excluded by !**/*.sum
📒 Files selected for processing (1)
  • tools/go.mod
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Images
  • GitHub Check: Go
  • GitHub Check: Clean up generated files
  • GitHub Check: Package Documentation
  • GitHub Check: Latest Release to Latest Version
🔇 Additional comments (1)
tools/go.mod (1)

8-8: kind v0.31.0 is compatible for immediate use; prepare kubeadmConfigPatches for future v1beta4 migration.

kind v0.31.0 updates the default Kubernetes version to v1.35.0, which removes cgroup v1 support, but this is not a concern as the codebase has no cgroup v1 references and most stable Linux distributions support cgroup v2 out of the box. kind uses kubeadm v1beta3 for Kubernetes 1.23+ and will likely use v1beta4 for Kubernetes 1.36+, so shipyard's current kubeadmConfigPatches remain compatible with v0.31.0. When kind eventually adopts v1beta4, use versioned config patches that explicitly match the version required; v1beta3 uses string/string maps for extraArgs while v1beta4 uses lists of name/value pairs.

Comment thread tools/go.mod
github.com/golangci/golangci-lint/v2 v2.7.2
github.com/psampaz/go-mod-outdated v0.9.0
sigs.k8s.io/kind v0.30.0
sigs.k8s.io/kind v0.31.0
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Search shipyard codebase for kubeadmConfigPatches and kind cluster configurations
echo "=== Searching for kubeadmConfigPatches ==="
find . -type f \( -name "*.go" -o -name "*.yaml" -o -name "*.yml" -o -name "*.sh" \) | head -20 | xargs grep -l "kubeadmConfigPatches" 2>/dev/null || echo "No files with kubeadmConfigPatches found"

echo -e "\n=== Searching for kind cluster config files ==="
find . -type f \( -name "*kind*config*" -o -name "*cluster*.yaml" -o -name "*cluster*.yml" \) | head -20

echo -e "\n=== Searching for extraArgs in configuration files ==="
grep -r "extraArgs" --include="*.yaml" --include="*.yml" --include="*.go" . 2>/dev/null | head -20 || echo "No extraArgs found"

echo -e "\n=== Checking for cgroup-specific configurations ==="
grep -ri "cgroup" . --include="*.go" --include="*.sh" --include="*.yaml" 2>/dev/null | head -20 || echo "No cgroup configurations found"

Repository: submariner-io/shipyard

Length of output: 653


🏁 Script executed:

#!/bin/bash
# List the directory structure to understand the repo layout
echo "=== Repository structure ==="
ls -la

echo -e "\n=== Searching for kind-related configurations ==="
find . -type f \( -name "*.yaml" -o -name "*.yml" \) | xargs grep -l "kind.*Cluster\|kubeadmConfigPatches" 2>/dev/null || echo "No kind cluster configs found"

echo -e "\n=== Searching Go code for kind usage ==="
find . -name "*.go" -type f | xargs grep -l "kubeadmConfigPatches\|extraArgs" 2>/dev/null | head -10 || echo "No Go files with relevant code found"

Repository: submariner-io/shipyard

Length of output: 3567


🏁 Script executed:

#!/bin/bash
echo "=== kind-cluster-config.yaml ==="
cat ./scripts/shared/resources/kind-cluster-config.yaml

echo -e "\n=== kind-cluster-dual-stack-config.yaml ==="
cat ./scripts/shared/resources/kind-cluster-dual-stack-config.yaml | head -30

Repository: submariner-io/shipyard

Length of output: 1412


Update kubeadmConfigPatches from v1beta2 to v1beta3 and prepare v1beta4 variants for kind v0.31.0.

Kind v0.31.0 uses kubeadm v1beta3 for Kubernetes 1.23+ (including the default v1.35.0), but the kind cluster config files specify the obsolete v1beta2 API version. Kind no longer tests or actively supports v1beta2. Update kind-cluster-config.yaml and kind-cluster-dual-stack-config.yaml to use apiVersion: kubeadm.k8s.io/v1beta3.

Additionally, kind will likely use v1beta4 for Kubernetes 1.36+. Provide versioned config patches for both v1beta3 and v1beta4 to ensure future compatibility.

Also verify cgroup v2 environment support: Kind v0.31.0 defaults to Kubernetes v1.35.0, which removes cgroup v1 support.

🤖 Prompt for AI Agents
In tools/go.mod around line 8, update the kind-related cluster config files to
replace kubeadmConfigPatches apiVersion v1beta2 with kubeadm.k8s.io/v1beta3 and
add parallel kubeadm.k8s.io/v1beta4 variants for future Kubernetes 1.36+
compatibility: modify kind-cluster-config.yaml and
kind-cluster-dual-stack-config.yaml to use apiVersion: kubeadm.k8s.io/v1beta3,
create corresponding v1beta4 patch files or variants (same content but
apiVersion: kubeadm.k8s.io/v1beta4), and ensure any code/CI that references the
old v1beta2 filenames or keys is updated; lastly, add a note or check in the
setup/docs/CI to verify cgroup v2 support (or detect cgroup v2 and fail fast)
because kind v0.31.0 defaults to Kubernetes v1.35 which drops cgroup v1 support.

@skitt
Copy link
Copy Markdown
Member

skitt commented Dec 23, 2025

Handled in #2244

@dependabot ignore this patch version

@skitt
Copy link
Copy Markdown
Member

skitt commented Dec 23, 2025

@dependabot ignore sigs.k8s.io/kind patch version

@dependabot dependabot Bot closed this Dec 23, 2025
auto-merge was automatically disabled December 23, 2025 16:02

Pull request was closed

@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github Dec 23, 2025

OK, I won't notify you about version 0.31.0 of sigs.k8s.io/kind again, unless you unignore it.

@dependabot dependabot Bot deleted the dependabot/go_modules/tools/tools-e0300699ac branch December 23, 2025 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file go Pull requests that update Go code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant