3.4 KiB
Servers — the running list
Every machine the owner runs, how to reach it, and what of Officer is on it. Kept here so an orchestrator ("pull and update every platform", "restart officer everywhere", "which host is behind") has one place to read rather than a fact re-derived per session.
Started 2026-08-21. Everything below was verified from officer-dev on that date by SSH and
pm2 jlist, except where marked assumed. Commit SHAs are a snapshot and go stale immediately — they
are here to show which checkout is live, not as a status board.
How access works
All of it is over the tailnet. There is no ~/.ssh/config — names resolve by MagicDNS and the
login is key-based, so ssh <name> as pastilhas is the whole story:
ssh alpha
ssh fofos
Nothing here needs a password, a jump host or a port. A host that refuses port 22 is not misconfigured — see "Not SSH-reachable" below.
Officer platforms
| Host | Tailnet IP | Live checkout | Runs officer |
Git remote |
|---|---|---|---|---|
officer-dev |
100.64.0.13 | ~/officer-dev/platform |
yes (this host) | git@gitea.officer.dev:officerdev/platform.git |
alpha |
100.64.0.1 | ~/officerdev/platform |
yes | git@gitea.officer.dev:officerdev/platform.git |
fofos |
100.64.0.17 | ~/officerdev/platform |
yes | https://gitea.officer.dev/officerdev/platform.git |
headscale |
100.64.0.2 | ~/dockers/officerdev/platform |
no | ssh://git@gitea.pastilhas.dev:2222/officerdev/platform.git |
omega |
100.64.0.3 | ~/projects/officerdev/platform |
no | none set |
Three things an orchestrator has to handle, all verified and none of them cosmetic:
- The checkout path differs per host. There is no single path to hard-code. Take it from PM2 —
pm2 jlistgives theofficerprocess'spm_cwd, which is the checkout that is actually serving. alphahas a SECOND, stale checkout at~/dockers/officer.dev/platform(same remote, different HEAD). Pulling the wrong one updates nothing and looks like success. PM2'spm_cwdis the tiebreak.- The remotes are not the same URL.
fofospulls over HTTPS andheadscalepoints at a different Gitea entirely (gitea.pastilhas.dev:2222). An orchestrator that assumes SSH togitea.officer.devbreaks on two of five.
headscale and omega hold a checkout but run no officer process (no PM2 on either). Whether those
are retired, staging or half-installed is not established — ask before treating them as targets.
Other machines on the tailnet
gateway(100.64.0.4) — reachable over SSH aspastilhas, no platform checkout, no PM2.- Not SSH-reachable (port 22 refused):
edge-dns(100.64.0.8),edge-bridge(100.64.0.15),gitea-bridge(100.64.0.12),officer-bridge(100.64.0.5). Assumed to be service-only containers rather than hosts to log into — not confirmed. - Client devices, not servers:
macbookpro,iphone16,andres-ipad,pixel9a, plus other people's devices in the tailnet (diogos-ipad,iphone-diogo,iphone-bruno,guilhermes-macbook-pro,macbook-pro-de-joo).
Keeping this list true
It is a running list, so it is worth saying what makes it rot: a new server, a moved checkout, a
platform retired, or a remote changed. Re-verify with the same three commands the list was built from
— tailscale status, pm2 jlist for the officer entry's pm_cwd, and git -C <cwd> remote get-url origin.