Add fleet control: service configs, replica floors, monitor, pause/restart
Some checks are pending
offline / test (push) Waiting to run
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:
parent
f3dc0e6eee
commit
dd99ce1c64
33 changed files with 1368 additions and 0 deletions
21
docs/02-architecture/fleet.md
Normal file
21
docs/02-architecture/fleet.md
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# Fleet: replica floors, monitor, pause, restart
|
||||
|
||||
Runtime copies of middleware workers, WORM archives, and **tree nodes** are declared in `packages/verae-fleet/fleet.json` (how many) and `packages/verae-fleet/services/*.json` (how each one runs).
|
||||
|
||||
```text
|
||||
operator --HTTP 127.0.0.1:3850--> fleet control
|
||||
| spawn workers with /health
|
||||
tree-node min=3 keepFloor |
|
||||
archive-worm min=3 |
|
||||
paused ≠ available |
|
||||
unhealthy → restart v
|
||||
replicas on loopback health ports
|
||||
```
|
||||
|
||||
- **list** — `node src/cli.js list`
|
||||
- **monitor** — `serve` probes `/health` and reconciles
|
||||
- **restart** — crash or 503 → same instance id respawned
|
||||
- **pause / off** — pause does not count toward `min`; keepFloor starts another tree-node. `stop` on a service disables it.
|
||||
- **tree-node floor** — `fleet.json` `tree-node.min` (default 3). Do not drop this without changing the spec; bulk-summary leaf queries need several bloom-filtered nodes.
|
||||
|
||||
Zapier cloud is not spawned. NATS is monitored, not bound publicly.
|
||||
|
|
@ -34,6 +34,7 @@ Zapier cloud **never** connects to NATS. Only middleware workers and archives do
|
|||
| archive-worm | `verae-archive-worm` | N copies | `verae.archive.query`, `verae.archive.put` | `verae.archive.reply.<id>` if bloom hits |
|
||||
| tree-node | `verae-tree-node` | N copies (WORM role) | `verae.archive.query`, `verae.archive.put` kind `tree` | `verae.archive.reply.<id>` if bloom hits |
|
||||
| zapier-simulator | `verae-zapier-simulator` | Local HTTP :3847 | operator browser | in-process replay of all addresses |
|
||||
| fleet | `verae-fleet` | Local HTTP :3850 | operator | spawns workers; keepFloor on tree-node |
|
||||
| zapier-user-docs | `zapier-user-docs` | Static | — | catalog `/user-docs/` |
|
||||
| verae-chain-client | `verae-chain-client` | Library | — | HTTPS `api.veraetime.net` or MOCK |
|
||||
| docs-master | `zapier-docs-master` | Static | — | published on zapier.georgelambert.org |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue