-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Configuration of non application endpoints #13144
Comments
Would be good to not only have the option of different port, but also different binding. |
@stianst, can you clarify what you mean by different binding? |
IP address binding, I assume. Typical server binding is |
Ah ok, so restricting to local address only. Makes sense |
@kenfinnigan I stumbled on this coming from #2450 and I was thinking about grabbing this one when I have some time. Probably adding the port and the binding would make it a little bit more complex, but I think that the same approach applies: Quarkus "natively" has this capability that,if not configured binds to the same IPs and ports as the application, but if configured generates a buildinfo telling all the extensions to bind to a given ip/port. Of course it would ensure that there is a server running on this ip/port. What do you think about it? Do you think it is the correct approach? Does that make sense at all? |
I'd gone back and forth in figuring this out over the last week. The solution I'm in the process of implementing is to modify the That then enables the Vert.x processor to create a separate Router for all those endpoints, which can be mounted at the appropriate route, or added to an entirely different server if binding or port is different. |
The following endpoints will be accessible under the new root for non-application endpoints:
What I'd like some feedback on is whether Swagger UI should also be on that list or not? As it's only available in dev or test without explicitly configuring otherwise, I'm not sure whether it should be moved to the same root as the others. |
I agree with this list, but I think that this is up to the extension developer to device. I would like to add my own extension (https://github.com/quarkiverse/quarkiverse-logging-ui) under this path. |
Didn't intend to imply it wouldn't, this is just an initial list of where I will be changing the extension to say "I'm a framework endpoint". It won't preclude any extension from saying it is part of it as well |
Created #13602 as a separate issue for implementing the local binding and port options. Anyone else is welcome to take that on |
- Fixes quarkusio#13144 - OpenAPI, Metrics, Micrometer, Health, Health UI endpoints are all now served under /q by default - Previous behavior can be attained by setting `quarkus.http.framework-root-path` to `/` Subsequent issue will be created for handling port and binding changes for non application endpoints
- Fixes quarkusio#13144 - OpenAPI, Metrics, Micrometer, Health, Health UI endpoints are all now served under /q by default - Previous behavior can be attained by setting `quarkus.http.framework-root-path` to `/` Subsequent issue will be created for handling port and binding changes for non application endpoints
- Fixes quarkusio#13144 - OpenAPI, Metrics, Micrometer, Health, Health UI endpoints are all now served under /q by default - Previous behavior can be attained by setting `quarkus.http.framework-root-path` to `/` Subsequent issue will be created for handling port and binding changes for non application endpoints
- Fixes quarkusio#13144 - OpenAPI, Metrics, Micrometer, Health, Health UI endpoints are all now served under /q by default - Previous behavior can be attained by setting `quarkus.http.framework-root-path` to `/` Subsequent issue will be created for handling port and binding changes for non application endpoints
Description
Combines #7893 and #2450 to enable the full configuration of non-application endpoints such as
/metrics
and/health
.Implementation ideas
By default, all non-application endpoints will be placed under a
/q
URL path. Creating/q/health
, etc.There will be configuration to enable the removal of the prefix from the path, reverting to current behavior.
Another piece of configuration will be present to indicate the non-application endpoints should be available on a separate port to the main application endpoints. By default, they will be on the same port as the main application endpoints.
A possibility is having a
BuildItem
around the current one for Vert.x Routes that can include a flag as to whether it should be present on the non-application endpoint. Extensions can offer configuration to disable it from being included if they prefer it to be present with application endpoints.The text was updated successfully, but these errors were encountered: