Skip to content

chore(renovate): group controller-runtime with k8s modules#317

Open
Matthiator wants to merge 4 commits into
mainfrom
chore/renovate-controller-runtime-group
Open

chore(renovate): group controller-runtime with k8s modules#317
Matthiator wants to merge 4 commits into
mainfrom
chore/renovate-controller-runtime-group

Conversation

@Matthiator
Copy link
Copy Markdown
Contributor

@Matthiator Matthiator commented May 17, 2026

📝 Summary

Adds an explicit Renovate override for sigs.k8s.io/controller-runtime so it uses the existing k8s.io Go module group while keeping the generic sigs.k8s.io group unchanged.

controller-runtime needs to stay aligned with Kubernetes/client-go minor versions. This avoids broken Renovate PRs like #311 where k8s.io/* was updated without the compatible controller-runtime version.

🧩 Type of change

  • 🔧 CLI / Go code
  • 📦 Helm chart
  • 🧱 Terraform module
  • 📝 Documentation
  • 🧪 Test or CI change
  • ♻️ Refactor / cleanup

⚠️ Is this a breaking change?

  • Yes, this change breaks existing functionality (explain in summary)

🧪 Testing

  • CI passed
  • Manually tested (local/dev cluster)
  • Unit tested
  • Not tested (explain why below)

No runtime tests were run because this is a Renovate configuration-only change. The config file was validated as JSON with jq empty renovate.json.

🔗 Related Issues / Tickets

Related to #311

✅ Checklist

  • Code compiles and passes all tests
  • Linting and style checks pass
  • Comments added for complex logic
  • Documentation updated (if applicable)

📎 Additional Context (optional)

Renovate's built-in Kubernetes monorepo preset covers the kubernetes/kubernetes staging repositories (k8s.io/*) but does not include sigs.k8s.io/controller-runtime. The preset was introduced in renovatebot/renovate#41171 and consolidated in renovatebot/renovate#41454.

controller-runtime is still tied to the Kubernetes/client-go compatibility matrix: https://github.com/kubernetes-sigs/controller-runtime#compatibility

@Matthiator Matthiator requested a review from tuunit May 17, 2026 10:13
@Matthiator Matthiator marked this pull request as ready for review May 17, 2026 10:14
@Matthiator Matthiator requested a review from a team May 17, 2026 10:14
Comment thread renovate.json Outdated
"description": "Group sigs.k8s.io go modules except controller-runtime (minor and patch)",
"matchManagers": ["gomod"],
"matchPackagePrefixes": ["sigs.k8s.io/"],
"matchPackageNames": ["sigs.k8s.io/**", "!sigs.k8s.io/controller-runtime"],
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.

Mhhh does this really make sense 🤔
Won't this lead to a version drift in the longterm? Why wasn't this caught in CI?

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 point. I checked Renovate upstream as well. Renovate now has built-in Kubernetes monorepo presets (monorepo:kubernetes / group:kubernetesMonorepo), introduced via renovatebot/renovate#41171 and consolidated/renamed via renovatebot/renovate#41454.

That preset is generated from the kubernetes/kubernetes staging repos, so it intentionally covers k8s.io/* modules only. sigs.k8s.io/controller-runtime is not included by design, although it still follows the controller-runtime / client-go compatibility matrix.

So this is not really a Renovate bug; it is a gap between Renovate’s Kubernetes monorepo definition and controller-runtime’s compatibility relationship. We hit that in #311, where the k8s.io/* update needed controller-runtime to move with it.

CI did not catch this because our checks validate build/tests, not the upstream support matrix; an unsupported pair can still compile.

I’ll revise our first approach and switch this to an explicit override instead, so the generic sigs.k8s.io group stays intact while the controller-runtime exception is visible. Commit follows.

@Matthiator Matthiator requested a review from tuunit May 19, 2026 07:16
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.

3 participants