master-zapier-plan-draft/scripts/push-module-repos.sh
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

88 lines
4.5 KiB
Bash
Executable file

#!/usr/bin/env bash
# Create Forgejo repos and push each module (no node_modules).
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
TOKEN_FILE="${FORGEJO_TOKEN_FILE:-/tmp/forgejo-zapier.token}"
TOKEN="$(cat "$TOKEN_FILE")"
API="https://git.georgelambert.org/api/v1"
GITSSH="ssh://git@git.georgelambert.org:2223/marchon"
export GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=accept-new -p 2223"
create() {
local name="$1" desc="$2"
curl -sS -X POST "$API/user/repos" \
-H "Authorization: token $TOKEN" \
-H "Content-Type: application/json" \
-d "{\"name\":\"$name\",\"description\":\"$desc\",\"private\":false,\"auto_init\":false}" \
>/tmp/forgejo-mod.json || true
echo "repo $name"
}
push_dir() {
local src="$1" name="$2"
local tmp
tmp="$(mktemp -d)"
rsync -a --exclude node_modules --exclude dist --exclude data --exclude '*.db' --exclude .git \
"$src/" "$tmp/"
git -C "$tmp" init -q -b main
git -C "$tmp" add -A
git -C "$tmp" -c user.email=marchon@gmail.com -c user.name="George Lambert" \
commit -q -m "Initial import of $name from zapier monorepo"
git -C "$tmp" remote add origin "$GITSSH/${name}.git"
git -C "$tmp" push -u --force origin main
git -C "$tmp" push --force origin main:master || true
rm -rf "$tmp"
echo "pushed $name"
}
create zappier-edge "Metered commercial HTTPS edge (portal, admin, Stripe)"
create verae-middleware "Zapier-facing HTTP middleware + NATS workers"
create verae-zapier-app "Zapier Platform CLI app (timestamp/verify/hooks)"
create verae-activate "Activate-now Zapier app (Add Numbers, Echo, SHA256)"
create verae-request-splitter "Split hash vs attachments for chain vs WORM"
create verae-archive-worm "Bloom-filtered WORM archive node"
create verae-archive-aggregator "Aggregate archive replies into job JSON"
create zapier-docs-master "Master summaries, NATS contracts, message flows"
create verae-tree-node "Merkle leaf proofs for hashes only sealed as a bulk summary"
create verae-zapier-simulator "Zapier interface simulator with hop-by-hop trace console"
create zapier-user-docs "User docs from signup through hash register, chain lookup, tree-node query"
create verae-fleet "Service catalog, replica floors, monitor, restart, pause"
create overview "High-level system overview, NATS cluster, uptime, docs index"
create verae-nats-process "Template JetStream worker for a new verae.* address"
create verae-ops "Install, Docker, Proxmox, VMs, dedicated hardware, service linking"
create zappier-account-balance "NATS account balance source of truth"
create zappier-customer-service "Customer-service prepaid credit adjustments"
create zappier-sales-pricing "Sales per-customer pricing"
create zappier-accounting-export "QuickBooks IIF and accounting CSV export"
create verae-access-authz "NATS authorization step for access planes"
create verae-access-web "Direct customer web access plane"
create verae-access-api "Direct customer API access plane"
create verae-access-leaf "Server-to-server NATS leaf access plane"
create verae-access-zapier "Zapier Platform access plane only"
push_dir "$ROOT/packages/zappier" zappier-edge
push_dir "$ROOT/packages/verae-zapier-middleware" verae-middleware
push_dir "$ROOT/packages/verae-zapier" verae-zapier-app
push_dir "$ROOT/packages/verae-activate" verae-activate
push_dir "$ROOT/packages/verae-request-splitter" verae-request-splitter
push_dir "$ROOT/packages/verae-archive-worm" verae-archive-worm
push_dir "$ROOT/packages/verae-archive-aggregator" verae-archive-aggregator
push_dir "$ROOT/packages/docs-master" zapier-docs-master
push_dir "$ROOT/packages/verae-tree-node" verae-tree-node
push_dir "$ROOT/packages/verae-zapier-simulator" verae-zapier-simulator
push_dir "$ROOT/packages/zapier-user-docs" zapier-user-docs
push_dir "$ROOT/packages/verae-fleet" verae-fleet
push_dir "$ROOT/packages/overview" overview
push_dir "$ROOT/packages/verae-nats-process" verae-nats-process
push_dir "$ROOT/packages/verae-ops" verae-ops
push_dir "$ROOT/packages/zappier-account-balance" zappier-account-balance
push_dir "$ROOT/packages/zappier-customer-service" zappier-customer-service
push_dir "$ROOT/packages/zappier-sales-pricing" zappier-sales-pricing
push_dir "$ROOT/packages/zappier-accounting-export" zappier-accounting-export
push_dir "$ROOT/packages/verae-access-authz" verae-access-authz
push_dir "$ROOT/packages/verae-access-web" verae-access-web
push_dir "$ROOT/packages/verae-access-api" verae-access-api
push_dir "$ROOT/packages/verae-access-leaf" verae-access-leaf
push_dir "$ROOT/packages/verae-access-zapier" verae-access-zapier
echo ALL_MODULE_REPOS_PUSHED