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
Right now it reports the health status per named service + a "default" service, which starts as Serving but can be updated later.
Kubernetes, for example, can subscribe only to one of them, and usually the "default" one is sufficient.
I.e., the default service is the thing that actually matters. That leads to different decisions how exactly to maintain it, especially in the case when you have multiple required services. I.e, when a failure of any of them means that the whole app is unhealthy. Ex. "App should be considered healthy when both Postgres and Kafka are connected".
Proposal
Add an optional list of required services (i.e., a Vec<String> internally) and check against it every other change to update the default status.
I may create a PR with an implementation of this feature, if the idea looks good. Please let me know.
The text was updated successfully, but these errors were encountered:
Feature Request
Crates
tonic-health
Motivation
Right now it reports the health status per named service + a "default" service, which starts as
Serving
but can be updated later.Kubernetes, for example, can subscribe only to one of them, and usually the "default" one is sufficient.
I.e., the default service is the thing that actually matters. That leads to different decisions how exactly to maintain it, especially in the case when you have multiple required services. I.e, when a failure of any of them means that the whole app is unhealthy. Ex. "App should be considered healthy when both Postgres and Kafka are connected".
Proposal
Add an optional list of required services (i.e., a
Vec<String>
internally) and check against it every other change to update the default status.I may create a PR with an implementation of this feature, if the idea looks good. Please let me know.
The text was updated successfully, but these errors were encountered: