Skip to content

feat(server): add coordinator admin REST API and gRPC registration#420

Merged
DorianZheng merged 1 commit into
mainfrom
feat/coordinator-admin-api
Apr 1, 2026
Merged

feat(server): add coordinator admin REST API and gRPC registration#420
DorianZheng merged 1 commit into
mainfrom
feat/coordinator-admin-api

Conversation

@DorianZheng

Copy link
Copy Markdown
Member

Summary

  • Add standalone OpenAPI spec (openapi/coordinator-open-api.yaml) for 7 coordinator admin endpoints, aligned with Daytona's API design
  • Migrate worker registration/heartbeat from REST to gRPC — REST is now operator-only, gRPC for worker-to-coordinator communication
  • Add new admin endpoints: get single worker, update status (active↔draining), find worker by box, health probes (liveness/readiness)
  • Remove reqwest dependency (no longer needed)

Test plan

  • 131 tests pass (68 unit + 53 coordinator API + 10 OpenAPI conformance)
  • Clippy clean (-D warnings)
  • cargo fmt --check clean
  • Manual: start coordinator + worker, verify gRPC registration works
  • Manual: test admin endpoints via curl/Swagger UI

Add a standalone OpenAPI spec for coordinator-specific admin endpoints,
aligned with Daytona's API design. Workers now register via gRPC instead
of REST, enforcing clean protocol separation: REST for operators, gRPC
for worker-to-coordinator communication.

Changes:
- Add openapi/coordinator-open-api.yaml with 7 admin endpoints
- Add GET/DELETE/PATCH worker management + health probes
- Add CoordinatorService gRPC (RegisterWorker, WorkerHeartbeat)
- Remove REST register/heartbeat endpoints (now gRPC-only)
- Remove reqwest dependency (no longer needed)
- Add coordinator gRPC port flag (--grpc-port, default 8201)
- Rewrite tests to use store directly, add 15 new endpoint tests
- Add 4 coordinator OpenAPI conformance tests
- Fix pre-existing path bug in openapi_conformance.rs
@DorianZheng DorianZheng merged commit 4508c42 into main Apr 1, 2026
19 checks passed
@DorianZheng DorianZheng deleted the feat/coordinator-admin-api branch April 1, 2026 16:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant