Replacement for UserCreatingSpawner (a simple extension of SystemdSpawner) - The Littlest JupyterHub's default spawner
c.JupyterHub.spawner_class = 'cdsdashboards.hubextension.spawners.variableusercreating.VariableUserCreatingSpawner'
c.SystemdSpawner.unit_name_template = 'jupyter-{USERNAME}{DASHSERVERNAME}'
c.JupyterHub.allow_named_servers = True
# Provide selector with known sudo environments
# WARNING: if below .allow_custom_conda_env is also activated,
# and the user forgets to pick an environment from selector,
# the dashboard fallbacks to 'base' env instead of the first name in the list!
# GOOD: use .conda_envs as the only option as long as no explicit request for user envs hit
#c.CDSDashboardsConfig.conda_envs = ['default', '']
# Allow typing custom user environment names
# IDEA: swtch on .allow_custom_conda_env only upon the first request for such feature
c.CDSDashboardsConfig.allow_custom_conda_env = True
c.CDSDashboardsConfig.builder_class = 'cdsdashboards.builder.processbuilder.ProcessBuilder'
#from cdsdashboards.app import CDS_TEMPLATE_PATHS
from cdsdashboards.app import CDS_TEMPLATE_PATHS_RESTRICTED
from cdsdashboards.hubextension import cds_extra_handlers
#c.JupyterHub.template_paths = CDS_TEMPLATE_PATHS
c.JupyterHub.template_paths = CDS_TEMPLATE_PATHS_RESTRICTED
c.JupyterHub.extra_handlers = cds_extra_handlers
# Restrict which Users can Spawn Servers and Dashboards
#c.CDSDashboardsConfig.spawn_allow_group = 'canSpawnServersAndDashboards'
c.CDSDashboardsConfig.spawn_block_group = 'noServersButCanViewDashboards'
# Default behavior to start off
c.JupyterHub.redirect_to_server = False
c.JupyterHub.default_url = '/hub/home-cds'
# Re-arrange Presentation Frameworks in selector and exclude:
# a) slows down Jupyter Server: 'panel'
# b) non-operational ones: 'bokeh', 'rshiny'
c.CDSDashboardsConfig.presentation_types = ['voila', 'streamlit', 'plotlydash']
# DEBUG: uncomment to see more info is something is failing
c.JupyterHub.log_level = 'DEBUG'
c.Spawner.debug = True
# c.KubeSpawner.debug = True
c.LocalProcessSpawner.debug = True
Describe the bug
Voila dashboard on any env other than the unspecified ‘Default / None’ times out without any traefik errors.
NOTE: plotlydash and streamlit dashboards do render with any custom env.
To Reproduce
1) TLJH install with Voila 3.* 2)
/opt/tljh/config/jupyterhub_config.d/cdsdashboards.py
withc.CDSDashboardsConfig.allow_custom_conda_env = True
Screenshots
1) ‘Default / None’. i.e. base env
2) any custom env
Configuration
TLJH, JupyterHub 1.5.1
/opt/tljh/config/jupyterhub_config.d/cdsdashboards.py
`
Replacement for UserCreatingSpawner (a simple extension of SystemdSpawner) - The Littlest JupyterHub's default spawner
`