hush/scripts
jx12n d32283e36a make release: deployment that needs no CI credential
Woodpecker is not activated for this repo — the WOODPECKER_API_TOKEN in
rdev-credentials returns 401 on /api/user, so it is the token and not the
request shape, and minting a new one needs a browser login I cannot do. That
left `git push` silently not deploying, which is a trap for whoever pushes next.

So `make release` does what the pipeline's build and deploy steps do: a Kaniko
Job for an amd64 image from the pushed git ref, `kubectl set image`, rollout,
then the production smoke. When Woodpecker is activated this becomes redundant,
and stays useful as the manual path for a hotfix or a rollback when CI is down.

Two refusals in it are the interesting part, both for failures that are
otherwise silent:

  * A dirty or unpushed tree is refused. Kaniko builds from the GIT CONTEXT, not
    the working tree, so uncommitted work would produce an image that does not
    contain it while every log line says success.
  * After the rollout it asserts the live image equals the one just built.
    `kubectl set image` matching no container is silent, and the rollout then
    "succeeds" against the old pod.
2026-09-03 00:22:13 -06:00
..
alerts-check.sh docs, ops scripts, and the MCP install 2026-09-03 00:18:53 -06:00
format-logs.py docs, ops scripts, and the MCP install 2026-09-03 00:18:53 -06:00
install-mcp.sh docs, ops scripts, and the MCP install 2026-09-03 00:18:53 -06:00
logs.sh docs, ops scripts, and the MCP install 2026-09-03 00:18:53 -06:00
release.sh make release: deployment that needs no CI credential 2026-09-03 00:22:13 -06:00
smoke.sh hush: one-time secret links the server cannot read 2026-09-03 00:08:38 -06:00