Compare commits

..

2 Commits

Author SHA1 Message Date
admin a47111cce1 renovate: termix customManager — use regex versioning instead of loose+extractVersion
Third attempt. Debug run confirmed `loose` + `extractVersion` STILL produces:

  DEBUG: Dependency Termix-SSH/Termix has unsupported/unversioned value
         release-1.11.0 (versioning=loose)
  DEBUG: Skipping Termix-SSH/Termix because no currentDigest or pinDigests

`extractVersion` is only applied to CANDIDATE versions (from the datasource),
not to currentValue. Renovate's pre-validation runs the raw `release-1.11.0`
through `loose`, which can't parse it (the `release-` prefix breaks semver
detection), so Renovate falls back to digest-only and gives up.

`regex` versioning is the only mode that parses the prefixed value directly
(no extractVersion needed) — Renovate's regex.matches() accepts `release-1.11.0`
because the rule's pattern captures the whole tag. github-releases datasource
returns the upstream `release-X.Y.Z` tag_names which the same regex parses.
No conversion needed; the new tag written back to the manifest is the same
`release-X.Y.Z` form, valid in the ghcr.io/lukegus/termix registry.

Removes extractVersionTemplate (no longer needed).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-06 10:03:54 +02:00
admin c5bbe3d17f renovate: termix via customManagers (kubernetes manager doesn't honor inline comments)
The previous attempt (inline `# renovate:` comment in termix.yaml) silently
did nothing -- after merge + manual run, the dashboard's
`termix-system/termix.yaml (2)` was the resource count (Deployment +
Ingress), not detected updates. No PRs opened, no termix branches, no
queue entries anywhere.

Root cause: Renovate's `kubernetes` manager does NOT process inline
`# renovate:` comments. Those work for dockerfile/flux/helmfile/github-
actions/helm-values/etc., but kubernetes is missing from that list.

Correct fix: a `customManagers.regex` entry that extracts termix's image
directly with the right datasource/versioning/extractVersion set at
EXTRACTION time -- before any docker-version pre-check can reject the
prefixed tag. Plus a packageRule disabling the kubernetes manager for
termix so it doesn't silently skip the dep and clutter the dashboard.

Changes:
  - admin-system/renovate.yaml:
    * enabledManagers += "custom.regex"
    * customManagers: termix.yaml regex extraction -> github-releases
      datasource on Termix-SSH/Termix with `extractVersion=^release-(?<version>.+)$`
    * packageRules: disable kubernetes manager for ghcr.io/lukegus/termix
  - termix-system/termix.yaml: drop the useless inline comment, leave a
    NOTE explaining where the actual config lives.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-06 09:42:12 +02:00
3 changed files with 25 additions and 3 deletions
+20 -1
View File
@@ -46,10 +46,23 @@ data:
"dependencyDashboardTitle": "Renovate Dependency Dashboard",
"prHourlyLimit": 16,
"prConcurrentLimit": 16,
"enabledManagers": ["kubernetes", "helm-values"],
"enabledManagers": ["kubernetes", "helm-values", "custom.regex"],
"kubernetes": {
"managerFilePatterns": ["/.+\\.ya?ml$/"]
},
"customManagers": [
{
"description": "termix uses a release-X.Y.Z prefixed tag. extractVersion + loose doesn't work because Renovate validates the raw currentValue BEFORE applying extractVersion. Using regex versioning (which parses the prefixed value directly) sidesteps the pre-check. Datasource redirected to GitHub Releases at Termix-SSH/Termix so the 3-day stability gate has real timestamps to work with.",
"customType": "regex",
"managerFilePatterns": ["/termix-system/.+\\.ya?ml$/"],
"matchStrings": [
"image:\\s+(?<depName>ghcr\\.io/lukegus/termix):(?<currentValue>release-\\d+\\.\\d+\\.\\d+)"
],
"datasourceTemplate": "github-releases",
"packageNameTemplate": "Termix-SSH/Termix",
"versioningTemplate": "regex:^release-(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$"
}
],
"packageRules": [
{
"description": "All apps: 3-day stability gate before any PR opens",
@@ -94,6 +107,12 @@ data:
"description": "wanderer: db + web update together in one PR",
"matchPackageNames": ["flomp/wanderer-db", "flomp/wanderer-web"],
"groupName": "wanderer"
},
{
"description": "termix: kubernetes manager would extract the image with versioning=docker and silently skip it (release-1.11.0 fails the docker pre-check). Disable that extraction; customManagers above does the real work via github-releases.",
"matchManagers": ["kubernetes"],
"matchPackageNames": ["ghcr.io/lukegus/termix"],
"enabled": false
}
],
"labels": ["renovate"]
+1 -1
View File
@@ -43,7 +43,7 @@ spec:
spec:
containers:
- name: mysql
image: mysql:8.4
image: mysql:8.0
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
+4 -1
View File
@@ -41,7 +41,10 @@ spec:
spec:
containers:
- name: termix
# renovate: datasource=github-releases depName=Termix-SSH/Termix versioning=loose extractVersion=^release-(?<version>.+)$
# NOTE: termix uses a non-semver tag pattern (release-X.Y.Z).
# Renovate handles it via a customManagers regex defined in
# admin-system/renovate.yaml (the kubernetes manager doesn't
# process inline `# renovate:` comments).
image: ghcr.io/lukegus/termix:release-1.11.0
imagePullPolicy: IfNotPresent
ports: