Description
Hi 👋
This issue was discussed a few years back (#7626 in 2016) but since then things have changed.
With the jump in adoption of systems like Kubernetes/... it seems that the way that Health Indicators operate should be revisited (an example of this is the new health indicator groups feature to support different probes (liveness and readiness) but imo this is still not enough.)
I would like to suggest another change which is the ability to specify if the status of a specific health indicator should affect the overall health check.
This is already being done by some implementations, one of the most high profile ones being the Hystrix health indicator, where when a circuit breaker is open the health endpoint still returns a 200 "UP".
Having the ability to specify this behaviour would allow us to report the status of dependent systems and why they are failing (withDetails, withException) without actually forcing the overall health status to fail.
It would also make the usage less ambiguous and less error prone. For eg: the Hystrix and the Resilience4j health indicators have opposite behaviours when dealing with failures: one results in a 200 UP and the other in a 503 DOWN.
I'm not sure if this could be done with a condition like management.health.foo.some-name-here
or if it would have to be manually configured for each of the indicators included in the spring-boot-actuator, but I believe this is the right time to discuss if this change has merit.