miroir/crates/miroir-proxy/src
jedarden 4488cbef21 P5.5 §13.5: Complete two-phase settings broadcast + drift reconciler
Implements propose/verify/commit flow for settings changes with drift detection.

Core components:
- SettingsBroadcast coordinator (settings.rs): propose/verify/commit phases
- DriftReconciler background worker: periodic drift detection and repair
- Client-pinned freshness: X-Miroir-Min-Settings-Version floor filtering
- Metrics: miroir_settings_broadcast_phase, miroir_settings_hash_mismatch_total,
  miroir_settings_drift_repair_total, miroir_settings_version
- Task store persistence: node_settings_version table

Acceptance tests verified:
- Normal flow: settings_version increments exactly once
- Mid-broadcast failure: retry with exponential backoff
- Out-of-band drift: auto-repair within interval_s
- Version floor: excludes stale nodes from covering set
- Legacy sequential strategy: rollback compatibility

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 23:23:09 -04:00
..
routes P5.5 §13.5: Complete two-phase settings broadcast + drift reconciler 2026-05-22 23:23:09 -04:00
admin_session.rs P10.4: ADMIN_SESSION_SEAL_KEY cookie sealing with XChaCha20-Poly1305 2026-04-19 17:18:39 -04:00
auth.rs P2.7: Add test coverage for /health and /version dispatch-exempt endpoints 2026-05-22 15:26:49 -04:00
client.rs P3: Task Registry + Persistence — 14-table SQLite schema, Redis mirror, Helm validation 2026-04-24 15:50:20 -04:00
error.rs Integrate MeilisearchError into proxy (IntoResponse, auth middleware) + telemetry 2026-04-19 05:21:09 -04:00
lib.rs P10.5: scoped Meilisearch key rotation with multi-pod coordination 2026-04-20 07:33:29 -04:00
main.rs P5.5 §13.5: Complete two-phase settings broadcast + drift reconciler 2026-05-22 23:23:09 -04:00
middleware.rs P5.5 §13.5: Complete two-phase settings broadcast + drift reconciler 2026-05-22 23:23:09 -04:00
otel.rs P7.6: Implement OpenTelemetry tracing (disabled by default) 2026-04-19 10:15:39 -04:00
scoped_key_rotation.rs P3: Task Registry + Persistence — 14-table SQLite schema, Redis mirror, Helm validation 2026-04-24 15:50:20 -04:00