diff --git a/traefik/traefik.env.template b/traefik/traefik.env.template index b95d019..d604d4a 100644 --- a/traefik/traefik.env.template +++ b/traefik/traefik.env.template @@ -30,6 +30,19 @@ # keepalived itself. Set TRAEFIK_KEEPALIVED_PASSWORD in Woodpecker to a # value 8 characters or fewer (or accept that only the first 8 chars are # actually significant) so the effective negotiated value is unambiguous. +# +# 2026-09-12 RE-TRIGGER: traefik.env was found MISSING on disk after the +# Pattern C migration merged — the manifest-driven provisioning render only +# happens on a push that changes traefik/, and traefik is bootstrap-tier +# (stack-deploy.sh must be run manually; the pipeline never auto-deploys +# this stack). A manual `stack-deploy.sh traefik` had apparently been run +# while traefik.env was absent, causing Swarm's own interpolation to +# silently render KEEPALIVED_PASSWORD/KEEPALIVED_VIRTUAL_IPS as EMPTY +# STRINGS on keepalived-master (not missing — empty, which is worse, +# since it's a valid-looking VRRP auth string that mismatches everything). +# This comment-only change re-triggers provision-secrets to re-render and +# re-ship traefik.env; a manual `stack-deploy.sh traefik` must still be run +# afterward to actually apply it to the running services. # ───────────────────────────────────────────────────────────────────────── # ── Keepalived (non-secret config) ────────────────────────────────────────