Standardize fleet site agents on Pangolin CLI in Docker #44

Merged
parkerhdavis merged 2 commits from pangolin-cli-site-agents into main 2026-10-12 20:02:56 -06:00
parkerhdavis commented 2026-10-12 20:02:53 -06:00 (Migrated from github.com)

Replaces the fleet's mixed agents with the pattern Pangolin now recommends: all three phd-* hosts run fosrl/pangolin-cli in Docker through the Cumulus stack, so the agent auto-starts and restarts with everything else instead of being a manually-launched host process.

Two roles per machine, both the same image:

  • pangolin-site (site mode, SITE_ID/SITE_SECRET) — accepts inbound overlay connections and forwards resources to localhost ports. Beelink and razer swap fosrl/newt for this; credentials carry over as-is since the CLI accepts existing site ID/secret pairs (verified live on razer). Tower already ran this container.
  • pangolin-client (machine-client mode, CLIENT_ID/CLIENT_SECRET) — the only component that creates a host's outbound routes and .internal DNS resolution; this replaces the manual pangolin up client processes that had to be started by hand after every boot.

Also updates Makefile help text and the .env.example comments to name both credential pairs.

Rollout note: beelink's container swap happens after merge, via git pull + make up phd-beelink on that host; each host also needs its machine-client credentials added to its .env (*_CLIENT_ID/*_CLIENT_SECRET), freshly generated from the dashboard.

Replaces the fleet's mixed agents with the pattern Pangolin now recommends: all three phd-* hosts run `fosrl/pangolin-cli` in Docker through the Cumulus stack, so the agent auto-starts and restarts with everything else instead of being a manually-launched host process. Two roles per machine, both the same image: - `pangolin-site` (site mode, `SITE_ID`/`SITE_SECRET`) — accepts inbound overlay connections and forwards resources to `localhost` ports. Beelink and razer swap `fosrl/newt` for this; credentials carry over as-is since the CLI accepts existing site ID/secret pairs (verified live on razer). Tower already ran this container. - `pangolin-client` (machine-client mode, `CLIENT_ID`/`CLIENT_SECRET`) — the only component that creates a host's outbound routes and `.internal` DNS resolution; this replaces the manual `pangolin up client` processes that had to be started by hand after every boot. Also updates Makefile help text and the `.env.example` comments to name both credential pairs. Rollout note: beelink's container swap happens after merge, via `git pull` + `make up phd-beelink` on that host; each host also needs its machine-client credentials added to its `.env` (`*_CLIENT_ID`/`*_CLIENT_SECRET`), freshly generated from the dashboard.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
parker/cumulus!44
No description provided.