fetch_ml/internal/api
Jeremie Fraeys 57787e1e7b
feat(scheduler): implement capability-based routing and hub v2
Add comprehensive capability routing system to scheduler hub:
- Capability-aware worker matching with requirement/offer negotiation
- Hub v2 protocol with structured message types and heartbeat management
- Worker capability advertisement and dynamic routing decisions
- Orphan recovery for disconnected workers with state reconciliation
- Template-based job scheduling with capability constraints

Add extensive test coverage:
- Unit tests for capability routing logic and heartbeat mechanics
- Unit tests for orphan recovery scenarios
- E2E tests for capability routing across multiple workers
- Hub capabilities integration tests
- Scheduler fixture helpers for test setup

Protocol improvements:
- Define structured protocol messages for hub-worker communication
- Add capability matching algorithm with scoring
- Implement graceful worker disconnection handling
2026-03-12 12:00:05 -04:00
..
audit feat(audit): add HTTP audit middleware and tamper-evident logging 2026-03-08 13:03:02 -04:00
datasets feat(api): integrate scheduler protocol and WebSocket enhancements 2026-02-26 12:05:57 -05:00
groups feat(auth): add token-based access and structured logging 2026-03-08 12:51:07 -04:00
helpers feat(api): add groups and tokens handlers, refactor routes 2026-03-08 12:51:25 -04:00
jobs feat(auth): add token-based access and structured logging 2026-03-08 12:51:07 -04:00
jupyter feat(auth): add token-based access and structured logging 2026-03-08 12:51:07 -04:00
middleware feat(api): add groups and tokens handlers, refactor routes 2026-03-08 12:51:25 -04:00
plugins feat(api): add groups and tokens handlers, refactor routes 2026-03-08 12:51:25 -04:00
responses feat(api): add groups and tokens handlers, refactor routes 2026-03-08 12:51:25 -04:00
scheduler feat(scheduler): implement capability-based routing and hub v2 2026-03-12 12:00:05 -04:00
tokens feat(auth): add token-based access and structured logging 2026-03-08 12:51:07 -04:00
validate feat(api): add groups and tokens handlers, refactor routes 2026-03-08 12:51:25 -04:00
ws feat(auth): add token-based access and structured logging 2026-03-08 12:51:07 -04:00
adapter.go feat(auth): add token-based access and structured logging 2026-03-08 12:51:07 -04:00
factory.go feat(auth): add token-based access and structured logging 2026-03-08 12:51:07 -04:00
health.go feat(api): integrate scheduler protocol and WebSocket enhancements 2026-02-26 12:05:57 -05:00
metrics_middleware.go feat(api): refactor websocket handlers; add health and prometheus middleware 2026-01-05 12:31:07 -05:00
middleware.go feat(api): add groups and tokens handlers, refactor routes 2026-03-08 12:51:25 -04:00
monitoring_config.go feat(api): integrate scheduler protocol and WebSocket enhancements 2026-02-26 12:05:57 -05:00
protocol.go feat(api): add groups and tokens handlers, refactor routes 2026-03-08 12:51:25 -04:00
routes.go feat(auth): add token-based access and structured logging 2026-03-08 12:51:07 -04:00
server.go api: regenerate OpenAPI types and server code 2026-03-04 13:23:34 -05:00
server_config.go api: regenerate OpenAPI types and server code 2026-03-04 13:23:34 -05:00
server_gen.go feat(api): add groups and tokens handlers, refactor routes 2026-03-08 12:51:25 -04:00
spec_embed.go feat(api): add groups and tokens handlers, refactor routes 2026-03-08 12:51:25 -04:00
ws_protocol.go refactor: improve API structure and WebSocket protocol 2026-02-16 20:38:12 -05:00