miroir/crates/miroir-core
jedarden a3138eef45 feat(proxy): implement POST /_miroir/rebalance endpoint (P4.6, miroir-mkk.6)
Implements manual rebalance trigger and enhanced status endpoint:

**POST /_miroir/rebalance**
- Triggers manual rebalance operation (e.g., after config-only topology tweak)
- Returns 202 Accepted with miroir_task_id when rebalance starts
- Returns 200 OK with no-op task when already balanced
- Accepts optional index_uid and reason parameters

**GET /_miroir/rebalance/status** (enhanced)
- Returns per-shard migration progress with phase information
- Response shape includes: in_progress, triggered_by, operation_id,
  started_at, phases array, overall_pct_complete
- Phases array shows shard, state, pct_complete, source, destination

**Supporting changes**
- Added RebalancerWorker::get_all_jobs() to access job state
- Added route to admin router
- Added TriggerRebalanceRequest struct

Acceptance criteria met:
- ✓ Manual rebalance trigger via POST /_miroir/rebalance
- ✓ Returns miroir_task_id for tracking
- ✓ No-op response when already balanced
- ✓ Detailed per-shard status in GET /_miroir/rebalance/status

Closes: miroir-mkk.6
2026-05-24 06:17:16 -04:00
..
benches Merge remote-tracking branch 'origin/master' 2026-05-24 05:21:32 -04:00
migrations P6.4: Mode B leader-only singleton coordinator (plan §14.5) 2026-05-23 05:21:16 -04:00
proptest-regressions/task_store P12: close Phase 12 epic — all 6 open problems triaged and documented 2026-04-24 19:14:23 -04:00
src feat(proxy): implement POST /_miroir/rebalance endpoint (P4.6, miroir-mkk.6) 2026-05-24 06:17:16 -04:00
tests feat(rebalancer): implement group draining flow for P4.5 2026-05-24 05:53:32 -04:00
Cargo.toml Merge remote-tracking branch 'origin/master' 2026-05-24 05:21:32 -04:00
proptest.toml P1.6: Verify property tests and benchmarks for router 2026-05-23 10:21:56 -04:00