mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-10-28 03:03:18 +01:00
Nothing pulled or bootstrapped the daemon: the panel archive doesn't ship the binary (it's a GitHub-release asset via `fanout_binary`), and `fanout_binary` was invoked by no installer, updater or cron. So a fresh node/LB never got the daemon, and an updated panel kept an old one. Wire it up: - UpdateCommand: after a panel update, run `console.php fanout_binary` (root, background, best-effort) so the daemon is refreshed to match the new version. - RootSignalsCronJob (root, every node incl. LBs): hourly self-heal — throttled `fanout_binary` via a stamp, first pass immediate, so a fresh install/LB gets the daemon within a minute and version drift is corrected. - service: the keepalive loop now runs UNCONDITIONALLY and re-checks for the binary each 2s pass instead of gating the whole block on `-x` at boot. This closes the bootstrap gap — fanout_binary only pkills and relies on a running keepalive to respawn, which didn't exist on a node whose binary arrived after boot; now the loop launches the daemon within ~2s of the binary appearing. fanout_binary is idempotent (downloads only on a version mismatch, only when GitHub is reachable), so polling is safe. php -l + make gates green.