fix(renovate): move the three VictoriaMetrics images as one PR #445
Inga granskare
Etiketter
Inga etiketter
area/backups
area/ci
area/control-panel
area/identity
area/infra
area/observability
area/payments
area/security
area/storage
area/web
blocked
needs-info
needs-triage
ready-for-implementation
type
bug
type
chore
type
docs
type
epic
type
feature
type
task
wontfix
Ingen milstolpe
Inget projekt
Inga tilldelade
1 deltagare
Notiser
Förfallodatum
Inget förfallodatum satt.
Beroenden
Inga beroenden satta
Referens
bitborg/bitborg-infra!445
Läser in…
Hänvisa till i nytt ärende
Ingen beskrivning angiven.
Ta bort grenen "fix/group-victoriametrics-lockstep"
Borttagning av en gren är permanent. Även om den borttagna grenen kan fortsätta existera en kort tid innan den faktiskt tas bort, kan det INTE ångras i de flesta fall. Vill du fortsätta?
Needed before Monday 2026-08-24, when the scheduled Renovate run creates branches for the eight
updates now sitting in Awaiting Schedule. Three of them are the VictoriaMetrics trio.
The invariant nothing enforced
The three images are pinned in three separate places, across two roles and two hosts, and two of the
pins carry a comment requiring lockstep:
Nothing enforced it. Ungrouped, one upstream release produces three PRs, and merging them at
different times leaves the versions diverged across the
remote_writeboundary.Reproduced, with a control
Run with
platform=localanddry-run=fullagainstrenovate:43, which is what Monday's scheduledrun does. No token, no production access, no apply.
…-victoria-metrics-1.x…-vmagent-1.x…-vmalert-1.xrenovate/victoriametrics)All three resolve to
v1.150.0.lokiandalertmanagerkept their own branches in both runs,so the group is scoped rather than a blanket one.
The control is the part that matters. A
matchDepNamesthat matched nothing would produce a passingconfig, no error, and three branches, which is indistinguishable from a rule that works. The shared
preset's own description warns about exactly this for
matchDepTypes: "a depType that matches nothingfails silently and looks exactly like a rule that works."
Choices
Repo-local, not in the shared preset. These images exist in no other bitborg repo (checked all
six), and the preset reserves per-repo files for "genuinely repo-specific rules". Same precedent as
the forgejo/postgres major gate already here.
No
matchUpdateTypes. Renovate's defaultseparateMajorMinoralready splits a major into its ownbranch, where the global
majorgate still holds it for dashboard approval. Adding the constraintwould be redundant and would suggest a protection that comes from elsewhere.
Same shape as the preset's
toolchaingroup, which exists because Node is pinned twice and the twopins "could silently drift to different Node versions". This is that, with three literals.
Note for whoever merges the grouped PR
It spans two hosts:
vmagentruns on the services host,victoria-metricsandvmalerton themonitoring VM. So it needs an apply to both. That is the point rather than a drawback. Bumping
vmalertalso changes the imagescripts/check-alert-rules.pyvalidates against, which needs noaction because that script reads the tag from role defaults rather than a second literal.
victoria-metrics, vmagent and vmalert are pinned in three separate places, and two of those pins carry a comment requiring lockstep: vmalert_image_tag "keep in lockstep with victoriametrics_image_tag" vmagent_image_tag "keep in lockstep with the VM/vmalert tags on the monitoring VM" Nothing enforced it. Reproduced with platform=local and dry-run=full against renovate 43, which is what Monday's scheduled run will do: without the rule renovate/docker.io-victoriametrics-victoria-metrics-1.x renovate/docker.io-victoriametrics-vmagent-1.x renovate/docker.io-victoriametrics-vmalert-1.x with the rule renovate/victoriametrics All three resolve to v1.150.0. loki and alertmanager kept their own branches in both runs, so the group is scoped rather than a blanket one. The control run matters more than the result: a matchDepNames that matched nothing would look exactly like a rule that works, which the shared preset's own description warns about for matchDepTypes. Same failure the preset's `toolchain` group prevents for the Node pins, with three literals instead of two. Kept repo-local rather than added to the shared preset because these images exist in no other bitborg repo, and the preset reserves per-repo files for genuinely repo-specific rules. No matchUpdateTypes: Renovate's default separateMajorMinor already splits a major into its own branch, where the global major gate still holds it for dashboard approval. The grouped PR spans two hosts, since vmagent runs on the services host while victoria-metrics and vmalert run on the monitoring VM. That needs an apply to both, which is the point rather than a drawback.