Add verae-keep: host supervisor with watch+guard on NS1.
Some checks are pending
offline / test (push) Waiting to run

Restarts crashed units unless the admin console paused or stopped
them. Fleet writes per-instance intent.json. Tested on 138:
crash-restart, pause-hold, watch respawn of keep.
This commit is contained in:
George Lambert 2026-09-11 19:25:11 -04:00
parent 2bb3884a1b
commit baaf1c2275
20 changed files with 1049 additions and 1 deletions

View file

@ -0,0 +1,150 @@
{
"bind": "127.0.0.1",
"port": 3860,
"intervalMs": 2000,
"runtimeDir": "~/verae-fleet-runtime",
"units": [
{
"id": "nats",
"title": "NATS JetStream (loopback)",
"tcp": { "host": "127.0.0.1", "port": 4222 },
"managed": false,
"defaultIntent": "run"
},
{
"id": "job-poller-0",
"health": "http://127.0.0.1:13200/health",
"cwd": "~/verae-fleet-runtime",
"command": ["node", "src/worker.js"],
"env": {
"FLEET_ROLE": "job-poller",
"FLEET_SERVICE": "job-poller",
"FLEET_INSTANCE": "job-poller-0",
"FLEET_MACHINE": "ns1",
"FLEET_HEALTH_PORT": "13200",
"FLEET_HEALTH_BIND": "127.0.0.1",
"FLEET_STATE_DIR": "data/job-poller-0"
}
},
{
"id": "webhook-deliver-0",
"health": "http://127.0.0.1:13300/health",
"cwd": "~/verae-fleet-runtime",
"command": ["node", "src/worker.js"],
"env": {
"FLEET_ROLE": "webhook-deliver",
"FLEET_SERVICE": "webhook-deliver",
"FLEET_INSTANCE": "webhook-deliver-0",
"FLEET_MACHINE": "ns1",
"FLEET_HEALTH_PORT": "13300",
"FLEET_HEALTH_BIND": "127.0.0.1",
"FLEET_STATE_DIR": "data/webhook-deliver-0"
}
},
{
"id": "archive-aggregator-0",
"health": "http://127.0.0.1:13400/health",
"cwd": "~/verae-fleet-runtime",
"command": ["node", "src/worker.js"],
"env": {
"FLEET_ROLE": "archive-aggregator",
"FLEET_SERVICE": "archive-aggregator",
"FLEET_INSTANCE": "archive-aggregator-0",
"FLEET_MACHINE": "ns1",
"FLEET_HEALTH_PORT": "13400",
"FLEET_HEALTH_BIND": "127.0.0.1",
"FLEET_STATE_DIR": "data/archive-aggregator-0"
}
},
{
"id": "archive-worm-0",
"health": "http://127.0.0.1:13500/health",
"cwd": "~/verae-fleet-runtime",
"command": ["node", "src/worker.js"],
"env": {
"FLEET_ROLE": "archive-worm",
"FLEET_SERVICE": "archive-worm",
"FLEET_INSTANCE": "archive-worm-0",
"FLEET_MACHINE": "ns1",
"FLEET_HEALTH_PORT": "13500",
"FLEET_HEALTH_BIND": "127.0.0.1",
"FLEET_STATE_DIR": "data/archive-worm-0"
}
},
{
"id": "archive-worm-1",
"health": "http://127.0.0.1:13501/health",
"cwd": "~/verae-fleet-runtime",
"command": ["node", "src/worker.js"],
"env": {
"FLEET_ROLE": "archive-worm",
"FLEET_SERVICE": "archive-worm",
"FLEET_INSTANCE": "archive-worm-1",
"FLEET_MACHINE": "ns1",
"FLEET_HEALTH_PORT": "13501",
"FLEET_HEALTH_BIND": "127.0.0.1",
"FLEET_STATE_DIR": "data/archive-worm-1"
}
},
{
"id": "archive-worm-2",
"health": "http://127.0.0.1:13502/health",
"cwd": "~/verae-fleet-runtime",
"command": ["node", "src/worker.js"],
"env": {
"FLEET_ROLE": "archive-worm",
"FLEET_SERVICE": "archive-worm",
"FLEET_INSTANCE": "archive-worm-2",
"FLEET_MACHINE": "ns1",
"FLEET_HEALTH_PORT": "13502",
"FLEET_HEALTH_BIND": "127.0.0.1",
"FLEET_STATE_DIR": "data/archive-worm-2"
}
},
{
"id": "tree-node-0",
"health": "http://127.0.0.1:13600/health",
"cwd": "~/verae-fleet-runtime",
"command": ["node", "src/worker.js"],
"env": {
"FLEET_ROLE": "tree-node",
"FLEET_SERVICE": "tree-node",
"FLEET_INSTANCE": "tree-node-0",
"FLEET_MACHINE": "ns1",
"FLEET_HEALTH_PORT": "13600",
"FLEET_HEALTH_BIND": "127.0.0.1",
"FLEET_STATE_DIR": "data/tree-node-0"
}
},
{
"id": "tree-node-1",
"health": "http://127.0.0.1:13601/health",
"cwd": "~/verae-fleet-runtime",
"command": ["node", "src/worker.js"],
"env": {
"FLEET_ROLE": "tree-node",
"FLEET_SERVICE": "tree-node",
"FLEET_INSTANCE": "tree-node-1",
"FLEET_MACHINE": "ns1",
"FLEET_HEALTH_PORT": "13601",
"FLEET_HEALTH_BIND": "127.0.0.1",
"FLEET_STATE_DIR": "data/tree-node-1"
}
},
{
"id": "tree-node-2",
"health": "http://127.0.0.1:13602/health",
"cwd": "~/verae-fleet-runtime",
"command": ["node", "src/worker.js"],
"env": {
"FLEET_ROLE": "tree-node",
"FLEET_SERVICE": "tree-node",
"FLEET_INSTANCE": "tree-node-2",
"FLEET_MACHINE": "ns1",
"FLEET_HEALTH_PORT": "13602",
"FLEET_HEALTH_BIND": "127.0.0.1",
"FLEET_STATE_DIR": "data/tree-node-2"
}
}
]
}