You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Health-check load balancer backends and drop unhealthy ones from the Maglev table #704
datum-cloud/enhancements#884 requires the load balancer to spread traffic across active, healthy endpoints. Today a NetworkRule's backend list is static. When a backend dies, it keeps its slot in the Maglev table and every flow hashed to it fails until someone edits the rule.
The constraint: every gateway node must build the same Maglev table, or a flow that moves between nodes lands on a different backend. Health can't be decided locally on each node. The healthy set has to be shared state that every node reads.
Acceptance criteria
A short design doc covers: who probes (each gateway node, one per region, or the backend's own node), what the probe is (TCP connect, UDP), where the result lives (rule status or a new CR), and how flapping is damped
Unhealthy backends are removed from the input to the Maglev table on every gateway node, and restored when they recover
Activity
feat(gateway): Report whether a NetworkService serves on the rule itself
feat(gateway): Roll gateway node status up into NetworkService condit…
feat(gateway): Report if a rule serves traffic
feat(gateway): Report if a rule serves traffic