Description:
Add a new HTTP filter that responds to incoming health checks (e.g., from a load balancer in front of Envoy) with a 200 if and only if at least X% of the servers in each of a specified list of upstream clusters are healthy.
Motivation:
This will be useful in situations where a cluster is starting up (or restarting). For example, if an application cluster contains 1,000 hosts, but only a few of those hosts have finished initializing, one might not want the Envoy proxy in front of that cluster to start accepting traffic yet.
Notes:
- I see this proposed new filter as being separate from the existing caching health filter, since they'd work in fundamentally different ways.
- I'm willing to contribute an implementation of this new filter.