3.3 KiB
3.3 KiB
Quota Governance and Circuit Breakers
Module
Orchestrator
Status
IMPLEMENTED
Description
Job scheduling exists but dedicated quota governance services and circuit breaker automation were not found as separate implementations. May be embedded in scheduler logic.
What's Implemented
Quota(src/Orchestrator/StellaOps.Orchestrator/StellaOps.Orchestrator.Core/Domain/Quota.cs) - quota entity with limits and allocationQuotaEndpoints(src/Orchestrator/StellaOps.Orchestrator/StellaOps.Orchestrator.WebService/Endpoints/QuotaEndpoints.cs) - REST API for quota queries and adjustmentsQuotaContracts(src/Orchestrator/StellaOps.Orchestrator/StellaOps.Orchestrator.WebService/Contracts/QuotaContracts.cs) - API contracts for quota operationsThrottle(src/Orchestrator/StellaOps.Orchestrator/StellaOps.Orchestrator.Core/Domain/Throttle.cs) - throttle configuration for rate limitingAdaptiveRateLimiter(src/Orchestrator/StellaOps.Orchestrator/StellaOps.Orchestrator.Core/RateLimiting/AdaptiveRateLimiter.cs) - adaptive rate limiting based on system loadConcurrencyLimiter(src/Orchestrator/StellaOps.Orchestrator/StellaOps.Orchestrator.Core/RateLimiting/ConcurrencyLimiter.cs) - limits concurrent job executionBackpressureHandler(src/Orchestrator/StellaOps.Orchestrator/StellaOps.Orchestrator.Core/RateLimiting/BackpressureHandler.cs) - backpressure signalingLoadShedder(src/Orchestrator/StellaOps.Orchestrator/StellaOps.Orchestrator.Core/Scale/LoadShedder.cs) - load shedding under saturationPostgresQuotaRepository(src/Orchestrator/StellaOps.Orchestrator/StellaOps.Orchestrator.Infrastructure/Postgres/PostgresQuotaRepository.cs) - Postgres-backed quota storagePostgresThrottleRepository(src/Orchestrator/StellaOps.Orchestrator/StellaOps.Orchestrator.Infrastructure/Postgres/PostgresThrottleRepository.cs) - Postgres-backed throttle storage
What's Missing
- Dedicated quota governance service: No standalone
QuotaGovernanceServiceenforcing cross-tenant quota allocation, burst capacity, and fair scheduling across tenants - Circuit breaker automation: No automated circuit breaker that opens when a downstream service (e.g., scanner, attestor) fails repeatedly, preventing cascade failures across orchestrator jobs
- Quota allocation policies: No configurable policies for quota allocation (e.g., proportional allocation, priority-based allocation, reserved capacity)
- Circuit breaker dashboard: No UI showing circuit breaker states for each downstream service
- Quota usage alerts: No alerting when tenants approach their quota limits via Notifier integration
- Circuit breaker state persistence: No persistent storage for circuit breaker state across orchestrator restarts
Implementation Plan
- Create
QuotaGovernanceServiceenforcing cross-tenant allocation policies - Implement circuit breaker pattern for downstream services (scanner, attestor, policy engine)
- Add configurable quota allocation policies (proportional, priority-based)
- Add circuit breaker state persistence in PostgreSQL
- Build circuit breaker dashboard UI component
- Add quota usage alerting via Notifier integration
- Add tests for quota governance, circuit breaker state transitions, and allocation policies
Related Documentation
- Source: See feature catalog