2.1 KiB
2.1 KiB
netcup-standby-guard (Mac LaunchDaemon)
Zet de wuzapi-multiplexer op netcup automatisch op STANDBY zodra netcup weer
bereikbaar is, maar alleen als nextcloud actief is. Voorkomt dubbel-antwoorden in de
WhatsApp-groepen wanneer netcup terugkomt terwijl nextcloud (na handmatige flip) de
actieve node is.
Waarom / invariant
- De multiplexer is de standby-guard (
src/multiplexer.js): node zonderSTANDBYrouteert webhooks door, node metSTANDBY=1ACKt alleen (200). - Bij een netcup-uitval kan de netcup-unit niet op STANDBY gezet worden → na de handmatige flip van nextcloud naar ACTIEF zijn beide nodes bij netcup-comeback actief. Deze guard flipt netcup dan binnen één poll-interval (60 s) naar STANDBY.
- Invariant: netcup wordt alleen naar STANDBY geflipt als nextcloud bevestigd ACTIEF
is (geen
STANDBY=1in de nextcloud-unit). Staat nextcloud op STANDBY, dan is netcup-actief een bewuste failover (nextcloud-onderhoud) → geen flip.
Installatie (Mac)
sudo -A cp deploy/netcup-standby-guard.sh /usr/local/bin/netcup-standby-guard.sh
sudo -A chmod 755 /usr/local/bin/netcup-standby-guard.sh
sudo -A cp deploy/nl.eddydevink.netcup-standby-guard.plist /Library/LaunchDaemons/
sudo -A launchctl bootstrap system /Library/LaunchDaemons/nl.eddydevink.netcup-standby-guard.plist
sudo -A launchctl kickstart -k system/nl.eddydevink.netcup-standby-guard # eerste run direct
- Draait als
eddy(UserName in plist) → gebruikt de aliassen uit~/.ssh/config(netcupmet key~/.ssh/netcup_agent_ed25519zonder passphrase, ennextcloud). - Notificatie via Gotify: token in
~/.netcup-guard.env(GOTIFY_TOKEN=..., mode 600, gitignored). Ontbreekt het bestand → alleen loggen. - Log:
~/Library/Logs/netcup-standby-guard.log; status:~/.netcup-guard-state.
Handmatige test
/usr/local/bin/netcup-standby-guard.sh # run als eddy
tail -5 ~/Library/Logs/netcup-standby-guard.log
Opruimen
sudo -A launchctl bootout system/nl.eddydevink.netcup-standby-guard
sudo -A rm /Library/LaunchDaemons/nl.eddydevink.netcup-standby-guard.plist /usr/local/bin/netcup-standby-guard.sh