db04341f7c
- Rewrite telemetry-synology.sh: canonical GL format (modem_0001/wan keys), self-contained metrics (no aiwanbal), Eyeride GPS with IP geo fallback - Add /api/fleet-telemetry to hub: joins tunnel status with fleet Postgres - Update dashboard.html: per-device WAN health bars, GPS, signal strength - Fix hub/ingest.sh normalisation: remap old wan1/wan2 → modem_0001/wan - Bump SPK version: 0.1-0001 → 0.5.0-0001 for GL parity Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Busfleet Hub
Registration endpoint for kit-connect devices. Runs on the VPS at 162.243.83.36:8080.
Files
- register.sh — Called per-device. Assigns a tunnel port from pool 2230-2299, records it in
port-registry.json, returns JSON. - server.py — Minimal Python HTTP server. Routes
GET /api/register/<DEVICE_ID>→register.sh. - port-registry.json — Persistent device→port mapping.
Deploy
scp hub/register.sh hub/server.py root@162.243.83.36:/opt/busfleet-hub/
ssh root@162.243.83.36 systemctl restart busfleet-hub
API
GET /api/register/<DEVICE_ID>
Response (existing device):
{"device_id": "x5925", "tunnel_port": 2230, "tailscale_auth_key": "tskey-auth-...", "status": "existing"}
Response (new device):
{"device_id": "x9999", "tunnel_port": 2231, "tailscale_auth_key": "tskey-auth-...", "status": "new"}
Port Pool
Pool: 2230–2299 (plus grandfathered pre-pool ports 2225–2229).
| Device | Port | Location | Notes |
|---|---|---|---|
| x4078 | 2226 | Bus (field) | Eyeride + Starlink, kit-connect installed (needs port fix) |
| x4324 | 2225 | Bus (field) | kit-connect ✅ stable |
| x4662 | 2229 | Bus (field) | MR2200ac mesh, old kittunnel ✅ stable |
| x5925 | 2230 | Office bench | kit-connect ✅ stable |
| x9002 | 2231 | Office bench | GL-XE3000, kit-connect/kit-mgmt ✅ stable |