-
Notifications
You must be signed in to change notification settings - Fork 41.2k
Update Health Information documentation to reflect simplification and split of health and status #10863
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
The "HTTP Health Endpoint Format and Access Restrictions" section needs to be updated as well. |
Could we maybe think about explicit migration guide for hypermedia users (if you were using the "/links" endpoint before, it should work as follows...)? Also what about keeping /health as the "status only" endpoint. And putting it in the root context by default? A lot of existing systems probably rely on that behaviour (e.g. ones using k8s). At least some explicit documentation in the migration guide about what to do in such systems would be useful. (Maybe they can just set the actuator context path to "/"?) |
I understand the rationale behind the changes, but IMO the need to maintain backwards compatibility outweighs all of that. Instead, I would prefer to see a simple and well-documented way for users to customize the mappings beyond just the context path. I also understand the rationale behind avoiding conflicts with other root-level mappings, but as developers increasingly build microservice apps with a smaller surface area of exposed endpoints (an extreme case being a Spring Cloud Function app that exposes only a single Function), it seems like an unnecessary burden to those developers since the collisions are not a concern for their apps. |
Nobody discussed |
To help people read the context for the move from The following might belong in the migration issue (#10313), but the discussion seems to have started here so let's carry on here for now at least. As things stand, the minimal configuration to get high-level health information available at
This will also give you the info endpoint available at
If you want the detailed health information to be available at
This will also give you the status and info endpoints available at
Whichever default we go for, it's going to be a burden for someone. We need to decide who should shoulder that burden. Previously, we've leaned towards the possibility of clashes as being the problem to avoid by default. Perhaps that should be outweighed by a desire to keep the endpoints at the root. If we did move the endpoints to the root, we still wouldn't offer
A problem with If we could come up with a better name than |
First, this is not true. For an existing user with no collisions, not changing the current mappings would not introduce any new burden. Second, IMO the "Spring way" to decide such a tradeoff should always give more weight to backwards compatibility. |
Fair enough, "someone" is probably an overstatement. An additional burden (that I didn't mention above) which influenced the decision made in #6886 was configuring security. Having all of the actuator's endpoints available beneath a single, separate location makes securing them much easier. However, things have moved on in this regard since #6886 was considered. The new
Agreed, and I think we did that when we made the decisions that we did. Perhaps what we didn't do, but should have, is reconsider the weight that we gave to other things. For example, when |
@wilkinsona I am not sure if there's much we have to do for this one. I had a look to the doc and it has been updated already. |
We need to remove this section. |
No description provided.
The text was updated successfully, but these errors were encountered: