- StreamSystemStatus now queries real Prometheus data (was all zeros) - StreamAlerts returns honest unimplemented (was sending empty events) - Training epoch shows "N" not "N/0" (max_epochs not in proto) - GPU power shows "300W" not "300W / 0W" when limit unavailable - Services cockpit shows error reason when service is DOWN - System status polling detects staleness after 3 consecutive failures - Training cockpit header shows active K8s job count Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
api_gateway
API Gateway service with 6-layer authentication, RBAC, rate limiting, and gRPC proxy routing.
Key Types
ApiGatewayService-- main service implementationRoleBasedAccessControl-- RBAC authorizationRateLimiter-- 3-tier rate limiting (auth/trading/compute)CircuitBreaker-- upstream service protection
Configuration
JWT_SECRET-- JWT signing secret (min 32 chars)UPSTREAM_TRADING_URL-- trading service gRPC endpointUPSTREAM_ML_URL-- ML service gRPC endpoint
Features
mfa(default) -- multi-factor authentication support- Build without:
cargo check -p api_gateway --no-default-features --features minimal