# Service list Central replica spec: [`fleet.json`](fleet.json). Per-service files: [`services/`](services/). | Service | Config | min | max | keepFloor | Spawned by fleet | |---------|--------|-----|-----|-----------|------------------| | nats | `services/nats.json` | 1 | 1 | no | no (external monitor) | | zappier-edge | `services/zappier-edge.json` | 1 | 1 | yes | yes | | middleware-http | `services/middleware-http.json` | 1 | 1 | yes | yes | | job-poller | `services/job-poller.json` | 1 | 2 | yes | yes | | webhook-deliver | `services/webhook-deliver.json` | 1 | 2 | yes | yes | | archive-aggregator | `services/archive-aggregator.json` | 1 | 2 | yes | yes | | archive-worm | `services/archive-worm.json` | 3 | 6 | yes | yes | | **tree-node** | `services/tree-node.json` | **3** | 9 | **yes** | yes | | zapier-simulator | `services/zapier-simulator.json` | 0 | 1 | no | optional | | zapier-platform-app | `services/unmanaged.json` | — | — | — | no (Zapier cloud) | | verae-activate | `services/unmanaged.json` | — | — | — | no | | request-splitter | `services/unmanaged.json` | — | — | — | no (library) | | verae-chain-client | `services/unmanaged.json` | — | — | — | no (library) | `keepFloor`: monitor starts replacements when **available** (running, healthy, not paused) drops below `min`. That is how tree nodes stay at three live copies if one is paused, crashed, or not responding. Hosts: [`machines.json`](machines.json). Add machines in the monitor UI or POST `/api/machines`. Placement is least-loaded eligible host. Remote: `node src/agent.js`.