Boundary v0: WebSocket with heartbeats, acked commands and mock state

One socket on :7700 carries hello, heartbeats both ways (5 s timeout), 5 Hz
state snapshots of envelopes, and idempotent commands. 'mark' is forwarded to
the recorder's control socket. --mock synthesises degrading state flagged as
mock in every envelope; without it a client gets hello and heartbeats only.
Peers outside loopback, RFC 1918 and the tailnet are refused. Deployed on the
car Orin as yukart-gw.service.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
This commit is contained in:
2026-10-09 20:19:05 +09:00
parent aaeb836f01
commit a1ed8d8fc5
11 changed files with 809 additions and 3 deletions
+6
View File
@@ -6,3 +6,9 @@ description = "Telemetry gateway: aggregation and the app boundary"
publish = false
[dependencies]
libc = "0.2"
serde_json = "1"
tungstenite = { version = "0.30", default-features = false, features = ["handshake"] }
[profile.release]
strip = true