Skip to content

Add filter that computes health check response based on upstream cluster status #2362

@brian-pane

Description

@brian-pane

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.

Metadata

Metadata

Assignees

Labels

enhancementFeature requests. Not bugs or questions.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions