Skip to content

Phase 0: finish service discovery guardrails#325

Merged
kacy merged 11 commits intomainfrom
phase0-bridge-fault-mode-visibility
Mar 26, 2026
Merged

Phase 0: finish service discovery guardrails#325
kacy merged 11 commits intomainfrom
phase0-bridge-fault-mode-visibility

Conversation

@kacy
Copy link
Copy Markdown
Owner

@kacy kacy commented Mar 26, 2026

Summary

  • finish the Phase 0 service discovery guardrail stack on one branch instead of opening more micro-PRs
  • centralize the remaining legacy service discovery write path behind the bridge while keeping rollout behavior shadow-only
  • add and expose fault harnesses for bridge mismatches, eBPF map update failures, stale cluster lookups, DNS interceptor unavailability, and load balancer endpoint overflow
  • extend rollout status and Prometheus metrics so every Phase 0 flag, hard limit, fault mode, and injection counter is visible

Verification

  • env YOQ_SKIP_SLOW_TESTS=1 ZIG_GLOBAL_CACHE_DIR=.zig-global-cache ZIG_LOCAL_CACHE_DIR=.zig-local-cache timeout 30 zig build test -- --test-filter "route handles /v1/status?mode=service_rollout GET|handleMetricsPrometheus exposes service rollout metrics" timed out after 30s with no emitted failures
  • env YOQ_SKIP_SLOW_TESTS=1 ZIG_GLOBAL_CACHE_DIR=.zig-global-cache ZIG_LOCAL_CACHE_DIR=.zig-local-cache timeout 30 zig build test -- --test-filter "userspace dns still resolves when dns interceptor is unavailable|userspace dns still resolves when load balancer add overflows" timed out after 30s with no emitted failures

Scope note

The remaining restart, node-loss, and full rebuild verification from the plan depends on the canonical registry and reconciler work in later phases. This PR closes the Phase 0 guardrail and observability groundwork so that those later phases have one visible, fault-injectable shadow path to build on.

@kacy kacy merged commit 499e2ea into main Mar 26, 2026
6 of 7 checks passed
@kacy kacy deleted the phase0-bridge-fault-mode-visibility branch March 26, 2026 18:32
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