Description
Description
As a follow up to: #39561
Current implementation
Swagger is bound to the management interface. This means, when you change quarkus.management.port
, swagger-ui will follow suit.
Problem statement
In our environment, it is required that we bind our health check endpoints to HTTP and our application API to HTTPS. One application will deploy to multiple clusters and the URLs are not known at build time, and are only known during our CD process (workaround below).
Once quarkus.management.port
is set and swagger-ui is bound to this new port, it is unable to execute the applications APIs through the swagger interface, as they would be hitting the HTTP endpoints that do not exist. As mentioned in the linked issue, workarounds exist but I think perhaps we need to reconsider how we're classifying swagger-ui.
Work arounds
In the issue I mentioned above, I've managed a workaround by injecting an environment variable into the pod only after I've determine the OpenShift route URL. The workaround teeters on a "hacky" solution, and ultimately introduces more maintenance and complexity in our pipelines.
Proposed enhancement
Similar to Spring Boot, swagger should remain with the base application API and not be bound to the management interface. In it's current state, any change to the management interface fundamentally breaks swagger-ui unless further configuration is defined, and or introducing more complexity to the deployment process.
Implementation ideas
No response