master-zapier-plan-draft/packages/verae-fleet
George Lambert 1b199ca4d4
Some checks are pending
offline / test (push) Waiting to run
Separate Zapier, web, API, and leaf access planes with NATS authz
Zapier is one ingress. Direct web, customer API, and S2S leaf nodes are their own services. Every hop to an internal subject must pass verae.access.authz.check (default deny by plane).
2026-09-11 16:05:05 -04:00
..
docs Default the public catalog to colored PDFs 2026-09-11 14:23:19 -04:00
public Default the public catalog to colored PDFs 2026-09-11 14:23:19 -04:00
services Separate Zapier, web, API, and leaf access planes with NATS authz 2026-09-11 16:05:05 -04:00
src Wire zappier-edge into the live stack and add billing department APIs 2026-09-11 15:15:55 -04:00
test Separate Zapier, web, API, and leaf access planes with NATS authz 2026-09-11 16:05:05 -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 Separate Zapier, web, API, and leaf access planes with NATS authz 2026-09-11 16:05:05 -04:00
machines.json Control remote fleet workers over SSH with user, host, and key path 2026-09-11 13:31:21 -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 Document every repo in Sphinx, catalog PDFs, and verae-ops 2026-09-11 14:36:17 -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://127.0.0.1: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).

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