fix: version tracking tuning — annotations + linuxserver customManager #82

Merged
admin merged 1 commits from fix/version-tracking-tuning into main 2026-06-06 13:25:51 +02:00
Owner

Investigation of stale entries in the version-checker widget. Four distinct causes; this PR fixes the auto-fixable ones in one shot.

  1. renovate label drift: app.kubernetes.io/version: 43.197.0 while live image is 43.209.3. Renovate self-update bumped the image but not the label. Bumped to match.
  2. linuxserver/{prowlarr,radarr,sonarr}: tag pattern version-X.Y.Z.B rejected by Renovate's default docker pre-check (same failure class as termix). Added a customManager regex with regex versioning + packageRule to disable kubernetes-manager fallback.
  3. nextcloud false positive: no version-checker annotation existed → 33.0.5-apache shown as outdated vs the bare 33.0.5 tag. Added ^\d+\.\d+\.\d+-apache$ annotation.
  4. plex arch leak: existing regex ^\d+\.\d+\.\d+\.\d+-.*$ matched per-arch tags (-armhf etc.). Tightened to ^\d+\.\d+\.\d+\.\d+-[a-f0-9]+$.

Moving-tag pins (umami postgresql-latest, filebrowser v2-alpine, tandoor 2.6) need a separate decision — Renovate fundamentally cannot propose updates for moving tags; pinning to versioned variants is required.

🤖 Generated with Claude Code

Investigation of stale entries in the version-checker widget. Four distinct causes; this PR fixes the auto-fixable ones in one shot. 1. **renovate label drift**: `app.kubernetes.io/version: 43.197.0` while live image is `43.209.3`. Renovate self-update bumped the image but not the label. Bumped to match. 2. **linuxserver/{prowlarr,radarr,sonarr}**: tag pattern `version-X.Y.Z.B` rejected by Renovate's default docker pre-check (same failure class as termix). Added a customManager regex with regex versioning + packageRule to disable kubernetes-manager fallback. 3. **nextcloud false positive**: no version-checker annotation existed → `33.0.5-apache` shown as outdated vs the bare `33.0.5` tag. Added `^\d+\.\d+\.\d+-apache$` annotation. 4. **plex arch leak**: existing regex `^\d+\.\d+\.\d+\.\d+-.*$` matched per-arch tags (`-armhf` etc.). Tightened to `^\d+\.\d+\.\d+\.\d+-[a-f0-9]+$`. Moving-tag pins (umami `postgresql-latest`, filebrowser `v2-alpine`, tandoor `2.6`) need a separate decision — Renovate fundamentally cannot propose updates for moving tags; pinning to versioned variants is required. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
admin added 1 commit 2026-06-06 13:25:50 +02:00
Several images were showing as outdated in version-checker / unhandled by
Renovate. Each had a distinct cause; this PR fixes the auto-tractable ones.

1) admin-system/renovate.yaml: bump `app.kubernetes.io/version` labels
   `43.197.0 -> 43.209.3` (3 occurrences) to match the live image.
   Renovate's own self-update PR bumped the image tag but left the
   labels stale; the version-checker widget appears to read the label.
   Long-term, this label will drift again on each self-update -- worth
   a customManager later if it becomes a recurring annoyance.

2) admin-system/renovate.yaml: add a customManager + packageRule pair
   for linuxserver servarr apps. Tag pattern is `version-X.Y.Z.B`
   (4 segments + `version-` prefix) which the kubernetes manager's
   default docker versioning rejects at the pre-check, same failure
   class as termix. Regex versioning parses the prefixed 4-segment
   form; the same customManager handles prowlarr/radarr/sonarr (depName
   captured from the regex). kubernetes-manager extraction for these
   three depnames is disabled via packageRule so the dashboard isn't
   cluttered with the failing fallback.

3) nextcloud-system/nextcloud.yaml: add
   `match-regex.version-checker.io/nextcloud: '^\d+\.\d+\.\d+-apache$'`
   so version-checker doesn't treat the bare `33.0.5` server tag as a
   newer version of our `33.0.5-apache` image. The widget was showing
   `33.0.5-apache -> 33.0.5` -- false positive; image is already current.

4) helm/plex/values.yaml: tighten the version-checker regex from
   `^\d+\.\d+\.\d+\.\d+-.*$` to `^\d+\.\d+\.\d+\.\d+-[a-f0-9]+$` so
   per-arch tags (`-armhf`, `-arm64`, ...) are excluded. The widget
   was showing an `-armhf` tag as "newer" than our x86_64 install.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
admin merged commit 6ca0a7b051 into main 2026-06-06 13:25:51 +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#82