docs: zappier-edge is now verae-edge-billing
The billing edge repo and ns1 service were renamed on 2026-10-06 (marchon/verae-edge-billing, verae-edge-billing.service, /opt/verae/verae-edge-billing). Old Forgejo URLs redirect; the old unit name and path remain as aliases/symlinks.
This commit is contained in:
parent
280ad2f9f1
commit
1b3625ddb3
9 changed files with 10 additions and 10 deletions
|
|
@ -6,7 +6,7 @@ Per-service files: [`services/`](services/).
|
||||||
| Service | Config | min | max | keepFloor | Spawned by fleet |
|
| Service | Config | min | max | keepFloor | Spawned by fleet |
|
||||||
|---------|--------|-----|-----|-----------|------------------|
|
|---------|--------|-----|-----|-----------|------------------|
|
||||||
| nats | `services/nats.json` | 1 | 1 | no | no (external monitor) |
|
| nats | `services/nats.json` | 1 | 1 | no | no (external monitor) |
|
||||||
| zappier-edge | `services/zappier-edge.json` | 1 | 1 | yes | yes |
|
| verae-edge-billing | `services/verae-edge-billing.json` | 1 | 1 | yes | yes |
|
||||||
| middleware-http | `services/middleware-http.json` | 1 | 1 | yes | yes |
|
| middleware-http | `services/middleware-http.json` | 1 | 1 | yes | yes |
|
||||||
| job-poller | `services/job-poller.json` | 1 | 2 | yes | yes |
|
| job-poller | `services/job-poller.json` | 1 | 2 | yes | yes |
|
||||||
| webhook-deliver | `services/webhook-deliver.json` | 1 | 2 | yes | yes |
|
| webhook-deliver | `services/webhook-deliver.json` | 1 | 2 | yes | yes |
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
},
|
},
|
||||||
"services": {
|
"services": {
|
||||||
"nats": { "min": 1, "max": 1, "keepFloor": false, "enabled": true, "managed": false },
|
"nats": { "min": 1, "max": 1, "keepFloor": false, "enabled": true, "managed": false },
|
||||||
"zappier-edge": { "min": 1, "max": 1, "keepFloor": true, "enabled": true },
|
"verae-edge-billing": { "min": 1, "max": 1, "keepFloor": true, "enabled": true },
|
||||||
"access-authz": { "min": 1, "max": 1, "keepFloor": true, "enabled": true },
|
"access-authz": { "min": 1, "max": 1, "keepFloor": true, "enabled": true },
|
||||||
"access-web": { "min": 1, "max": 1, "keepFloor": true, "enabled": true },
|
"access-web": { "min": 1, "max": 1, "keepFloor": true, "enabled": true },
|
||||||
"access-api": { "min": 1, "max": 1, "keepFloor": true, "enabled": true },
|
"access-api": { "min": 1, "max": 1, "keepFloor": true, "enabled": true },
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
},
|
},
|
||||||
"services": {
|
"services": {
|
||||||
"nats": { "min": 1, "max": 1, "keepFloor": false, "enabled": true, "managed": false },
|
"nats": { "min": 1, "max": 1, "keepFloor": false, "enabled": true, "managed": false },
|
||||||
"zappier-edge": { "min": 1, "max": 1, "keepFloor": true, "enabled": true },
|
"verae-edge-billing": { "min": 1, "max": 1, "keepFloor": true, "enabled": true },
|
||||||
"access-authz": { "min": 1, "max": 1, "keepFloor": true, "enabled": true },
|
"access-authz": { "min": 1, "max": 1, "keepFloor": true, "enabled": true },
|
||||||
"access-web": { "min": 1, "max": 1, "keepFloor": true, "enabled": true },
|
"access-web": { "min": 1, "max": 1, "keepFloor": true, "enabled": true },
|
||||||
"access-api": { "min": 1, "max": 1, "keepFloor": true, "enabled": true },
|
"access-api": { "min": 1, "max": 1, "keepFloor": true, "enabled": true },
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
"package": "zappier-accounting-export",
|
"package": "zappier-accounting-export",
|
||||||
"role": "accounting-export",
|
"role": "accounting-export",
|
||||||
"managed": true,
|
"managed": true,
|
||||||
"runtime": "HTTP :3013 IIF/CSV → zappier-edge invoices",
|
"runtime": "HTTP :3013 IIF/CSV → verae-edge-billing invoices",
|
||||||
"health": { "type": "http", "path": "/health", "timeoutMs": 2000 },
|
"health": { "type": "http", "path": "/health", "timeoutMs": 2000 },
|
||||||
"ports": { "healthBase": 3013 },
|
"ports": { "healthBase": 3013 },
|
||||||
"spawn": {
|
"spawn": {
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
"id": "zapier-platform-app",
|
"id": "zapier-platform-app",
|
||||||
"package": "verae-zapier",
|
"package": "verae-zapier",
|
||||||
"runtime": "Zapier cloud",
|
"runtime": "Zapier cloud",
|
||||||
"notes": "HTTPS only to zappier-edge. Never NATS."
|
"notes": "HTTPS only to verae-edge-billing. Never NATS."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "verae-activate",
|
"id": "verae-activate",
|
||||||
|
|
|
||||||
41
services/verae-edge-billing.json
Normal file
41
services/verae-edge-billing.json
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
{
|
||||||
|
"id": "verae-edge-billing",
|
||||||
|
"title": "Zappier commercial HTTPS edge",
|
||||||
|
"kind": "http",
|
||||||
|
"package": "zappier",
|
||||||
|
"role": "verae-edge-billing",
|
||||||
|
"managed": true,
|
||||||
|
"runtime": "loopback :3000 (portal, admin, Stripe; public doors are access-*)",
|
||||||
|
"health": { "type": "http", "path": "/health", "timeoutMs": 4000 },
|
||||||
|
"ports": { "healthBase": 3000 },
|
||||||
|
"spawn": {
|
||||||
|
"cwd": "../zappier",
|
||||||
|
"command": "npx",
|
||||||
|
"args": ["ts-node", "--transpile-only", "src/index.ts"]
|
||||||
|
},
|
||||||
|
"env": {
|
||||||
|
"PORT": "3000",
|
||||||
|
"STAFF_IAM_URL": "http://127.0.0.1:3028",
|
||||||
|
"STAFF_AUTH": "1",
|
||||||
|
"BIND": "127.0.0.1",
|
||||||
|
"ZAPPIER_UPSTREAM": "http://127.0.0.1:3100",
|
||||||
|
"CS_SERVICE_URL": "http://127.0.0.1:3011",
|
||||||
|
"SALES_PRICING_URL": "http://127.0.0.1:3012",
|
||||||
|
"ACCOUNTING_EXPORT_URL": "http://127.0.0.1:3013",
|
||||||
|
"NATS_URL": "nats://10.10.10.21:4222,nats://10.10.10.22:4222,nats://10.10.10.23:4222",
|
||||||
|
"AUTHZ_URL": "http://127.0.0.1:3020",
|
||||||
|
"ACCOUNT_BALANCE_URL": "http://127.0.0.1:3010",
|
||||||
|
"IDENTITY_URL": "http://127.0.0.1:3026"
|
||||||
|
},
|
||||||
|
"nats": {
|
||||||
|
"in": [],
|
||||||
|
"out": [
|
||||||
|
"verae.billing.usage.recorded",
|
||||||
|
"verae.billing.payment.recorded",
|
||||||
|
"verae.billing.credit.applied",
|
||||||
|
"verae.billing.statement.get",
|
||||||
|
"verae.billing.balance.adjust"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notes": "Loopback only. Public Zapier traffic hits access-zapier :3024."
|
||||||
|
}
|
||||||
|
|
@ -17,7 +17,7 @@ import { sshSpawnWorker, sshKillWorker, sshHttp, sshCheck, sshWriteIntent } from
|
||||||
const WORKER = path.join(path.dirname(fileURLToPath(import.meta.url)), 'worker.js');
|
const WORKER = path.join(path.dirname(fileURLToPath(import.meta.url)), 'worker.js');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Real HTTP apps (zappier-edge, middleware) set `spawn` in services/*.json.
|
* Real HTTP apps (verae-edge-billing, middleware) set `spawn` in services/*.json.
|
||||||
* Everything else is the fleet health worker.
|
* Everything else is the fleet health worker.
|
||||||
*/
|
*/
|
||||||
export function spawnLocal(root, spec, env, healthPort) {
|
export function spawnLocal(root, spec, env, healthPort) {
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ describe('verae-fleet', () => {
|
||||||
const ids = rows.map((r) => r.id);
|
const ids = rows.map((r) => r.id);
|
||||||
for (const need of [
|
for (const need of [
|
||||||
'nats',
|
'nats',
|
||||||
'zappier-edge',
|
'verae-edge-billing',
|
||||||
'access-authz',
|
'access-authz',
|
||||||
'access-web',
|
'access-web',
|
||||||
'access-api',
|
'access-api',
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ describe('machine placement', () => {
|
||||||
|
|
||||||
it('skips machines that do not allow the role', () => {
|
it('skips machines that do not allow the role', () => {
|
||||||
const machines = [
|
const machines = [
|
||||||
{ id: 'edge', enabled: true, capacity: 8, roles: ['zappier-edge'] },
|
{ id: 'edge', enabled: true, capacity: 8, roles: ['verae-edge-billing'] },
|
||||||
{ id: 'trees', enabled: true, capacity: 8, roles: ['tree-node'] },
|
{ id: 'trees', enabled: true, capacity: 8, roles: ['tree-node'] },
|
||||||
];
|
];
|
||||||
const pick = pickMachine(machines, [], 'tree-node', 'tree-node');
|
const pick = pickMachine(machines, [], 'tree-node', 'tree-node');
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue