verae-ops/01-dependencies.md
Scott "R00tPiG Security" Lindsey (r00tpig) ee0ff38e84 docs: zappier-edge is now verae-edge-billing
The billing edge repo and ns1 service were renamed on 2026-10-06
(marchon/verae-edge-billing, verae-edge-billing.service, /opt/verae/verae-edge-billing).
Old Forgejo URLs redirect; the old unit name and path remain as aliases/symlinks.
2026-10-06 14:00:06 -04:00

84 lines
4.2 KiB
Markdown
Raw Permalink 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
│ │
▼ ▼
verae-edge-billing 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 | `verae-edge-billing` | 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 |
|---------|--------|
| verae-edge-billing | 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 verae-edge-billing** (or middleware if you skip metering in lab) |
## Ports (lab defaults)
| Port | Bind | Process |
|------|------|---------|
| 3000 | **loopback** (lab) | verae-edge-billing (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).