verae-fleet/README.md

42 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
```
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.
```bash
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).
The UI shows message-processing **min / avg / p50 / p90** RTT per service, instance, and machine.
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`