deploy.sh: honour TG_POST_DEPLOY on the compose path too #109

Merged
admin_emi merged 1 commit from fix/post-deploy-gate-compose into dev 2026-07-26 07:28:44 +00:00
Owner

Third defect caught by actually running the cutover.

The per-environment gate on the post-deploy city warm and IndexNow ping went into deploy/stack/deploy-stack.sh (beta, prod) but was missed in deploy.sh's compose branch — which is the single environment where the ungated default is wrong: dev.

Standing dev up on vps1 therefore:

  • warmed city archives against the shared upstream archive quota, to fill a cache only dev reads, and
  • submitted an IndexNow batch advertising http://10.10.0.2:8137 — a WireGuard address no crawler can reach.
Submitted 0/14007 URLs in 2 batch(es); statuses=[403, 403]
[6/1000] FAILED istanbul-tr: The weather service is rate-limited right now.

IndexNow rejected the batch (site verification incomplete) and the warm was rate-limited after six cities, so real spend was negligible — but that was luck, not design, and the warm was still running until dev's backend was restarted to stop it.

Verified after the fix:

dev   TG_POST_DEPLOY=0 -> suppressed
beta  TG_POST_DEPLOY=0 -> suppressed
prod  TG_POST_DEPLOY=1 -> warm+indexnow RUN
unset                  -> RUN (prod's historical behaviour preserved)

Defaults to 1 when unset so a checkout predating env-topology.sh behaves exactly as before.

Third defect caught by actually running the cutover. The per-environment gate on the post-deploy city warm and IndexNow ping went into `deploy/stack/deploy-stack.sh` (beta, prod) but was missed in `deploy.sh`'s compose branch — which is the single environment where the ungated default is wrong: **dev**. Standing dev up on vps1 therefore: - warmed city archives against the **shared upstream archive quota**, to fill a cache only dev reads, and - submitted an IndexNow batch advertising `http://10.10.0.2:8137` — a WireGuard address no crawler can reach. ``` Submitted 0/14007 URLs in 2 batch(es); statuses=[403, 403] [6/1000] FAILED istanbul-tr: The weather service is rate-limited right now. ``` IndexNow rejected the batch (site verification incomplete) and the warm was rate-limited after six cities, so real spend was negligible — but that was luck, not design, and the warm was still running until dev's backend was restarted to stop it. Verified after the fix: ``` dev TG_POST_DEPLOY=0 -> suppressed beta TG_POST_DEPLOY=0 -> suppressed prod TG_POST_DEPLOY=1 -> warm+indexnow RUN unset -> RUN (prod's historical behaviour preserved) ``` Defaults to `1` when unset so a checkout predating `env-topology.sh` behaves exactly as before.
admin_emi added 1 commit 2026-07-26 07:26:04 +00:00
deploy.sh: honour TG_POST_DEPLOY on the compose path too
All checks were successful
PR build (required check) / changes (pull_request) Successful in 7s
secrets-guard / encrypted (pull_request) Successful in 6s
PR build (required check) / validate-observability (pull_request) Has been skipped
PR build (required check) / gate (pull_request) Successful in 1s
shell-lint / shellcheck (pull_request) Successful in 7s
PR build (required check) / build-backend (pull_request) Has been skipped
PR build (required check) / build-frontend (pull_request) Has been skipped
c6150d07aa
The per-environment gate on the post-deploy city warm and IndexNow ping was
added to deploy/stack/deploy-stack.sh but missed here, on the compose path --
which is the one environment where the default is wrong: dev.

Standing dev up on vps1 duly warmed city archives against the shared upstream
quota and submitted an IndexNow batch advertising http://10.10.0.2:8137, a mesh
address no crawler can reach. IndexNow rejected it (site verification), and the
warm was rate-limited after six cities, so the damage was small -- but only by
luck, and the warm was still running until the container was restarted.

Defaults to 1 when unset, so a checkout predating env-topology.sh keeps prod's
historical behaviour.
admin_emi merged commit 64986189e1 into dev 2026-07-26 07:28:44 +00:00
admin_emi deleted branch fix/post-deploy-gate-compose 2026-07-26 07:28:44 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Jinemi/thermograph#109
No description provided.