bascule-oss/crates
Tyler King 72fa8cee92 feat: embedded management API (axum, port 9090)
Same binary, same process, two listeners:
  Port 2222: SSH proxy (russh)
  Port 9090: Management API (axum)

API endpoints:
  GET /api/sessions         — active sessions
  GET /api/sessions/history — recent history (last 500)
  GET /api/stats            — aggregate analytics
  GET /api/health           — server health + version
  GET /api/info             — server capabilities

Session tracking:
  Arc<SessionStore> shared between SSH handler and API
  In-memory: active sessions + 500-session history ring buffer
  Tracks: auth breakdown, peak concurrent, TPM attested %

Feature flag:
  --features dashboard (default on) — includes axum + tower-http
  --no-default-features — SSH-only, no HTTP dependency

Config:
  [dashboard] section: enabled, listen address

All smoke tests pass. 0 substrate deps.

Signed-off-by: Tyler King <tking@guildhouse.dev>
2026-04-05 15:09:26 -04:00
..
bascule-auth-agent-id feat: bascule-shell — identity-aware shell with TPM attestation 2026-04-05 09:47:46 -04:00
bascule-core feat: embedded management API (axum, port 9090) 2026-04-05 15:09:26 -04:00
bascule-dashboard feat: Dioxus dashboard — session analytics + WASM web target 2026-04-05 14:10:01 -04:00
bascule-dashboard-web feat: Dioxus dashboard — session analytics + WASM web target 2026-04-05 14:10:01 -04:00
bascule-server feat: embedded management API (axum, port 9090) 2026-04-05 15:09:26 -04:00
bascule-shell feat: bascule-shell — identity-aware shell with TPM attestation 2026-04-05 09:47:46 -04:00