feat(reliability): START=49 boot guard installed by deploy
This commit is contained in:
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/sh /etc/rc.common
|
||||||
|
# Mark VIII boot guard: enforce safe PineAP UCI before the S50 stack starts.
|
||||||
|
START=49
|
||||||
|
STOP=90
|
||||||
|
|
||||||
|
GUARD_DIR="/root/payloads/user/remote_access/pager-webui"
|
||||||
|
[ -f "$GUARD_DIR/server.py" ] || GUARD_DIR="/mmc/mk8/releases/current"
|
||||||
|
|
||||||
|
start() {
|
||||||
|
[ -f "$GUARD_DIR/server.py" ] || return 0
|
||||||
|
/usr/bin/python3 "$GUARD_DIR/server.py" --reconcile \
|
||||||
|
>/tmp/mk8-guard.log 2>&1 || true
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() { return 0; }
|
||||||
@@ -7194,6 +7194,13 @@ if __name__ == '__main__':
|
|||||||
result = restore_pager_truth(resnapshot=False)
|
result = restore_pager_truth(resnapshot=False)
|
||||||
print(json.dumps(result))
|
print(json.dumps(result))
|
||||||
sys.exit(0 if result.get('ok') else 1)
|
sys.exit(0 if result.get('ok') else 1)
|
||||||
|
if '--reconcile' in sys.argv:
|
||||||
|
try:
|
||||||
|
import mk8_guard
|
||||||
|
print(json.dumps(mk8_guard.reconcile()))
|
||||||
|
except Exception as exc: # boot must never fail here
|
||||||
|
print(json.dumps({'error': str(exc)}))
|
||||||
|
sys.exit(0)
|
||||||
signal.signal(signal.SIGTERM, _request_shutdown)
|
signal.signal(signal.SIGTERM, _request_shutdown)
|
||||||
signal.signal(signal.SIGINT, _request_shutdown)
|
signal.signal(signal.SIGINT, _request_shutdown)
|
||||||
serve()
|
serve()
|
||||||
|
|||||||
@@ -203,6 +203,9 @@ if /etc/init.d/pagerwebui running >/dev/null 2>&1; then
|
|||||||
else
|
else
|
||||||
/etc/init.d/pagerwebui start
|
/etc/init.d/pagerwebui start
|
||||||
fi
|
fi
|
||||||
|
cp -f '$REMOTE_PAYLOAD_DIR/mk8-guard.init' /etc/init.d/mk8-guard
|
||||||
|
chmod 755 /etc/init.d/mk8-guard
|
||||||
|
/etc/init.d/mk8-guard enable
|
||||||
echo EXTRACT_OK"
|
echo EXTRACT_OK"
|
||||||
run_ssh "$TARGET" "$REMOTE_COMMAND"
|
run_ssh "$TARGET" "$REMOTE_COMMAND"
|
||||||
printf 'Installed to /root/payloads/%s/\n' "$REMOTE_PAYLOAD_DIR"
|
printf 'Installed to /root/payloads/%s/\n' "$REMOTE_PAYLOAD_DIR"
|
||||||
|
|||||||
Reference in New Issue
Block a user