2.2 KiB
2.2 KiB
6. Linking dependent services
Every process learns peers from environment variables and fleet service JSON. There is no service mesh.
Environment map
| Process | Variable | Points at |
|---|---|---|
| Zapier cloud app | MIDDLEWARE_BASE_URL |
Public zappier-edge HTTPS (prod) or middleware (lab) |
| zappier-edge | ZAPPIER_UPSTREAM or internal proxy target |
middleware :3100 |
| middleware | NATS_URL |
nats://nats1:4222,nats://nats2:4222,nats://nats3:4222 |
| middleware | VERAE_API_BASE_URL |
https://api.veraetime.net |
| middleware | MOCK_VERAE |
true only in lab |
| worm / tree-node / aggregator / poller | NATS_URL |
same cluster |
| fleet | NATS_URL (monitor only) |
same; publicBind=false |
| fleet SSH | identityFile |
path on the operator disk |
HTTPS hops (must work)
curl -H "x-api-key: $KEY" https://zappier.example.com/v1/status
# edge meters, then
curl http://127.0.0.1:3100/health
If Zapier gets 401/402, fix keys and the rate card on zappier-edge — not NATS.
NATS hops (must stay private)
| Address | From | To |
|---|---|---|
verae.zapier.jobs.watch |
middleware | job-poller (queue) |
verae.zapier.jobs.events |
poller | middleware wait |
verae.zapier.webhooks.deliver |
middleware | webhook-deliver |
verae.archive.put |
splitter | worm / tree-node |
verae.archive.query |
aggregator | all worm/tree (broadcast) |
verae.archive.reply.<id> |
worm/tree on hit only | aggregator |
Bloom miss = silence. Do not “fix” that with a negative reply.
Fleet floors
https://zapier.georgelambert.org/docs/02-architecture/fleet.pdf
| Service | min (keepFloor) |
|---|---|
| archive-worm | 3 |
| tree-node | 3 |
| middleware-http | 1 |
| zappier-edge | 1 |
| aggregator / poller / webhook | 1 |
Link a new host: operator console → Add machine → ssh-check → reconcile.
Adding an unplanned function
Copy verae-nats-process, pick verae.<area>.<resource>.*, add a fleet service, and if Zapier must see the result, add one HTTPS route on middleware. Do not teach Zapier NATS. https://zapier.georgelambert.org/overview/06-address-routing.pdf