verae-keep/README.md

1.9 KiB
Raw Permalink Blame History

verae-keep

standard-readme compliant

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 user systemd (survives reboot; do not also nohup guard.sh):

bash scripts/install-systemd.sh
systemctl --user start verae-keep-guard

Proxmox guest extra copies: KEEP_UNITS=units.px-worker.json.

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

Install

git clone ssh://git@git.georgelambert.org:2223/marchon/verae-keep.git
cd verae-keep

Usage

npm install
npm start

Contributing

Questions: open an issue at https://git.georgelambert.org/marchon/verae-keep/issues. Pull requests are accepted.

License

UNLICENSED © George Lambert