Compare commits

..

1 Commits

Author SHA1 Message Date
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
9 changed files with 35 additions and 12 deletions
+21 -1
View File
@@ -46,10 +46,24 @@ data:
"dependencyDashboardTitle": "Renovate Dependency Dashboard", "dependencyDashboardTitle": "Renovate Dependency Dashboard",
"prHourlyLimit": 16, "prHourlyLimit": 16,
"prConcurrentLimit": 16, "prConcurrentLimit": 16,
"enabledManagers": ["kubernetes", "helm-values"], "enabledManagers": ["kubernetes", "helm-values", "custom.regex"],
"kubernetes": { "kubernetes": {
"managerFilePatterns": ["/.+\\.ya?ml$/"] "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+(?<depName>ghcr\\.io/lukegus/termix):(?<currentValue>release-\\d+\\.\\d+\\.\\d+)"
],
"datasourceTemplate": "github-releases",
"packageNameTemplate": "Termix-SSH/Termix",
"versioningTemplate": "loose",
"extractVersionTemplate": "^release-(?<version>.+)$"
}
],
"packageRules": [ "packageRules": [
{ {
"description": "All apps: 3-day stability gate before any PR opens", "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", "description": "wanderer: db + web update together in one PR",
"matchPackageNames": ["flomp/wanderer-db", "flomp/wanderer-web"], "matchPackageNames": ["flomp/wanderer-db", "flomp/wanderer-web"],
"groupName": "wanderer" "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"] "labels": ["renovate"]
+1 -1
View File
@@ -50,7 +50,7 @@ spec:
fsGroup: 1000 fsGroup: 1000
containers: containers:
- name: code-server - name: code-server
image: codercom/code-server:4.122.1 image: codercom/code-server:4.121.0
args: args:
- --bind-addr=0.0.0.0:8080 - --bind-addr=0.0.0.0:8080
- --auth=none - --auth=none
+1 -1
View File
@@ -416,7 +416,7 @@ spec:
value: http://immich-machine-learning:3003 value: http://immich-machine-learning:3003
- name: REDIS_HOSTNAME - name: REDIS_HOSTNAME
value: immich-valkey value: immich-valkey
image: docker.io/valkey/valkey:9.1-alpine@sha256:a35428eba9043cc0b79dbe54100f0c92784f2de00ad09b01182bfb1c5c83d1bd image: docker.io/valkey/valkey:9.0-alpine@sha256:d1cc70645bbcef743615463a2fa4616e841407545e18f560aed0c49671a90147
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
livenessProbe: livenessProbe:
exec: exec:
+1 -1
View File
@@ -529,7 +529,7 @@ spec:
runAsGroup: 472 runAsGroup: 472
containers: containers:
- name: grafana - name: grafana
image: grafana/grafana:12.4.4 image: grafana/grafana:12.3.2
ports: ports:
- containerPort: 3000 - containerPort: 3000
name: http name: http
+2 -2
View File
@@ -552,7 +552,7 @@ spec:
failureThreshold: 3 failureThreshold: 3
initContainers: initContainers:
- name: postgresql-isready - name: postgresql-isready
image: docker.io/bitnamilegacy/postgresql:17.6.0-debian-12-r3 image: docker.io/bitnamilegacy/postgresql:17.5.0-debian-12-r3
resources: {} resources: {}
securityContext: {} securityContext: {}
env: env:
@@ -637,7 +637,7 @@ spec:
hostIPC: false hostIPC: false
containers: containers:
- name: postgresql - name: postgresql
image: docker.io/bitnamilegacy/postgresql:17.6.0-debian-12-r3 image: docker.io/bitnamilegacy/postgresql:17.5.0-debian-12-r3
imagePullPolicy: "IfNotPresent" imagePullPolicy: "IfNotPresent"
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
+2 -2
View File
@@ -89,7 +89,7 @@ spec:
initContainers: initContainers:
# Configure proxy auth in database before starting # Configure proxy auth in database before starting
- name: configure-auth - name: configure-auth
image: filebrowser/filebrowser:v2.63.5 image: filebrowser/filebrowser:v2.54.0
command: command:
- sh - sh
- -c - -c
@@ -109,7 +109,7 @@ spec:
runAsGroup: 1001 runAsGroup: 1001
containers: containers:
- name: filebrowser - name: filebrowser
image: filebrowser/filebrowser:v2.63.5 image: filebrowser/filebrowser:v2.54.0
command: command:
- filebrowser - filebrowser
- --database=/config/filebrowser.db - --database=/config/filebrowser.db
+4 -1
View File
@@ -41,7 +41,10 @@ spec:
spec: spec:
containers: containers:
- name: termix - 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 image: ghcr.io/lukegus/termix:release-1.11.0
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
+1 -1
View File
@@ -57,7 +57,7 @@ spec:
spec: spec:
containers: containers:
- name: meilisearch - name: meilisearch
image: getmeili/meilisearch:v1.45.2 image: getmeili/meilisearch:v1.11.3
env: env:
- name: MEILI_MASTER_KEY - name: MEILI_MASTER_KEY
valueFrom: valueFrom:
+2 -2
View File
@@ -130,7 +130,7 @@ spec:
initContainers: initContainers:
# Configure proxy auth in database before starting # Configure proxy auth in database before starting
- name: configure-auth - name: configure-auth
image: filebrowser/filebrowser:v2.63.5 image: filebrowser/filebrowser:v2.54.0
command: command:
- sh - sh
- -c - -c
@@ -151,7 +151,7 @@ spec:
runAsGroup: 1000 runAsGroup: 1000
containers: containers:
- name: filebrowser - name: filebrowser
image: filebrowser/filebrowser:v2.63.5 image: filebrowser/filebrowser:v2.54.0
command: command:
- filebrowser - filebrowser
- --database=/config/filebrowser.db - --database=/config/filebrowser.db