Skip to content

Close the dependency gaps renovate cannot see - #2314

Closed
csatib02 wants to merge 6 commits into
masterfrom
chore/deps-renovate-gaps
Closed

Close the dependency gaps renovate cannot see#2314
csatib02 wants to merge 6 commits into
masterfrom
chore/deps-renovate-gaps

Conversation

@csatib02

Copy link
Copy Markdown
Member

Summary

An audit of every dependency surface in the repo against renovate.json found versions that
renovate never proposes, either because a manager cannot see the file or because a rule
suppresses the update.

Three things were invisible to renovate. ENVTEST_K8S_VERSION was the only pinned tool
version in the Makefile without a # renovate: comment, so it stayed on 1.35.0 while
envtest-v1.36.2 was available. The KIND node image is not a *_VERSION variable, so the
general Makefile manager does not match it. Both now have a manager, and the envtest one
carries its own dep name because controller-tools publishes controller-gen under v* tags
and the envtest binaries under envtest-v*.

Two things were suppressed. constraints.go said 1.25 while every module declares 1.26.0,
which hides any release needing the newer toolchain. Major updates were disabled for every
dependency, which is why thirteen GitHub actions sit one to four majors behind and one
docker/login-action on the release publish path was still v2.2.0 while every other use in
the same file was v3.7.0.

The rest is drift between places that hold the same version. golang.org/x/sync and
golang.org/x/sys each differed in one module out of five. .go-version said 1.26.0 while
.tool-versions and the release Dockerfile say 1.26.3, so CI compiled on a different
toolchain than the shipped image. The fluentd base image installed fluentd 1.19.2 and oj
3.16.11 while both Gemfile.lock files resolve 1.19.3 and 3.17.3.

Enabling major updates will produce a batch of renovate PRs for the actions listed above.
That is the point, but they land as separate reviewable changes rather than here.

Not included: Chart.yaml declares kubeVersion: ">=1.22.0-0" while the lowest tested
version is 1.33. Raising the floor makes Helm refuse helm upgrade for every user below the
new floor, so it belongs in a release where it is the headline rather than in a dependency
change.

Test plan

  • make check-diff exits 0 on a clean tree
  • make test and make lint pass on all three modules
  • Confirm the two new custom managers resolve on renovate's next run: envtest should
    offer 1.36.2, and the KIND node image should track both tag and digest
  • Build the fluentd image and confirm the gem versions match the lockfiles

Renovate moved e2e to v0.22.0 and left the root, the SDK and the syslog-ng
config module on v0.21.0. The workspace builds them together, so the versions
should match.

Signed-off-by: Bence Csati <bence.csati@axoflow.com>
Every module declares go 1.26.0, so resolving updates against 1.25 hides any
release that needs the newer toolchain.

Signed-off-by: Bence Csati <bence.csati@axoflow.com>
ENVTEST_K8S_VERSION was the only pinned tool version without a renovate
annotation, so it stayed on 1.35.0 while envtest-v1.36.2 was available.

The binaries ship as envtest-v* releases of controller-tools, which already
supplies controller-gen under v* tags. The two need different version
extraction, so the envtest pin carries its own dep name and the Makefile rule
that strips a leading v no longer applies to it.

Signed-off-by: Bence Csati <bence.csati@axoflow.com>
Signed-off-by: Bence Csati <bence.csati@axoflow.com>
golang.org/x/sys was v0.45.0 in the config-reloader module and v0.46.0 in the
other four.

.go-version said 1.26.0 while .tool-versions and the release Dockerfile both
say 1.26.3, so CI compiled on a different toolchain than the shipped image.

One docker/login-action on the release publish path was still v2.2.0 while
every other use in the same file was v3.7.0. Major updates are disabled in
renovate.json, so it was never going to catch up on its own.

The KIND node image is not a *_VERSION variable, so the general Makefile
manager cannot see it. It now has a manager of its own that also tracks the
digest.

Signed-off-by: Bence Csati <bence.csati@axoflow.com>
…em pins

Major updates were disabled for every dependency, which is why thirteen GitHub
actions sit one to four majors behind and one login-action stayed on v2.

The fluentd base image installed fluentd 1.19.2 and oj 3.16.11 while both
Gemfile.lock files resolve 1.19.3 and 3.17.3. The lockfiles move with bundler
updates; these lines never did.

Signed-off-by: Bence Csati <bence.csati@axoflow.com>
@csatib02 csatib02 closed this Aug 11, 2026
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