master-zapier-plan-draft/packages/overview/06-address-routing.md
George Lambert a32c91475c
Some checks are pending
offline / test (push) Waiting to run
Add overview repo and verae-nats-process expansion template
High-level system map with diagrams, TOC, and a docs index. Template
worker shows how to add a new verae.* address for search, storage, or
unplanned functions without teaching Zapier NATS.
2026-09-11 13:50:37 -04:00

1.4 KiB
Raw Blame History

6. Address routing (including unplanned functions)

NATS addresses (subjects) are the extension point. A new search, store, or job type is a new address plus a process that listens — not a new Zapier TCP client.

Pattern

verae.<area>.<resource>.<action>
verae.<area>.<resource>.reply.<correlationId>
Piece Example Meaning
verae Verae bus (not Zapier)
area zapier, archive, search, store Product slice
resource jobs, hashes, blobs Noun
action watch, query, put, in Verb
reply.<id> Correlated response

Queue group (work sharing): area-resource-action (e.g. job-poller).
No queue group (fan-out): archive/tree query so every node sees every lookup.

Adding something that does not exist yet

  1. Copy the independent repo verae-nats-process (packages/verae-nats-process).
  2. Rename verae.example.process.in / .out / .reply.* in src/subjects.js.
  3. Add a row to that repos ROUTING.md and to INDEX.md.
  4. Register the process in verae-fleet (min/max, machines, roles).
  5. If Zapier must call it, add one HTTPS route on middleware — Zapier still never sees NATS.

Do not invent a public NATS URL for Zapier. Do not reuse verae.archive.query as a queue group.

Address expansion