master-zapier-plan-draft/packages/verae-fleet
George Lambert a73875f4ef
Some checks are pending
offline / test (push) Waiting to run
Cut the test environment over to the 3-node Proxmox NATS cluster.
Fleet/keep/middleware NATS_URL lists 10.10.10.21–23. Product streams
are replicas=3. px-worker worm/tree run on that cluster. Backup timer
and px-worker uptime watch are on. MOCK_VERAE and Zapier push unchanged.
2026-09-11 23:59:38 -04:00
..
docs Close the UI-review follow-ups: names typeahead, fleet form, overflow flip. 2026-09-11 18:18:37 -04:00
overlays/ns1 Cut the test environment over to the 3-node Proxmox NATS cluster. 2026-09-11 23:59:38 -04:00
public Close the UI-review follow-ups: names typeahead, fleet form, overflow flip. 2026-09-11 18:18:37 -04:00
scripts Add Proxmox worker CT, off-box watch, backup, and tagged deploy. 2026-09-11 23:35:44 -04:00
services Cut the test environment over to the 3-node Proxmox NATS cluster. 2026-09-11 23:59:38 -04:00
src Add Proxmox worker CT, off-box watch, backup, and tagged deploy. 2026-09-11 23:35:44 -04:00
systemd Cut the test environment over to the 3-node Proxmox NATS cluster. 2026-09-11 23:59:38 -04:00
test Clean prepaid SoT, identity mailbox, public access planes, leaf policy, fleet spawn 2026-09-11 17:15:16 -04:00
.gitignore Control remote fleet workers over SSH with user, host, and key path 2026-09-11 13:31:21 -04:00
fleet.json Sync docs, add verae-bootstrap, and run the full stack on NS1. 2026-09-11 19:52:54 -04:00
machines.json Add Proxmox worker CT, off-box watch, backup, and tagged deploy. 2026-09-11 23:35:44 -04:00
machines.secrets.json.example Control remote fleet workers over SSH with user, host, and key path 2026-09-11 13:31:21 -04:00
NATS.md Add fleet control: service configs, replica floors, monitor, pause/restart 2026-09-11 13:09:55 -04:00
package.json Add fleet control: service configs, replica floors, monitor, pause/restart 2026-09-11 13:09:55 -04:00
README.md Add Proxmox worker CT, off-box watch, backup, and tagged deploy. 2026-09-11 23:35:44 -04:00
SERVICES.md Spread fleet replicas across extra machines and show message RTT percentiles 2026-09-11 13:25:05 -04:00
SUMMARY.md Add fleet control: service configs, replica floors, monitor, pause/restart 2026-09-11 13:09:55 -04:00

verae-fleet

Operator control plane for Verae Time × Zapier runtime services:

  • a list of every service and its config file
  • a central replica spec (fleet.json) — how many copies must be up
  • a monitor of active / paused / unhealthy replicas
  • restart when a copy is offline or fails /health
  • on / off / pause / resume per service or per instance
  • keepFloor on tree nodes so at least min copies stay available (paused copies do not count)
cd packages/verae-fleet
npm test
node src/cli.js list
node src/cli.js serve    # http://0.0.0.0:3850/

Against a running daemon:

node src/cli.js status
node src/cli.js pause tree-node-0      # floor starts another tree-node
node src/cli.js resume tree-node-0
node src/cli.js restart tree-node-1
node src/cli.js stop webhook-deliver   # disable that service
node src/cli.js start webhook-deliver

Add capacity in machines.json or the monitor Add machine form (kind=ssh, user, host, identity file path). New replicas land on the least-loaded eligible host.

node src/cli.js ssh-check ns1    # marchon@70.88.205.138 with ~/.ssh/id_ed25519

Private keys stay on disk (~/.ssh/id_ed25519); git stores only the path. Optional overrides: machines.secrets.json (gitignored).

Operator console (Fleet · Trace · Docs) at http://127.0.0.1:3850/docs/CONSOLE.md · CONSOLE.pdf (also https://zapier.georgelambert.org/packages/verae-fleet/docs/CONSOLE.pdf). Message-processing min / avg / p50 / p90 RTT is on the Fleet tab.

Zapier cloud apps are listed but not spawned. NATS on NS1 is monitored only (loopback :4222, never a public bind).

On a dedicated host, run verae-keep next to fleet: keep restarts crashed replicas unless this console paused or stopped them (intent.json per instance). Pause/stop/start write that file locally and over SSH.

NS1 overlay (no rewrite of git JSON): FLEET_FILE=overlays/ns1/fleet.json FLEET_MACHINES=overlays/ns1/machines.json. User systemd: bash scripts/install-systemd.sh. Proxmox worker: machine id px-worker after verae-proxmox.

Install on Docker / Proxmox / metal: https://zapier.georgelambert.org/packages/verae-ops/README.pdf

Clone: ssh://git@git.georgelambert.org:2223/marchon/verae-fleet.git