max / makenotwork
- Co-Authored-By
- Claude Opus 5 (1M context) <noreply@anthropic.com>
1 file changed,
+28 insertions,
-0 deletions
| @@ -1,4 +1,32 @@ | |||
| 1 | 1 | #!/usr/bin/env bash | |
| 2 | + | # | |
| 3 | + | # STALE. Did not work as written when pom 0.4.0 went out on 2026-07-29, and the | |
| 4 | + | # 0.4.0 deploy was done by hand instead. Read this before trusting it. | |
| 5 | + | # | |
| 6 | + | # Three problems, in order of how much they matter: | |
| 7 | + | # | |
| 8 | + | # 1. It cross-compiles, which the ecosystem rule forbids: builds are native per | |
| 9 | + | # architecture. `cargo zigbuild --target aarch64-...` from fw13 is a cross | |
| 10 | + | # build for astra, and cargo-zigbuild is not installed here anyway (only zig | |
| 11 | + | # itself). What 0.4.0 actually did: build on astra for astra, build on fw13 | |
| 12 | + | # for hetzner. Both ends are now x86_64 glibc 2.39 for the hetzner leg, so | |
| 13 | + | # that one needs nothing but `cargo build --release`; confirm with | |
| 14 | + | # `objdump -T target/release/pom | grep -o 'GLIBC_[0-9.]*' | sort -uV | tail -1` | |
| 15 | + | # against the target's `ldd --version` before shipping. | |
| 16 | + | # 2. It reaches hetzner on port 2200, which refused this machine's key for both | |
| 17 | + | # root and max. The route that worked is Tailscale SSH on 22 as root. | |
| 18 | + | # 3. It copies pom-<host>.toml over /etc/pom/pom.toml and pom.service over the | |
| 19 | + | # unit, with no diff and no backup. That is how a live-only config block gets | |
| 20 | + | # deleted: prod's config carried a [targets.mnw.tests] block this repo did | |
| 21 | + | # not have, so running this would have silently dropped prod's remote CI | |
| 22 | + | # check. Fixed in MNW@f92eb501, but the hazard is structural, not that one | |
| 23 | + | # block. Diff live against the file before installing either. | |
| 24 | + | # | |
| 25 | + | # What 0.4.0 did instead, per host: back up the binary, /etc/pom/pom.toml, and | |
| 26 | + | # pom.db + WAL; `systemctl stop pom`; install the binary; start; then confirm | |
| 27 | + | # migrations in the journal and that /api/health, /status.json and /api/versions | |
| 28 | + | # all answer 200. | |
| 29 | + | # | |
| 2 | 30 | set -euo pipefail | |
| 3 | 31 | ||
| 4 | 32 | ASTRA_HOST="max@100.106.221.39" |