70 lines
4.5 KiB
Markdown
70 lines
4.5 KiB
Markdown
# 2026.08.23.02 — deploy report
|
|
|
|
**5 of 5 target hosts succeeded.** Two hosts were not targets: `officer-dev` (the rollout ran from it)
|
|
and `edge-pertento-bridge` (deliberately skipped in `docs/servers.md`).
|
|
|
|
Every target went the same way, in the plan's order: `git fetch origin --tags`, `git merge --ff-only
|
|
deploy/2026.08.23.02`, `bun db:push`, `bun run plugins:update`, `pm2 restart officer`. No tree was dirty
|
|
in tracked files, so no host was skipped for that. Every host fast-forwarded cleanly to
|
|
`0a8fe1c2` — the tag commit, and exactly that commit on all five.
|
|
|
|
The tag and `package.json` agree (`2026.08.23.02`), and the plan file was present at the tag.
|
|
|
|
## Per host
|
|
|
|
| Host | HEAD before | HEAD after | db:push | plugins:update | `officer` restart_time | Result |
|
|
| ---------------------------- | ----------- | ---------- | ------- | -------------- | ---------------------- | ------- |
|
|
| `alpha` | `e6f1388a` | `0a8fe1c2` | applied | 12/12 in 47s | 67 → 68, online | ok |
|
|
| `fofos` | `e6f1388a` | `0a8fe1c2` | applied | 1/1 in 7s | 21 → 22, online | ok |
|
|
| `macbookpro` | `b22e9d86` | `0a8fe1c2` | applied | no plugins | 8 → 9, online | ok |
|
|
| `production-pertento-bridge` | `68d60e40` | `0a8fe1c2` | applied | 1/1 in 5s | 0 → 1, online | ok |
|
|
| `deadpool-rezio-bridge` | `e6f1388a` | `0a8fe1c2` | applied | 2/2 in 7s | 6 → 7, online | ok |
|
|
| `officer-dev` | — | — | — | — | — | SKIPPED |
|
|
| `edge-pertento-bridge` | — | — | — | — | — | SKIPPED |
|
|
|
|
`bun db:push` reported `Changes applied` on all five. It prompted for nothing — `sendoff_devices` and
|
|
`sendoff_senders` are new tables, so the diff was additive.
|
|
|
|
## What restarted, beyond what the plan asked for
|
|
|
|
The plan named `officer` only, and `officer` is the only process this deploy restarted deliberately.
|
|
`bun run plugins:update` restarts each plugin's own sidecar as it goes — that is the script's behaviour,
|
|
not a fault, and it is the larger part of what moved:
|
|
|
|
- `alpha` — twelve plugin sidecars bounced during the plugins step (atelier, bitcoin-wallet, email,
|
|
gitea, invoices, jellyfin, music, offscale, photos, soulseek, transmission, vault).
|
|
- `fofos` — one (`officer-gitea`).
|
|
- `production-pertento-bridge` — one (`officer-gitea`).
|
|
- `deadpool-rezio-bridge` — two (`officer-email`, `officer-offscale`).
|
|
- `macbookpro` — none; no plugins are installed there.
|
|
|
|
After each restart, `pm2 jlist` showed `officer` `online` with `restart_time` incremented, and no process
|
|
on any host was `errored`.
|
|
|
|
## Hosts the plan flagged
|
|
|
|
- **`production-pertento-bridge`** was one release behind (`68d60e40`, which is `deploy/2026.08.22.02`)
|
|
and fast-forwarded past `deploy/2026.08.23.01` to this tag in one step. Its `known_hosts` entry was
|
|
absent as expected; the first connection pinned the ED25519 key it offered. Expected, per the plan.
|
|
- **`edge-pertento-bridge`** was not contacted at all. Nothing was spent on it.
|
|
- **`macbookpro`** was awake and needed the documented PATH append (`/opt/homebrew/bin`) for the `bun`
|
|
steps, with `pm2` run separately through `$SHELL -ic`.
|
|
|
|
## Things worth knowing, none of them failures
|
|
|
|
- `fofos` carries one untracked file, `scripts/chk.ts`. A note, not a skip — a fast-forward cannot touch
|
|
it, and it was left alone.
|
|
- `production-pertento-bridge` prints an nvm/`.npmrc` `globalconfig` warning before every command run
|
|
through `$SHELL -ic`. It is noise; every command it prefixed succeeded.
|
|
- `macbookpro` prints `command not found: starship` on stderr from `.zshrc`. Harmless, but it corrupts
|
|
`pm2 jlist` output if stderr is merged into stdout — read that host's JSON with `2>/dev/null`.
|
|
|
|
## What was not done
|
|
|
|
- **`officer-dev` was not deployed.** Its checkout is already at `0a8fe1c2` (the release was cut here),
|
|
but nothing was pulled, no schema was pushed, no plugin was updated and no process was restarted. The
|
|
rollout ran from this machine, and restarting `officer` here ends the agent doing it. That host needs
|
|
a deliberate `bun db:push`, `bun run plugins:update` and `pm2 restart officer` from the owner before
|
|
`/sendoff` will work on it — the schema change means the missing `bun db:push` is not cosmetic.
|
|
- No host got `bun install`. The plan forbade it: `bun.lock` is unchanged across this release.
|