master-zapier-plan-draft/packages/overview/02-modules-and-repos.md
George Lambert 7a5e25639e
Some checks are pending
offline / test (push) Waiting to run
Add Proxmox worker CT, off-box watch, backup, and tagged deploy.
NS1 is the Proxmox host. verae-proxmox creates LXC 510 (verae-px-worker
10.10.10.20 on vmbr1) with a private NATS proxy on 10.10.10.1:4222.
verae-uptime GET-watches public doors; verae-backup snapshots SQLite and
worm/tree data; verae-deploy does host-deps + checkout + npm ci.
Fleet overlays/ns1 are checked in (start.sh no longer rewrites JSON).
User systemd + linger for keep and fleet survive reboot.
2026-09-11 23:35:44 -04:00

50 lines
4.4 KiB
Markdown

# 2. Modules and independent repositories
Each runtime piece is its **own git repo** on Forgejo (`git.georgelambert.org`, SSH port 2223). The monorepo `master-zapier-plan-draft` is a snapshot of the workspace; do not treat it as the only clone path.
| Independent repo | Package / path | What it does |
|------------------|----------------|--------------|
| **overview** | `packages/overview` | This high-level map |
| **verae-nats-process** | `packages/verae-nats-process` | **Template** for a new addressed NATS process |
| **master-zapier-plan-draft** | workspace root | Combined snapshot (`main` and `master`) |
| **zappier-edge** | `packages/zappier` | Metered HTTPS, portal, admin, Stripe; **proxies Verae calls to middleware** |
| **verae-access-authz** | `packages/verae-access-authz` | NATS authorization step (`authz.check`) |
| **verae-access-web** | `packages/verae-access-web` | Direct customer web plane |
| **verae-access-api** | `packages/verae-access-api` | Direct customer API plane (not Zapier) |
| **verae-access-leaf** | `packages/verae-access-leaf` | Server-to-server NATS leaf plane |
| **verae-access-zapier** | `packages/verae-access-zapier` | Zapier Platform plane only |
| **verae-access-staff** | `packages/verae-access-staff` | Staff CS/sales/accounting plane |
| **zappier-identity** | `packages/zappier-identity` | Bind/lookup `veraeUserId` |
| **verae-jobs-events** | `packages/verae-jobs-events` | Mailbox `verae.zapier.jobs.events` |
| **verae-nats-accounts** | `packages/verae-nats-accounts` | INTERNAL vs LEAF subject policy |
| **zapier-decisions** | `packages/zapier-decisions` | Decision log |
| **zappier-account-balance** | `packages/zappier-account-balance` | NATS source of truth for prepaid balances |
| **zappier-customer-service** | `packages/zappier-customer-service` | CS goodwill credits onto prepaid balances |
| **zappier-sales-pricing** | `packages/zappier-sales-pricing` | Sales per-customer tier / multiplier |
| **zappier-accounting-export** | `packages/zappier-accounting-export` | QuickBooks IIF + accounting CSV |
| **verae-middleware** | `packages/verae-zapier-middleware` | `/zapier/v1`, job wait, NATS publishers/workers |
| **verae-zapier-app** | `packages/verae-zapier` | Full Zapier nouns (timestamp, wait, batch, hash + tree lookup) |
| **verae-activate** | `packages/verae-activate` | Activate-now (Add Numbers, Echo, SHA256, mock timestamp) |
| **verae-request-splitter** | `packages/verae-request-splitter` | Chain hash vs `archive.put` |
| **verae-archive-worm** | `packages/verae-archive-worm` | Bloom WORM node |
| **verae-archive-aggregator** | `packages/verae-archive-aggregator` | Merge archive replies |
| **verae-tree-node** | `packages/verae-tree-node` | Merkle leaf proofs (bulk summaries) |
| **verae-fleet** | `packages/verae-fleet` | Catalog, min copies, pause/restart, SSH hosts, operator console |
| **verae-zapier-simulator** | `packages/verae-zapier-simulator` | Trace console before `zapier-platform push` |
| **zapier-user-docs** | `packages/zapier-user-docs` | Customer signup → register → lookup |
| **UI-Docs** | `packages/ui-docs` | Operator/staff/portal walkthrough, screenshots, review PDF |
| **verae-staff-session** | `packages/verae-staff-session` | Shared staff cookie login for department HTML |
| **verae-staff-ui** | `packages/verae-staff-ui` | Shared staff review HTML (CS + access-staff) |
| **verae-staff-iam** | `packages/verae-staff-iam` | Internal staff users, roles, permissions, audit |
| **verae-keep** | `packages/verae-keep` | Host keep-alive + watch + guard (honors admin pause/stop) |
| **verae-bootstrap** | `packages/verae-bootstrap` | Clone every repo; `host-deps.sh` installs OS/Node/NATS per module |
| **zapier-docs-master** | `packages/docs-master` | Per-module `SUMMARY.md` + `NATS.md` |
| **verae-ops** | `packages/verae-ops` | Docker, Proxmox, VMs, dedicated hardware, linking services |
| **verae-uptime** | `packages/verae-uptime` | Off-box HTTPS watch of public doors |
| **verae-backup** | `packages/verae-backup` | SQLite / JetStream / worm+tree snapshots |
| **verae-deploy** | `packages/verae-deploy` | Tagged checkout + npm ci on the target OS |
| **verae-proxmox** | `packages/verae-proxmox` | LXC 510 worker on NS1 `vmbr1` |
Libraries that are **not** separate Forgejo apps today: `verae-chain-client` (inside middleware), job-poller and webhook-deliver (middleware workers, fleet-spawned).
Per-module NATS contracts: [zapier-docs-master](https://git.georgelambert.org/marchon/zapier-docs-master).