Add fleet control: service configs, replica floors, monitor, pause/restart
Some checks are pending
offline / test (push) Waiting to run

Central fleet.json sets min/max copies. Tree-node keepFloor respawns
until three healthy unpaused replicas remain. CLI and loopback UI
pause, resume, stop, and restart instances that fail health checks.
This commit is contained in:
George Lambert 2026-09-11 13:09:55 -04:00
parent f3dc0e6eee
commit dd99ce1c64
33 changed files with 1368 additions and 0 deletions

View file

@ -0,0 +1,32 @@
# 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)
```bash
cd packages/verae-fleet
npm test
node src/cli.js list
node src/cli.js serve # http://127.0.0.1:3850/
```
Against a running daemon:
```bash
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
```
Zapier cloud apps are listed but **not spawned**. NATS on NS1 is **monitored only** (loopback `:4222`, never a public bind).
Clone: `ssh://git@git.georgelambert.org:2223/marchon/verae-fleet.git`