fix(tailscale): готовность демона, флаги tailscaled и нейтрализация standalone-сервиса
- удалён неподдерживаемый флаг --netfilter-mode=on, вызывавший ошибку старта на OpenWrt - проба готовности парсит status --json (BackendState), а не exit-code: незалогиненный узел отвечает NeedsLogin с non-zero и раньше считался неготовым — корень «did not become ready» при первом входе - перед стартом своего tailscaled останавливается и отключается init-скрипт официального пакета: его демон держал UDP 41641, из-за чего наш умирал мгновенно - при сбое старта в лог пишется хвост tailscaled.log для диагностики
This commit is contained in:
@@ -89,7 +89,19 @@ run() {
|
||||
run installed || fail "installed must succeed with stubs present"
|
||||
|
||||
# --- start ------------------------------------------------------------------
|
||||
# Fake official init script: must be stopped+disabled before our daemon starts.
|
||||
INIT_LOG="$WORK_DIR/init.log"
|
||||
mkdir -p /etc/init.d
|
||||
cat >"/etc/init.d/tailscale" <<EOF
|
||||
#!/bin/sh
|
||||
printf '%s\n' "\$*" >> '$INIT_LOG'
|
||||
exit 0
|
||||
EOF
|
||||
chmod +x "/etc/init.d/tailscale"
|
||||
|
||||
run start-runtime || fail "start-runtime exited non-zero"
|
||||
grep -Fq "stop" "$INIT_LOG" || fail "standalone tailscale service was not stopped"
|
||||
grep -Fq "disable" "$INIT_LOG" || fail "standalone tailscale service was not disabled"
|
||||
|
||||
PID_FILE="$WORK_DIR/run/ts_native/tailscaled.pid"
|
||||
[ -f "$PID_FILE" ] || fail "pid file was not written"
|
||||
|
||||
Reference in New Issue
Block a user