master-zapier-plan-draft/packages/verae-ops/01-dependencies.md
George Lambert 03f557203a
Some checks are pending
offline / test (push) Waiting to run
Sync docs, add verae-bootstrap, and run the full stack on NS1.
Docs match current modules: public portal is access-web /portal/,
IAM and keep are listed, edge is loopback. Bootstrap clones every
Forgejo repo and installs deps per server type. Fleet starts IAM
and staff-session. NS1 all-in-one uses edge :13000 because :3000
is taken; archive workers stay with keep.
2026-09-11 19:52:54 -04:00

73 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 1. Dependencies and data flow
```text
Humans / Zapier cloud
│ HTTPS x-api-key
access-web :3021/portal access-zapier :3024 access-api :3022
│ │
▼ ▼
zappier-edge loopback :3000 (meter, admin, Stripe; not a public door)
│ HTTPS internal
middleware-http :3100 (/zapier/v1)
├── HTTPS → api.veraetime.net (or MOCK_VERAE)
└── NATS → private cluster
jobs.watch / jobs.events
webhooks.deliver
archive.put / query / reply.*
archive-worm × N tree-node × N
archive-aggregator job-poller
webhook-deliver
```
## Repositories (clone all that you run)
Prefix `ssh://git@git.georgelambert.org:2223/marchon/<name>.git` (SSH **2223**).
| You need | Repo | Catalog README |
|----------|------|----------------|
| Billing HTTPS | `zappier-edge` | https://zapier.georgelambert.org/packages/zappier/README.pdf |
| Zapier adapter | `verae-middleware` | https://zapier.georgelambert.org/packages/verae-zapier-middleware/README.pdf |
| Zapier app (cloud) | `verae-zapier-app` | https://zapier.georgelambert.org/packages/verae-zapier/README.pdf |
| WORM nodes | `verae-archive-worm` | https://zapier.georgelambert.org/packages/verae-archive-worm/README.pdf |
| Merkle leaves | `verae-tree-node` | https://zapier.georgelambert.org/packages/verae-tree-node/README.pdf |
| Archive merge | `verae-archive-aggregator` | https://zapier.georgelambert.org/packages/verae-archive-aggregator/README.pdf |
| Splitter | `verae-request-splitter` | https://zapier.georgelambert.org/packages/verae-request-splitter/README.pdf |
| Replica floors | `verae-fleet` | https://zapier.georgelambert.org/packages/verae-fleet/README.pdf |
| Keep-alive | `verae-keep` | https://zapier.georgelambert.org/packages/verae-keep/README.pdf |
| Clone + deps | `verae-bootstrap` | https://zapier.georgelambert.org/packages/verae-bootstrap/README.pdf |
| Staff IAM | `verae-staff-iam` | https://zapier.georgelambert.org/packages/verae-staff-iam/README.pdf |
| This install guide | `verae-ops` | https://zapier.georgelambert.org/packages/verae-ops/README.pdf |
Optional: `verae-activate` (tiny pushable app), `verae-zapier-simulator` (trace), `overview`, `zapier-docs-master`, `zapier-user-docs`, `verae-nats-process`.
## Runtime dependencies
| Service | Needs |
|---------|--------|
| zappier-edge | Node 20+, SQLite path or volume, `PORT`, optional Stripe keys |
| middleware | Node 22+, `NATS_URL` **or** `NATS_ENABLED=false`, chain URL or `MOCK_VERAE` |
| NATS | JetStream, **no public bind** |
| worm / tree-node | Node, `NATS_URL`, local state dir |
| fleet | Node, `machines.json` (SSH **paths**), HTTP `:3850` on `0.0.0.0` |
| Zapier cloud app | `MIDDLEWARE_BASE_URL` = **public HTTPS of zappier-edge** (or middleware if you skip metering in lab) |
## Ports (lab defaults)
| Port | Bind | Process |
|------|------|---------|
| 3000 | **loopback** (lab) | zappier-edge (admin); public portal is `:3021` |
| 3021 | public | access-web `/portal/` |
| 3028 | private/LAN | staff IAM |
| 3100 | public or docker publish | middleware |
| 3860 | loopback | verae-keep |
| 4222 | **private only** | NATS client |
| 6222 | **private only** | NATS cluster |
| 8222 | private / localhost | NATS monitor |
| 3847 | 0.0.0.0 | simulator |
| 3850 | 0.0.0.0 | operator console |
Chain: `https://api.veraetime.net` (prod) or `MOCK_VERAE=true` (lab).