Skip to content

Conversation

@phoevos
Copy link
Member

@phoevos phoevos commented Mar 19, 2025

Expose CogStack ModelServe instances (services listening on port 8000) as subpaths through the proxy, alleviating the need to hardcode host port mappings in the client applications. Instead, requests to /cms/<service> are forwarded to <service>:8000 internally using the Docker DNS resolver. This also allows us to access user-deployed CMS instances through the proxy without any configuration changes.

The rest of the services included in the stack (e.g. Grafana, MLflow) are still available through their respective host port mappings. Even though efforts were made to integrate them as subpaths, they are not fully supported at this stage. More specifically, while accessing exact paths through their APIs might be possible, accessing their web interfaces when using subpaths is problematic, due to the way these external services handle redirects. Even though we employ certain heuristics to rewrite local URLs we can't account for all possible cases, e.g. local paths in HTML responses. This is a known limitation that should be addressed in future iterations.

Expose CogStack ModelServe instances (services listening on port 8000)
as subpaths through the proxy, alleviating the need to hardcode host
port mappings in the client applications. Instead, requests to
`/cms/<service>` are forwarded to `<service>:8000` internally using the
Docker DNS resolver. This also allows us to access user-deployed CMS
instances through the proxy without any configuration changes.

The rest of the services included in the stack (e.g. Grafana, MLflow)
are still available through their respective host port mappings. Even
though efforts were made to integrate them as subpaths, they are not
fully supported at this stage. More specifically, while accessing
exact paths through their APIs might be possible, accessing their web
interfaces when using subpaths is problematic, due to the way these
external services handle redirects. Even though we employ certain
heuristics to rewrite local URLs we can't account for all possible
cases, e.g. local paths in HTML responses. This is a known limitation
that should be addressed in future iterations.

Signed-off-by: Phoevos Kalemkeris <phoevos.kalemkeris@ucl.ac.uk>
@phoevos phoevos added the enhancement New feature or request label Mar 19, 2025
@phoevos phoevos requested a review from baixiac March 19, 2025 15:48
Copy link
Member

@baixiac baixiac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@phoevos phoevos merged commit f0ca036 into master Mar 21, 2025
7 checks passed
@phoevos phoevos deleted the feature-phoevos-nginx-dynamic-routes branch March 21, 2025 15:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants