kitadmin 879f97c843 fix: x4078 remote recovery + daemon wait-wedge bug + SPK rebuild
- docs/incident-log: mark x4078 recovered remotely via Tailscale (no
  physical access needed); document the recovery steps and root cause
- connect-daemon.sh: remove bare `wait` that wedged the retry loop
  forever on the setsid'd tailscaled child — once the tunnel failed the
  daemon could not self-heal until the package was restarted; now the
  main loop falls through start_tunnel (already blocking+retrying) and
  restarts the whole cycle cleanly
- SPK rebuilt (32839680 bytes) with the daemon fix included
- Also documents the two latent lessons: (1) a field router is only
  inaccessible when ALL three paths fail; (2) always check Tailscale +
  QuickConnect before assuming a truck roll is required

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-22 22:23:53 +00:00

kit-busrouter

Configuration and operational notes for the bus-fleet edge routers.

Hardware

GL.iNet GL-XE3000 (5G "Puli") running OpenWrt. LAN address 192.168.8.1, login root.

Management access

Routers are managed out-of-band over a WireGuard tunnel to the busfleet hub. Each router dials the hub and mgmt SSH is allowed inbound over the tunnel only — never exposed on the WAN.

Item Value
WG client interface / firewall zone wgclient1 (proto=wgclient)
Router tunnel IP 10.88.0.2/32
Hub tunnel IP 10.88.0.1
Hub endpoint 167.172.237.162:51820 (UDP)
Tunnel subnet 10.88.0.0/24
Inbound mgmt SSH rule Allow-WG-mgmt-SSH — tcp/22 from 10.88.0.0/24, src zone wgclient1
Hub jump key busfleet-hub-jump (ed25519) in /etc/dropbear/authorized_keys, perms 600

The hub reaches a router with:

ssh -J busfleet-hub-jump root@10.88.0.2   # over the established tunnel

Docs

S
Description
Pioneer Bus Fleet — kit-connect, syno-balance, busfleet-hub
Readme 126 MiB
Languages
Shell 78.6%
HTML 15.3%
Python 4.9%
Makefile 1.2%