Initial import of verae-fleet from zapier monorepo

This commit is contained in:
George Lambert 2026-09-11 13:37:59 -04:00
commit 0a7edcf999
36 changed files with 2400 additions and 0 deletions

View file

@ -0,0 +1,16 @@
{
"id": "archive-aggregator",
"title": "Archive reply aggregator",
"kind": "nats-worker",
"package": "verae-archive-aggregator",
"role": "archive-aggregator",
"managed": true,
"runtime": "query fan-out + merge",
"health": { "type": "http", "path": "/health", "timeoutMs": 800 },
"ports": { "healthBase": 13400 },
"nats": {
"in": ["verae.archive.reply.*"],
"out": ["verae.archive.query"]
},
"notes": "Broadcast archive.query (no queue group). kinds may include tree."
}

View file

@ -0,0 +1,16 @@
{
"id": "archive-worm",
"title": "Bloom-filtered WORM archive",
"kind": "nats-archive",
"package": "verae-archive-worm",
"role": "archive-worm",
"managed": true,
"runtime": "N copies, bloom miss = silence",
"health": { "type": "http", "path": "/health", "timeoutMs": 800 },
"ports": { "healthBase": 13500 },
"nats": {
"in": ["verae.archive.put", "verae.archive.query"],
"out": ["verae.archive.reply.<correlationId>"]
},
"notes": "Subscribe to query without a shared queue group."
}

16
services/job-poller.json Normal file
View file

@ -0,0 +1,16 @@
{
"id": "job-poller",
"title": "Job poller worker",
"kind": "nats-worker",
"package": "verae-zapier-middleware",
"role": "job-poller",
"managed": true,
"runtime": "JetStream consumer",
"health": { "type": "http", "path": "/health", "timeoutMs": 800 },
"ports": { "healthBase": 13200 },
"nats": {
"in": ["verae.zapier.jobs.watch"],
"out": ["verae.zapier.jobs.events"]
},
"notes": "GET chain status; emit terminal events. Queue group job-poller."
}

View file

@ -0,0 +1,17 @@
{
"id": "middleware-http",
"title": "Verae Zapier HTTP middleware",
"kind": "http",
"package": "verae-zapier-middleware",
"role": "middleware-http",
"managed": true,
"runtime": "HTTPS :3100 /zapier/v1",
"health": { "type": "http", "path": "/health", "timeoutMs": 800 },
"ports": { "healthBase": 13100 },
"env": { "PORT": "3100", "NATS_URL": "nats://127.0.0.1:4222" },
"nats": {
"in": ["verae.zapier.jobs.events"],
"out": ["verae.zapier.jobs.watch", "verae.zapier.webhooks.deliver"]
},
"notes": "Wait path subscribes jobs.events. Never expose NATS to Zapier."
}

11
services/nats.json Normal file
View file

@ -0,0 +1,11 @@
{
"id": "nats",
"title": "NATS JetStream (NS1 loopback)",
"kind": "external",
"package": null,
"managed": false,
"runtime": "nats-server -js on 127.0.0.1:4222",
"health": { "type": "tcp", "host": "127.0.0.1", "port": 4222, "timeoutMs": 400 },
"nats": { "in": [], "out": [] },
"notes": "Do not bind 0.0.0.0. Zapier never connects here. Fleet monitors only; does not spawn nats-server."
}

16
services/tree-node.json Normal file
View file

@ -0,0 +1,16 @@
{
"id": "tree-node",
"title": "Merkle tree-node archive",
"kind": "nats-archive",
"package": "verae-tree-node",
"role": "tree-node",
"managed": true,
"runtime": "N copies holding leaf proofs for bulk summaries",
"health": { "type": "http", "path": "/health", "timeoutMs": 800 },
"ports": { "healthBase": 13600 },
"nats": {
"in": ["verae.archive.put", "verae.archive.query"],
"out": ["verae.archive.reply.<correlationId>"]
},
"notes": "keepFloor in fleet.json must stay >= 3 so a leaf query still has a node that might hold the shard. Bloom miss = no packet."
}

37
services/unmanaged.json Normal file
View file

@ -0,0 +1,37 @@
{
"id": "_unmanaged",
"title": "Not fleet-spawned (listed for operators)",
"entries": [
{
"id": "zapier-platform-app",
"package": "verae-zapier",
"runtime": "Zapier cloud",
"notes": "HTTPS only to zappier-edge. Never NATS."
},
{
"id": "verae-activate",
"package": "verae-activate",
"runtime": "Zapier cloud (activate-now app)"
},
{
"id": "request-splitter",
"package": "verae-request-splitter",
"runtime": "library in middleware"
},
{
"id": "verae-chain-client",
"package": "verae-zapier-middleware",
"runtime": "library → api.veraetime.net or MOCK"
},
{
"id": "zapier-user-docs",
"package": "zapier-user-docs",
"runtime": "static"
},
{
"id": "docs-master",
"package": "docs-master",
"runtime": "static"
}
]
}

View file

@ -0,0 +1,16 @@
{
"id": "webhook-deliver",
"title": "Zapier REST Hook deliverer",
"kind": "nats-worker",
"package": "verae-zapier-middleware",
"role": "webhook-deliver",
"managed": true,
"runtime": "JetStream consumer + HTTPS POST",
"health": { "type": "http", "path": "/health", "timeoutMs": 800 },
"ports": { "healthBase": 13300 },
"nats": {
"in": ["verae.zapier.webhooks.deliver", "verae.zapier.jobs.events"],
"out": []
},
"notes": "HTTPS POST to Zapier hook URL. Not a NATS client in Zapier cloud."
}

View file

@ -0,0 +1,14 @@
{
"id": "zapier-simulator",
"title": "Zapier interface simulator + trace console",
"kind": "http",
"package": "verae-zapier-simulator",
"role": "zapier-simulator",
"managed": true,
"runtime": "HTTP 127.0.0.1:3847",
"health": { "type": "http", "path": "/health", "timeoutMs": 800 },
"ports": { "healthBase": 13847 },
"env": { "SIM_PORT": "3847" },
"nats": { "in": [], "out": [] },
"notes": "Optional. min 0 in central fleet.json. Does not talk to live NATS."
}

View file

@ -0,0 +1,14 @@
{
"id": "zappier-edge",
"title": "Zappier commercial HTTPS edge",
"kind": "http",
"package": "zappier",
"role": "zappier-edge",
"managed": true,
"runtime": "HTTPS :3000 (portal, admin, meter)",
"health": { "type": "http", "path": "/health", "timeoutMs": 800 },
"ports": { "healthBase": 13000 },
"env": { "PORT": "3000" },
"nats": { "in": [], "out": [] },
"notes": "Zapier x-api-key lands here. HTTPS to middleware only."
}