Closed manics closed 4 weeks ago
it's not part of the schema so won't appear in the generated chart documentation
Can we add a couple of fields to the schema in hub.config that have significant consequences (with additional_properties: true
)?
It probably makes sense to have a prose docs section on enabling this and the consequences.
Can you think of an easy test we can add?
If we just want a really simple test, I think we can start a cluster with subdomains enabled and make some requests to the cluster ip setting the Host header to the expected domain, e.g.
# server_url from hub api will have the user's domain in it when subdomains are enabled
# server_url = "http://user.subdomain:port/user/name"
user_host = urlparse(server_url).netloc
user_path = urlparse(server_url).path
requests.get(f"http://{proxy_ip}:{port}{path}", headers={"Host": user_host})
Or if we can expose a localhost port to the service, we could use *.localhost.jovyan.org
like we do in the jupyterhub subdomain tests.
Thanks for the suggestion- I've added a test using the Host
header.
No, I think this is good enough!
The JupyterHub v5 upgrade doc says
which sounds like a strong recommendation. This is not currently supported by Z2JH as CHP needs the
--host-routing
flag. Since CHP is not managed by JupyterHub this isn't automatically configured https://github.com/jupyterhub/jupyterhub/blob/ab43f6beb8571e2b831801089d61144b15951b85/jupyterhub/proxy.py#L738-L739https://discourse.jupyter.org/t/user-subdomains-oauth-state-missing/29328/4
The main downsides of using
hub.config.subdomain_host
as the condition instead of a dedicated parameter such ashub.subdomainHost
(analogous tohub.baseUrl
qhich also requires configuring multiple chart manifests) are it's not part of the schema so won't appear in the generated chart documentation, and it also adds dependencies across manifests withhub.config
which I don't think we have, so this increases the maintenance complexity.