Skip to content

fix(argument-specs): sync versions with defaults and add renovate tracking#67

Merged
sbaerlocher merged 2 commits intomainfrom
fix/argument-specs-renovate-sync
Mar 25, 2026
Merged

fix(argument-specs): sync versions with defaults and add renovate tracking#67
sbaerlocher merged 2 commits intomainfrom
fix/argument-specs-renovate-sync

Conversation

@sbaerlocher
Copy link
Copy Markdown
Member

Summary

  • Fixes CI failure: k3s_channel and k3s_node_ip_max_pods were defined in defaults/main.yml but missing from argument_specs.yml
  • Fixes version mismatch warning: docker_compose_v2_version default was 5.1.0 in argument_specs vs 5.1.1 in defaults
  • Adds renovate comments to argument_specs.yml version defaults so they are updated in the same PR as defaults/main.yml — preventing future mismatches
  • Extends renovate.json custom manager to cover roles/*/meta/argument_specs.yml

Test plan

  • CI Argument Specs Check passes
  • Renovate future PRs update both defaults/main.yml and argument_specs.yml in one PR

Closes #65

…cking

- Add k3s_channel and k3s_node_ip_max_pods to k3s argument_specs (fixes CI error)
- Fix docker_compose_v2_version default mismatch (5.1.0 → 5.1.1)
- Add renovate comments to argument_specs.yml version defaults
- Extend renovate.json customManager to cover argument_specs.yml files
  so versions are updated in the same PR as defaults/main.yml
@claude
Copy link
Copy Markdown

claude bot commented Mar 25, 2026

Summary

This PR fixes a CI failure by syncing argument_specs.yml with defaults/main.yml — specifically adding two missing k3s variables and correcting the docker_compose_v2 version mismatch. It also future-proofs things by extending Renovate to cover argument_specs.yml files, preventing drift from happening again.

Solid, focused fix. A few observations below.

Review

.github/renovate.json

The managerFilePatterns extension is correct and well-scoped. Adding argument_specs.yml alongside defaults/main.yml ensures Renovate updates both in the same PR.

One concern: the regex custom manager pattern supports an optional extractVersion field. If defaults/main.yml uses extractVersion in its renovate comment (e.g. extractVersion=^v(?<version>.*)$ to strip the v prefix from GitHub releases), but the matching comment in argument_specs.yml omits it, Renovate may parse the current value differently across the two files and fail to update one of them.

roles/docker/meta/argument_specs.yml

# renovate: datasource=github-releases depName=moby/moby
default: "28.5.2"

moby/moby GitHub releases are tagged as v28.5.2 while the stored default value is 28.5.2 (no v prefix). Please verify that the renovate comment in roles/docker/defaults/main.yml uses the same datasource and no extractVersion parameter — or if it does, add the same extractVersion here so both comments are identical. Inconsistency between the two files could cause Renovate to silently skip one.

roles/docker_compose_v2/meta/argument_specs.yml

Version bump from 5.1.05.1.1 is correct. Same extractVersion concern applies here if the defaults/main.yml comment differs.

roles/k3s/meta/argument_specs.yml

k3s_channel — looks good. Reasonable default (stable), matches what one would expect from the k3s install script.

k3s_node_ip_max_pods — there is already a k3s_max_pods entry with the same default (110) and a near-identical description ("Maximum number of pods per node" vs "Maximum number of pods per node IP"). Please clarify:

  • Are these genuinely two distinct variables (e.g. one applies globally and one per-IP interface)?
  • If so, the descriptions should be differentiated clearly so users understand when to use each.
  • If they map to different K3s CLI flags, documenting the flag name in the description would help.

Issues Found

Non-critical (suggestions)

  • Verify renovate comment parity: Confirm that the renovate comments added to argument_specs.yml exactly match (or are intentionally identical to) the ones in defaults/main.yml, including any extractVersion or versioning parameters. A quick diff of the comment lines across both files would close this loop.
  • k3s_node_ip_max_pods vs k3s_max_pods: Clarify the distinction between these two variables in their descriptions, or confirm they are not duplicates.
  • Other roles: docker_compose (v1), helm, fleet, and tailscale may have similar version/spec drift — worth a pass in a follow-up if not already tracked.

Verdict

APPROVE — the fix is correct and well-targeted; the suggestions above are minor and can be addressed as follow-ups or inline before merge.

The variable was defined in defaults but never referenced in any
template or task. k3s_max_pods covers the max-pods kubelet argument.
@sbaerlocher sbaerlocher merged commit 55ef950 into main Mar 25, 2026
17 checks passed
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