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> |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||