Skip to content

fix(renovate): group mise's talosctl and kubectl with the talos group - #3896

Merged
axeII merged 1 commit into
mainfrom
fix/renovate-group-mise-talos
Sep 7, 2026
Merged

axeII merged 1 commit into
mainfrom
fix/renovate-group-mise-talos

Conversation

@axeII

@axeII axeII commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Fixes the split you spotted between #3893 (talosctl) and #3834 (talos group).

Why they didn't group

The Talos rule matches on datasource:

matchDatasources: ["docker", "github-releases"],
matchPackageNames: ["/installer/", "/kubelet/", "/talosctl/", ...],

/talosctl/ was already in the list — but mise pins talosctl and kubectl via the aqua backend, and Renovate gives those a datasource that is neither docker nor github-releases. The rule could never reach them.

The labels prove it:

PR Tool Backend Labels Semantic scope
#3894 yayamlls github: renovate/mise, renovate/github-release feat(github-release)
#3893 talosctl aqua: renovate/mise only feat(deps) ← fell through
#3891 kubectl aqua: renovate/mise only feat(deps) ← fell through

So my github-releases addition in #3889 was correct but only ever helped flate and yayamlls.

The consequence

talosctl proposed 1.14.0 while #3834 only moves the cluster to v1.13.10 — a full minor of client/cluster skew, in two PRs that never had to be reviewed together. (For the record: v1.14.0 is a genuine stable release, prerelease: false; siderolabs just reused beta changelog text in the release body, which reads misleadingly.)

The fix

A second rule with the same groupName, scoped by manager rather than datasource:

{
  description: "Talos Group (mise-pinned client tools)",
  groupName: "talos",
  matchManagers: ["mise"],
  matchPackageNames: ["/talosctl/", "/siderolabs\\/talos/", "/kubectl/", "/kubernetes\\/kubernetes/"],
  group: { commitMessageTopic: "{{{groupName}}} group" },
}

Datasource is deliberately left unconstrained here — constraining it is exactly what failed. kubectl is included because the existing group already covers /kubelet/ (the kubernetesVersion in talenv.yaml), so the client belongs with it.

Effect: the client tools travel in the same PR as the cluster version they target, so a skew like 1.14.0-vs-v1.13.10 is visible in one diff instead of split across two.

Verification

.renovate/groups.json5 parses (13 packageRules, both talos rules resolving to groupName: "talos"). just validate, just flate-test (169 passed), pre-commit all pass.

Renovate config changes can't be fully proven until the next run — expect #3893 and #3891 to be superseded by a combined talos group PR.

Optional follow-up

If you'd rather talosctl never lead the cluster, an allowedVersions constraint could cap it at the talenv.yaml minor. I didn't add it — grouping makes the skew visible, and a hard cap is one more thing to keep in sync.

The Talos group matches on datasource, but mise pins talosctl and kubectl via
the aqua backend, whose datasource is neither docker nor github-releases. The
existing rule could not reach them, so they opened as standalone feat(deps)
PRs (#3893, #3891) while the cluster upgrade sat in #3834.

That is how talosctl came to propose 1.14.0 while #3834 only moves the cluster
to v1.13.10 — a full minor of client/cluster skew, in two PRs that never had
to be looked at together.

Add a second rule with the same groupName scoped to matchManagers: ["mise"],
so the client tools travel with the cluster version they target. Datasource
is deliberately not constrained, since that is precisely what failed.

Note github: backend tools (flate, yayamlls) already resolve to the
github-releases datasource and were unaffected.
@bot-akira

bot-akira Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

konflate — summary

Note

✅ No rendered changes.

View the full rendered diff →

konflate · rendered 4166571 · advisory, not a gate

@axeII
axeII merged commit 10c962a into main Sep 7, 2026
7 checks passed
@axeII
axeII deleted the fix/renovate-group-mise-talos branch September 7, 2026 14:57
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