From c5bbe3d17f9c1c9727186d0eab257a55f7e20dc5 Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Sat, 6 Jun 2026 09:42:12 +0200 Subject: [PATCH] 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-(?.+)$` * 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) --- admin-system/renovate.yaml | 22 +++++++++++++++++++++- termix-system/termix.yaml | 5 ++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/admin-system/renovate.yaml b/admin-system/renovate.yaml index 63bd52d..2a4f1ae 100644 --- a/admin-system/renovate.yaml +++ b/admin-system/renovate.yaml @@ -46,10 +46,24 @@ 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 that the kubernetes manager's docker-versioning pre-check rejects (so no PRs are ever created). This customManager extracts the image directly, redirects the version lookup to GitHub Releases at Termix-SSH/Termix (which exposes timestamps the 3-day stability gate needs), and uses extractVersion to strip the `release-` prefix so loose semver can parse it.", + "customType": "regex", + "managerFilePatterns": ["/termix-system/.+\\.ya?ml$/"], + "matchStrings": [ + "image:\\s+(?ghcr\\.io/lukegus/termix):(?release-\\d+\\.\\d+\\.\\d+)" + ], + "datasourceTemplate": "github-releases", + "packageNameTemplate": "Termix-SSH/Termix", + "versioningTemplate": "loose", + "extractVersionTemplate": "^release-(?.+)$" + } + ], "packageRules": [ { "description": "All apps: 3-day stability gate before any PR opens", @@ -94,6 +108,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"] diff --git a/termix-system/termix.yaml b/termix-system/termix.yaml index 8852669..5f56cfc 100644 --- a/termix-system/termix.yaml +++ b/termix-system/termix.yaml @@ -41,7 +41,10 @@ spec: spec: containers: - name: termix - # renovate: datasource=github-releases depName=Termix-SSH/Termix versioning=loose extractVersion=^release-(?.+)$ + # 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: