Browse Source

docs(volume-server): log native rust status healthz milestone

codex-rust-volume-server-bootstrap
Chris Lu 4 weeks ago
parent
commit
d2a6066181
  1. 19
      rust/volume_server/DEV_PLAN.md
  2. 7
      test/volume_server/DEV_PLAN.md

19
rust/volume_server/DEV_PLAN.md

@ -15,6 +15,7 @@ Implement a native Rust volume server that replicates Go volume-server behavior
- Go master + Rust launcher (`VOLUME_SERVER_IMPL=rust`)
- Rust launcher `proxy` mode has full-suite integration pass while delegating backend handlers to Go.
- Rust launcher `native` mode is wired as the default Rust entrypoint and currently bootstraps via supervised Go backend delegation.
- Native Rust HTTP control handlers now serve `/status` and `/healthz` directly in `native` mode.
- Native Rust API/storage handlers are not implemented yet.
## Parity Exit Criteria
@ -37,8 +38,8 @@ Implement a native Rust volume server that replicates Go volume-server behavior
### B. Native HTTP Surface
- [ ] Admin/control endpoints:
- [ ] `GET /status`
- [ ] `GET /healthz`
- [x] `GET /status` (native Rust in `native` mode)
- [x] `GET /healthz` (native Rust in `native` mode)
- [ ] static/UI endpoints currently exercised
- [ ] Data read path parity:
- [ ] fid parsing/path variants
@ -89,7 +90,7 @@ Implement a native Rust volume server that replicates Go volume-server behavior
### M1: Native Skeleton (Control Plane First)
- [ ] `native` mode boots and serves:
- [ ] `/status`, `/healthz`
- [x] `/status`, `/healthz`
- [ ] `GetState`, `SetState`, `VolumeServerStatus`, `Ping`, `VolumeServerLeave`
- Gate:
- [x] targeted HTTP/grpc control tests pass in `native` mode (delegated backend path).
@ -116,8 +117,8 @@ Implement a native Rust volume server that replicates Go volume-server behavior
- [ ] Keep `exec`/`proxy` only as explicit fallback modes during rollout.
## Immediate Next Steps
1. Implement `/status` and `/healthz` with native Rust handlers and parity headers/payload fields.
2. Implement minimal native gRPC state/ping RPC handlers (`GetState`, `SetState`, `VolumeServerStatus`, `Ping`, `VolumeServerLeave`).
1. Implement minimal native gRPC state/ping RPC handlers (`GetState`, `SetState`, `VolumeServerStatus`, `Ping`, `VolumeServerLeave`).
2. Expand native HTTP control surface beyond `/status` and `/healthz` (UI/static/auth-sensitive paths).
3. Keep rerunning native-mode integration suites as each delegated branch is replaced.
4. Add mismatch triage notes for each API moved from delegation to native implementation.
@ -155,3 +156,11 @@ Implement a native Rust volume server that replicates Go volume-server behavior
- `env VOLUME_SERVER_IMPL=rust go test -count=1 ./test/volume_server/http -run '^TestAdminStatusAndHealthz$'`
- `env VOLUME_SERVER_IMPL=rust go test -count=1 ./test/volume_server/grpc -run '^TestStateAndStatusRPCs$'`
- Commits: `70ddbee37`, `61befd10f`, `2e65966c0`
- Date: 2026-02-16
- Change: Implemented first native Rust HTTP handlers in `native` mode for `/status` and `/healthz` on the admin listener while preserving proxy delegation for other APIs.
- Validation:
- `env VOLUME_SERVER_IMPL=rust VOLUME_SERVER_RUST_MODE=native go test -count=1 ./test/volume_server/http -run '^TestAdminStatusAndHealthz$'`
- `env VOLUME_SERVER_IMPL=rust VOLUME_SERVER_RUST_MODE=native go test -count=1 ./test/volume_server/http`
- `env VOLUME_SERVER_IMPL=rust VOLUME_SERVER_RUST_MODE=native go test -count=1 ./test/volume_server/grpc`
- Commits: `7e6e0261a`

7
test/volume_server/DEV_PLAN.md

@ -1280,3 +1280,10 @@ Update this section during implementation:
- Profiles covered: existing HTTP/gRPC matrix in native launcher mode; default-mode smoke checks on P1 control flows.
- Gaps introduced/remaining: native Rust API/storage/RPC handlers still pending; current `native` mode remains a delegation bootstrap while parity replacement proceeds.
- Commit: `70ddbee37`, `61befd10f`, `2e65966c0`
- Date: 2026-02-16
- Change: Implemented first native Rust HTTP control handlers in `native` mode for `/status` and `/healthz` (admin listener path), with proxy fallback retained for remaining endpoints.
- APIs covered: `/status` and `/healthz` now served by Rust-native code path in `VOLUME_SERVER_RUST_MODE=native`; full HTTP and gRPC integration suites re-validated.
- Profiles covered: full existing HTTP/gRPC matrix under native mode.
- Gaps introduced/remaining: gRPC control/data APIs and most HTTP data/static/auth paths remain delegated and require incremental native replacement.
- Commit: `7e6e0261a`
Loading…
Cancel
Save