zscripts-token-savers/CHECKSUMS.txt
Kelly Michels 6c30f400ad
feat(zdeploy): sync deploy hardening from the private toolkit (#53)
Nine fixes that had accumulated only in the private copy. Each one is a
production failure that already happened:

  * ssh -n on the deploy path. Without it ssh reads its stdin, inherits
    the console handle under PowerShell, and can block forever. The
    existing timeouts cannot catch it - they bound a connection that is
    dying, and this one was never established. Get-Ec2ScpOpts derives
    from the same list minus -n, because scp rejects it with a usage
    error that reads like an unrelated failure.

  * Invoke-DeployGitPull now switches TO the default branch instead of
    pulling whatever is checked out. Pulling the current branch breaks
    as soon as the remote deletes branches on merge, and worse, could
    ship a feature branch to production. Refuses over local changes,
    excluding the files the deploy itself stamps.

  * nextjs handler resolves composeDir. It ran compose against
    remote.path, so a project whose compose lives in a subdirectory
    recycled whatever docker-compose.yml sat at the project root -
    usually the local dev one shipped in the same archive. Two deploys
    in a row exited 0 having shipped nothing, and verification passed
    because the untouched old container still answered.

  * BUILD BEFORE DOWN. The old order took the site offline for the whole
    build and left it offline if the build failed - one deploy served
    502 for 19 hours with no container running. The old image now keeps
    serving until the new one is ready.

  * compose build takes the named service, so a compose file that does
    not define it fails loudly instead of succeeding with nothing to do.

  * deploy.verifyHost overrides domain for verification only, for when a
    domain is retired ahead of its replacement.

  * deploy.stampCmd writes the build version from git before zipping,
    then reverts the tree so the stamp cannot block the next deploy.

  * Optional ztokens pseudo-project and passive usage records. Both
    degrade to a printed skip when no sibling ztokens checkout exists.

Sanitized on the way across, per the public-repo rule: the war stories
that make these comments worth reading are kept, the private product
names, domains, internal script names, outage dates and host figures are
not. Also dropped a "See issue #28" pointer that resolves to an
unrelated PR in this repo, and two references to scripts that exist only
in the private toolkit.

CHECKSUMS.txt refreshed alongside, per the manifest rule.

Tests: 222/222 (the 4 failures before the refresh were the checksum
suite correctly flagging both edited files).
2026-08-20 11:44:42 -05:00

43 lines
3.3 KiB
Plaintext

2b30c150a4bd66df0be4f0e4a83d31d2f48d0f67d9250cfcf8f42c24564135db setup_backup_schedule.ps1
d7febd18001ece8e2c60b0eac1278acb7ca0b139183ae5ca1251429e7ad827d6 token-count.ps1
8d38283ef49f7be887bc14d3f598a9cafc53cd444dea2cd07f24c87c35c058d6 zbackup.cmd
54b98538187636835b167c3db561f963ea1e5b0a2ce31f3a4280f30028d500ef zbackup.ps1
50a7b0d70478028dc678385a069176361f532f60801d98869903f61731a1172c zbackup_and_sync.ps1
ef044236dfe8ad6d308de4b936f0e454d249fc6cde6d9944eb47cd583b4a7f79 zbackup_ec2.cmd
b195d2f06601498bb2ce264eb01b6fa567fbbe5396bf1f2e11240c0c7c269ea7 zbackup_ec2.ps1
f443ca5f48537f5d580675ba4ba26d9d06ed1c0db5ec8f7c8a800874f6eed393 zchecksums.cmd
68ab969da2e2b9d6194a6aab0e27a176d8e67bdc799f32964aa4ac6f232ae3b0 zchecksums.ps1
92a4405bbee47bbf7ef37e4fcdba3c6b14c63e3acaf494b96663ab20a8e36d75 zdeploy.cmd
677b7f346e5e70a6e4d82a131896179e790be4c6344d51d8a0575ec7e6503ea6 zdeploy.ps1
0eda8a0a48651940724801d677cc762047a56352c9b9b0323437e3c394d1f253 zec2.cmd
0a705df645a21d91385a67705c864ba9677a8436678b27dc51b81fff970bb45b zec2.ps1
43a5b030db7f5142b339a2b3acc32ebf2c885483d9e1295f09c771aa310ad857 zec2_rotatekeys.cmd
8c779b5fad01a752611aca7244df5fbf0bc8b9671a7825690dd87c249310f98a zec2_rotatekeys.ps1
6984ed519e617c41372f4cfbd393cd3638bd83031f27a7a2643ab47b6dba5b17 zec2online.cmd
7056287c5fffce3a0360e9a05e40eacdb18ac88f0066f55a9c49e2f3e47a5746 zec2online.ps1
5367dfc2ea5776d942673b641d60cf0f7475754a3dd5c62de9b5959010533b67 ZHelpers.ps1
2d4acc784f1fdd82e9db7cc39bc732158ea9cee981d1b22d1a143160e8a1a632 zkill.cmd
08c88bfd0f7966b3a4c7df6c45b6e667efedf939e83ced445f05d5f53b800462 zkill.ps1
bb7d971a2b0113698ecdd7fcaaaa9f3ada9a80d39a984315d9bc6d3e65c6189e ZKiller.ps1
cf98543edcc096f433d66bd884ae64d14cad88cd3a7835ab05615ad21f767d8f ZKillOnly.ps1
a6b52155a2fc9efef4cae3f21d70f3c8b3b9d28d26fb508544dea278d1354d92 zrelease.cmd
37c01589505214511baef6c187fabfc7151204ef14d1d9ccdfd258cd676c6647 zrelease.ps1
7f6e78c2d5562518e4615265abcc6ec0bc41c9c1295b01642c93d3427004a2c2 zrepair.cmd
d4d404ff5b5554bc0d38a632b2e8531995010a7f7ce9e94a7dd58363c9779376 zrepair.ps1
3e11b61d622d1d9765d986d3c7fe5cf9b6659cf3e4a4e3561790c63f90f61733 zrestart.cmd
21c9d0cadf268b63c096f083cff076f8901b5f18f76e8539b96846e8a28c8179 zrestart.ps1
27f34a7273942bffd0ba87b451ef17e46ea5974d1e7fc741f33aded52d3fbef1 zrestartd.cmd
acf116e30976d8423a700bc5e53293d53c42db1c8499f988bd9e2cab101ef01c zsetup.cmd
16f59e1d5280fda2afa6d073ab57da1d4eeb342763e835f351b634633b449d3a zsetup.ps1
c49858506574f298c51d1952af56157fcef8b9bb6582de722cb176fa14511a11 zsetup_mail.ps1
b61cf54a6db5cdc417a9df718ac5886e05bb14393752d1de0286b1ce98aa1e45 zstart.cmd
1eaf320698c710519cf4d0cd52aabce66e1ff249b429710f03524b60ffd48050 zstart.ps1
8f59f631e1682f02401bdfc7dcdfa7932c9e8d043d15145a22efd850ac1e848d zstart_docker.cmd
998edc45efe7ea620347a1b62f51a413dbcb18ecce563592514987dece99fa42 zstart_docker.ps1
811a36d2ae5b33051b804de37d6e2d68c17c372d2f39d6122e36fa06680cfe3a zstartd.cmd
9314605518c18d6024bce8d72489cfb90e1ae96c696808baf141061debae29f1 zstop.ps1
f75c7313c30a04390a16b0e376d08efc214659e0e083d3bcb1cd885af16c3d3d zsync.cmd
87f360869aa4bc7067722b4062cb14e052efe0df6ac5f851843732870fd3d73e zsync.ps1
d844859e4a5111db35ae266bf7e7923365a8bf4071468eb6a7b127fba8e98ba7 zversion.cmd
bf8bc5606ba3c631a7c775aa5206d2b1aea3b5fd7b426d36cc53e80e72d05f97 zversion.ps1