kitadmin 8ea704f7e3 fix: use ingest HTTP API instead of direct Postgres for VPS telemetry; cache speedtest results per interface
- hub/server.py: replace psycopg2 Postgres connection with urllib HTTP call to
  ingest /api/devices endpoint (fleet Postgres is Docker-internal, not reachable
  from the VPS directly)
- telemetry-synology.sh: run_speedtest() now writes per-interface cache files
  (speedtest-result-<iface>); _cached_speedtest() reads cache if < 35 min old;
  _collect_wan() uses cached result so throughput shows in telemetry without
  blocking every 1-min cycle

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-23 03:06:08 +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%