This is a customised version of the Jupyter Hub image.
Inheritance
This container image inherits from the quay.io/jupyterhub/k8s-hub:3.2.1 image and extends it to include the Analytics Workspace Management Libraries integrated.
Extension
The following files are updated:
custom_templates
These custom templates change how screens are displayed to the user
File | Description |
---|---|
form.html | Customises how the form is rendered for users to select a workspace or image |
page.html | Customises the overall layout and design for the jupyter hub home page |
spawn.html | Customises the layout for the spawner page |
jupyterhub_config.d
This folder customises the python executed by jupyterhub to include our changes for jupyter hubs logic.
WorkspaceManager Class
The new workspace manager class is introduced to make it easier to manage interactions with the customised logic of jupyter.
This allows us to choose a number of different paths depending on what feature flags are activated on the environmental variables, changing the flow called by the solution while keeping it relatively the same.
TODO: This relates to some functionality and features which are supported by much older iterations of the solution but are not current. These should be reworked and removed.
Environmental Variables
The following environmental variables are exposed by the docker image:
Name | Purpose | Default |
---|---|---|
WORKSPACE_MANAGER | Feature flag defining which workspace manager to use. At present the only acceptable value is lscsde | lscsde |
DEFAULT_STORAGE_CLASS | The name of the StorageClass to use to provision storage relating to workspaces | jupyter-default |
DEFAULT_STORAGE_ACCESS_MODES | The default StorageAccessMode to assign to storage | ReadWriteMany |
DEFAULT_STORAGE_CAPACITY | The default storage to assign to new persistent volume claims | 10Gi |
KS_START_TIMEOUT | The kubespawner start timeout | 900 |