master-zapier-plan-draft/packages/verae-keep
George Lambert 03f557203a
Some checks are pending
offline / test (push) Waiting to run
Sync docs, add verae-bootstrap, and run the full stack on NS1.
Docs match current modules: public portal is access-web /portal/,
IAM and keep are listed, edge is loopback. Bootstrap clones every
Forgejo repo and installs deps per server type. Fleet starts IAM
and staff-session. NS1 all-in-one uses edge :13000 because :3000
is taken; archive workers stay with keep.
2026-09-11 19:52:54 -04:00
..
scripts Add verae-keep: host supervisor with watch+guard on NS1. 2026-09-11 19:25:11 -04:00
src Add verae-keep: host supervisor with watch+guard on NS1. 2026-09-11 19:25:11 -04:00
systemd Add verae-keep: host supervisor with watch+guard on NS1. 2026-09-11 19:25:11 -04:00
test Add verae-keep: host supervisor with watch+guard on NS1. 2026-09-11 19:25:11 -04:00
NATS.md Sync docs, add verae-bootstrap, and run the full stack on NS1. 2026-09-11 19:52:54 -04:00
package.json Add verae-keep: host supervisor with watch+guard on NS1. 2026-09-11 19:25:11 -04:00
README.md Add verae-keep: host supervisor with watch+guard on NS1. 2026-09-11 19:25:11 -04:00
SUMMARY.md Sync docs, add verae-bootstrap, and run the full stack on NS1. 2026-09-11 19:52:54 -04:00
units.json Add verae-keep: host supervisor with watch+guard on NS1. 2026-09-11 19:25:11 -04:00
units.ns1.json Add verae-keep: host supervisor with watch+guard on NS1. 2026-09-11 19:25:11 -04:00

verae-keep

Host keep-alive for Verae workers. Restarts a unit that crashed unless the operator console paused or stopped it.

Forgejo: https://git.georgelambert.org/marchon/verae-keep

Two processes:

Process Port Job
node src/keep.js :3860 Probe units, spawn if intent is run
node src/watch.js :3861 Restart keep if /health fails
scripts/guard.sh Restart watch if watch exits

Intent is run | pause | stop. Sources, newest wins:

  1. POST /intent/:id (admin / API)
  2. ~/verae-fleet-runtime/data/<instance>/intent.json (fleet writes this on start/pause/stop)
  3. live FLEET_URL/api/status when set
  4. unit defaultIntent (run)

Pause: leave the process down or POST /pause. Stop: SIGTERM and do not spawn. Run: spawn if health fails.

NS1 (70.88.205.138)

KEEP_UNITS=$HOME/verae-keep/units.ns1.json KEEP_STATE=$HOME/verae-keep/data \
  nohup bash scripts/guard.sh >/tmp/verae-keep-guard.out 2>&1 &

Or systemd user unit systemd/verae-keep-guard.service (loginctl enable-linger).

Units: NATS (observe only), job-poller, webhook-deliver, archive-aggregator, archive-worm ×3, tree-node ×3.

API

  • GET /health GET /status
  • POST /intent/:id {"state":"pause|stop|run"}
  • POST /reconcile