84 lines
4.2 KiB
Markdown
84 lines
4.2 KiB
Markdown
# 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
|
||
|
||
Install (or verify) OS packages on the **target** machine — Debian/Ubuntu or Alpine:
|
||
|
||
```bash
|
||
git clone ssh://git@git.georgelambert.org:2223/marchon/verae-bootstrap.git
|
||
cd verae-bootstrap
|
||
bash scripts/host-deps.sh --check --type ns1-all-in-one
|
||
bash scripts/host-deps.sh --type ns1-all-in-one
|
||
```
|
||
|
||
Manifest: `host-deps.tsv`. Narrative: [HOST-DEPS.md](https://git.georgelambert.org/marchon/verae-bootstrap). Catalog hostname move: [CATALOG-HOST.md](https://git.georgelambert.org/marchon/zapier-docs-master/src/branch/main/CATALOG-HOST.md).
|
||
|
||
| Service | Needs |
|
||
|---------|--------|
|
||
| zappier-edge | Node 20+, **better-sqlite3** (python3/make/g++ on Linux), SQLite path, `PORT`, optional Stripe keys |
|
||
| middleware | Node 22+, `NATS_URL` **or** `NATS_ENABLED=false`, chain URL or `MOCK_VERAE` |
|
||
| NATS | JetStream, **no public bind** (`host-deps.sh --nats` on archive / all-in-one) |
|
||
| worm / tree-node | Node, `NATS_URL`, local state dir |
|
||
| fleet | Node, `machines.json` (SSH **paths**), HTTP `:3850` on `0.0.0.0`, `openssh-client` |
|
||
| 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).
|