router icon indicating copy to clipboard operation
router copied to clipboard

Coprocessor health check as part of overall router health

Open lleadbet opened this issue 1 year ago • 1 comments

Is your feature request related to a problem? Please describe.

The router currently fails closed if the coprocessor is unavailable/erroring/etc, which leads to situations where a router may be marked as healthy by it's own health check, but not by clients.

Describe the solution you'd like

Ideally coprocessors, when enabled, are used when calculating the overall health of the router. As an example shape of a possible config:

coprocessor:
  url: http://localhost:3000/
  healthcheck:
    enabled: true
    endpoint: "/health"

Which would use a user-defined health endpoint for the coprocessor.

Describe alternatives you've considered

Moving all health checks into the coprocessor instead, when running in a sidecar model (i.e. router and coprocessor exist in the same Kubernetes pod).

lleadbet avatar Mar 27 '24 19:03 lleadbet

Indeed is running into issues with deployment/startup due to Router's lack of consideration of coprocessor health before indicating ready for traffic {health_check.path}?ready

Specifically NOT for kubernetes ingress traffic, but to prevent mesh traffic from being routed to a router whose coprocessor has not yet completed starting up.

theJC avatar Apr 15 '25 21:04 theJC