usegalaxy-eu / infrastructure

All of Galaxyproject EU's cloud infrastructure.
8 stars 25 forks source link

Modify GxIT URL for eu subdomains #67

Open yvanlebras opened 3 years ago

yvanlebras commented 3 years ago

Hi eu team!

Hope all is ok for you. Is it possible to modify a GxIT URL like https://c0f1771e21d7ee60-83b672c1b14a476180d38bdedbe5360c.interactivetoolentrypoint.interactivetool.ecology.usegalaxy.eu/sample-apps/SIG/ coming from subdomains to point for example https://c0f1771e21d7ee60-83b672c1b14a476180d38bdedbe5360c.interactivetoolentrypoint.interactivetool.usegalaxy.eu/sample-apps/SIG/ non subdomains oriented URL ? This will allow direct display of GxIT content instead of having an intermediate step related to security and https

hexylena commented 3 years ago

The better solution is to use the path-based proxying that was added recently in Galaxy (giving more parity with the original GIEs).

If you can get your IT working with path-based proxying then, it won't be an issue, and it's easier for admins everywhere :) Currently the DNS based proxying is more or less impossible for most admins :(

yvanlebras commented 3 years ago

whowho, thank you Helena, so if I understand, we can manage it on the GxIT side ? Do you have an example just to be sure to understand ?

THANK YOU §!!! And have a wonderfull day !!

hexylena commented 3 years ago

No, unfortunately dan didn't provide any examples or documentation :(

https://github.com/galaxyproject/galaxy/pull/8596/files is the PR, I think you need to set requires_domain=False in your XML to start.

the interactivetools_prefix needs to be set (doesn't much matter)

entry_point_prefix = self.app.config.interactivetools_prefix

then it will generate a URL like:

rval = self.app.url_for(f'/{entry_point_prefix}/access/{entry_point_class}/{entry_point_encoded_id}/{entry_point.token}/')

but I'm not sure how this is communicated to the container, or if it is. If it is not, we need to do so, and then the container needs to know how to proxy this (some examples are around, I can help here.)

If you can test the first part (set requires_domain=false) and provide to me the environment variables passed into the container, I can help update your container.