Contributing¶
Project structure¶
cli/ Go CLI (Cobra)
cmd/ Commands (root, server, client)
internal/
e2e/ X25519 + HKDF + AES-256-GCM + SAS verification
handshake/ Cluster metadata exchange
kubeconfig/ Kubeconfig loading and writing
relay/ Relay HTTP/WS client
tunnel/ TCP <-> WebSocket multiplexing
relay/ Python relay server (FastAPI)
src/mykube_relay/
routes/ HTTP API + WebSocket handlers
session_store.py In-memory session management
rate_limit.py Per-IP rate limiting
Building from source¶
CLI (Go)¶
Requires Go 1.25+.
Build with a version tag:
For static binaries, set CGO_ENABLED=0:
Relay (Python)¶
Requires Python 3.11+ and uv.
Running tests¶
CLI¶
Relay¶
Tests use pytest-asyncio with asyncio_mode = "auto".
Linting¶
CLI¶
Relay¶
Running locally¶
Relay¶
Starts on http://0.0.0.0:8000.