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

118 lines
6.3 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"
create verae-access-staff "Staff CS/sales/accounting access plane"
create zappier-identity "Bind and lookup veraeUserId"
create verae-jobs-events "Mailbox for verae.zapier.jobs.events"
create verae-nats-accounts "NATS INTERNAL vs LEAF account policy"
create zapier-decisions "Architecture decisions and action log"
create UI-Docs "UI walkthrough, screenshots, and review PDF"
create verae-staff-session "Shared staff cookie login for department HTML"
create verae-staff-ui "Shared staff review HTML template"
create verae-staff-iam "Internal staff users, roles, and permissions"
create verae-keep "Host keep-alive: restart units unless admin paused or stopped them"
create verae-bootstrap "Clone all module repos and install deps for each server type"
create verae-uptime "Off-box HTTPS health watch for public doors"
create verae-backup "Backup/restore SQLite, JetStream, worm/tree, keep, IAM"
create verae-deploy "Tagged checkout + npm ci on the target OS"
create verae-proxmox "Provision archive-worker LXC on NS1 Proxmox"
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
push_dir "$ROOT/packages/verae-access-staff" verae-access-staff
push_dir "$ROOT/packages/zappier-identity" zappier-identity
push_dir "$ROOT/packages/verae-jobs-events" verae-jobs-events
push_dir "$ROOT/packages/verae-nats-accounts" verae-nats-accounts
push_dir "$ROOT/packages/zapier-decisions" zapier-decisions
push_dir "$ROOT/packages/ui-docs" UI-Docs
push_dir "$ROOT/packages/verae-staff-session" verae-staff-session
push_dir "$ROOT/packages/verae-staff-ui" verae-staff-ui
push_dir "$ROOT/packages/verae-staff-iam" verae-staff-iam
push_dir "$ROOT/packages/verae-keep" verae-keep
push_dir "$ROOT/packages/verae-bootstrap" verae-bootstrap
push_dir "$ROOT/packages/verae-uptime" verae-uptime
push_dir "$ROOT/packages/verae-backup" verae-backup
push_dir "$ROOT/packages/verae-deploy" verae-deploy
push_dir "$ROOT/packages/verae-proxmox" verae-proxmox
echo ALL_MODULE_REPOS_PUSHED