renovate: termix via inline manifest comment (packageRule applied too late) #27

Merged
admin merged 1 commits from feat/renovate-termix-inline-comment into main 2026-06-06 09:25:31 +02:00
Owner

Fixes termix updates being silently skipped. The previous packageRule (datasource: github-releases + packageName: Termix-SSH/Termix + versioning: regex:...) was applied AFTER the kubernetes manager rejected release-1.11.0 as an invalid docker version. Switching to an inline # renovate: comment in termix-system/termix.yaml applies the overrides at extraction time so the validation passes.

Removes the now-superseded packageRule (config goes from 7 → 6 rules).

🤖 Generated with Claude Code

Fixes termix updates being silently skipped. The previous packageRule (`datasource: github-releases` + `packageName: Termix-SSH/Termix` + `versioning: regex:...`) was applied AFTER the kubernetes manager rejected `release-1.11.0` as an invalid docker version. Switching to an inline `# renovate:` comment in `termix-system/termix.yaml` applies the overrides at extraction time so the validation passes. Removes the now-superseded packageRule (config goes from 7 → 6 rules). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
admin added 1 commit 2026-06-06 09:25:30 +02:00
Debug-level dry-run revealed why the previous packageRule approach
(`datasource: github-releases` + `packageName: Termix-SSH/Termix` +
`versioning: regex:^release-...`) silently did nothing:

  DEBUG: Dependency ghcr.io/lukegus/termix has unsupported/unversioned
         value release-1.11.0 (versioning=docker)
  DEBUG: Skipping ghcr.io/lukegus/termix because no currentDigest or
         pinDigests

The kubernetes manager extracts the image with the default versioning
(=docker), runs an EARLY currentValue pre-check, fails on `release-1.11.0`,
falls back to digest-based updates, and gives up -- all BEFORE the
packageRule's `versioning` override has a chance to apply. Same failure
class as the earlier `extractVersion` attempt.

Renovate's documented fix for this exact case is an inline manifest
comment that applies overrides at extraction time:

  # renovate: datasource=github-releases depName=Termix-SSH/Termix \
  #          versioning=loose extractVersion=^release-(?<version>.+)$
  image: ghcr.io/lukegus/termix:release-1.11.0

With extractVersion stripping the `release-` prefix at extraction, the
loose semver parser handles the resulting `1.11.0` / `2.3.2` fine.
github-releases datasource gives Renovate real upstream timestamps so
the 3-day stability gate works normally. Removing the now-superseded
packageRule keeps the config clean (6 rules instead of 7).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
admin merged commit c7ff367cdf into main 2026-06-06 09:25:31 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/homelab-manifests#27