master-zapier-plan-draft/packages/verae-ops/GETTING-STARTED.md
George Lambert 1b199ca4d4
Some checks are pending
offline / test (push) Waiting to run
Separate Zapier, web, API, and leaf access planes with NATS authz
Zapier is one ingress. Direct web, customer API, and S2S leaf nodes are their own services. Every hop to an internal subject must pass verae.access.authz.check (default deny by plane).
2026-09-11 16:05:05 -04:00

4.3 KiB
Raw Blame History

Bring Verae Time × Zapier online

This is the top document for install, first-up, and monitoring. Platform-specific detail lives in the numbered ops chapters; do not start there.

Catalog: https://zapier.georgelambert.org/packages/verae-ops/GETTING-STARTED.pdf
Billing / users (zappier-edge): https://zapier.georgelambert.org/packages/zappier/docs/USER-MANUAL.pdf
Operator console: http://127.0.0.1:3850/ (loopback) · https://zapier.georgelambert.org/packages/verae-fleet/docs/CONSOLE.pdf

What you are turning on

Piece Job Default
access-authz NATS authorization step for every access plane :3020
access-web / api / leaf / zapier Separated ingress (browser, x-api-key, S2S, Zapier) :3021:3024
zappier-edge Billing, API keys, customer portal, admin, Stripe; meters then proxies to middleware :3000 public HTTPS
account-balance NATS prepaid balances (SoT) :3010
customer-service CS credit additions + review :3011
sales-pricing Per-customer sales quotes :3012
accounting-export QuickBooks IIF / CSV :3013
verae-middleware Zapier /zapier/v1, chain, NATS :3100
NATS JetStream Private jobs / archive :4222 not public
worm ×3, tree-node ×3 Off-chain files and Merkle leaves fleet floor
fleet Replica floors, SSH hosts, Trace, Docs :3850 loopback

Zapier cloud talks only to zappier-edge over HTTPS.

The billing and user platform is the standalone zappier project (/Users/marchon/zappier, Forgejo zappier-edge): portal signup, TOTP, API keys, rate card, Stripe meter, PO invoices, admin users. Verae middleware does not replace it.

15-minute lab (one machine)

git clone ssh://git@git.georgelambert.org:2223/marchon/master-zapier-plan-draft.git
cd master-zapier-plan-draft
export MONOREPO="$PWD"
cd packages/verae-ops
docker compose up --build

Check:

curl -fsS http://127.0.0.1:3000/health    # zappier-edge (billing + users)
curl -fsS http://127.0.0.1:3010/health    # account-balance (NATS SoT)
curl -fsS http://127.0.0.1:3011/health    # customer-service
curl -fsS http://127.0.0.1:3012/health    # sales-pricing
curl -fsS http://127.0.0.1:3100/health    # middleware

Open:

Do not publish NATS 4222.

Operator console (monitor)

On the same machine (or SSH tunnel ssh -L 3850:127.0.0.1:3850 user@host):

cd "$MONOREPO/packages/verae-fleet"
node src/cli.js serve

http://127.0.0.1:3850/ — Fleet (green/yellow/red), Trace, Docs. Tree-node min 3; pause does not count.

node src/cli.js status
node src/cli.js ssh-check ns1

Point Zapier at the lab

  1. TLS in front of :3000 (Caddy).
  2. Zapier app env: MIDDLEWARE_BASE_URL=https://<zappier-host> (edge meters, then proxies to middleware).
  3. Connect with the portal API key.

Production (pick one)

Where Read
Docker 02-docker.pdf
Proxmox 03-proxmox.pdf
Cloud VMs 04-virtual-servers.pdf
Dedicated / NS1 05-dedicated-hardware.pdf
Env vars & NATS 06-linking-services.pdf
Backup / upgrade 07-maintenance.pdf

Daily monitor

Check Expect
curl -fsS https://zappier.example.com/health 200
curl -fsS https://middleware.example.com/health 200
NATS http://127.0.0.1:8222/healthz on each node ok (localhost only)
Fleet tree-node available ≥ 3 green
Portal login + key still works 200 /v1/status with x-api-key

If something is red

  1. Fleet row color: yellow = paused/degraded, red = below floor — restart that replica.
  2. 401/402 from Zapier → zappier-edge keys and rate card, not NATS.
  3. Archive lookup empty → bloom miss is silence; check worm/tree floors, not “error replies”.