fix(#338): Add rate limiting to orchestrator API

- Add @nestjs/throttler for rate limiting support
- Configure multiple throttle profiles: default (100/min), strict (10/min for spawn/kill), status (200/min for polling)
- Apply strict rate limits to spawn and kill endpoints to prevent DoS
- Apply higher rate limits to status/health endpoints for monitoring
- Add OrchestratorThrottlerGuard with X-Forwarded-For support for proxy setups
- Add unit tests for throttler guard

Refs #338

Co-Authored-By: Claude Opus 4.5 <[email protected]>
This commit is contained in:
Jason Woltje
2026-02-05 18:26:50 -06:00
co-authored by Claude Opus 4.5
parent 3f16bbeca1
commit ce7fb27c46
8 changed files with 244 additions and 4 deletions
+5
View File
@@ -292,6 +292,9 @@ importers:
'@nestjs/platform-express':
specifier: ^11.1.12
version: 11.1.12(@nestjs/[email protected]([email protected])([email protected])([email protected])([email protected]))(@nestjs/[email protected])
'@nestjs/throttler':
specifier: ^6.5.0
version: 6.5.0(@nestjs/[email protected]([email protected])([email protected])([email protected])([email protected]))(@nestjs/[email protected])([email protected])
bullmq:
specifier: ^5.67.2
version: 5.67.2
@@ -454,6 +457,8 @@ importers:
specifier: ^3.0.8
version: 3.2.4(@types/[email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
packages/cli-tools: {}
packages/config:
dependencies:
'@eslint/js':