Rename 7 service binaries from snake_case to kebab-case to match K8s deployment names. Update Cargo.toml package/bin names, K8s manifest S3 paths and commands, and cross-crate dependency keys. - api_gateway → api-gateway - trading_service → trading-service - broker_gateway_service → broker-gateway - ml_training_service → ml-training-service - backtesting_service → backtesting-service - trading_agent_service → trading-agent-service - data_acquisition_service → data-acquisition-service broker-gateway gets an explicit [lib] name = "broker_gateway_service" since its new package name maps to broker_gateway (not the original broker_gateway_service used in source code). All other services map correctly with Rust's automatic hyphen-to-underscore conversion. 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