UC Berkeley JupyterHubs
Each hub has a directory under deployments/ where all configuration for that particular hub is stored in a standard format. For example, all the configuration for the primary hub used on campus (datahub) is stored under deployments/datahub/.
deployments/
deployments/datahub/
image/
The contents of the image/ directory determine the environment provided to the user. For example, it controls:
Versions of Python / R / Julia available
Libraries installed, and which versions of those are installed
Specific config for Jupyter Notebook or IPython
repo2docker is used to build the actual user image, so you can use any of the supported config files to customize the image as you wish.
config/
secrets/
All our JupyterHubs are based on Zero to JupyterHub (z2jh). z2jh uses configuration files in YAML format to specify exactly how the hub is configured. For example, it controls:
RAM available per user
Admin user lists
User storage information
Per-class & Per-user RAM overrides (when classes or individuals need more RAM)
Authentication secret keys
These files are split between files that are visible to everyone (config/) and files that are visible only to a select few illuminati (secrets/). To get access to the secret files, please consult the illuminati.
Files are further split into:
common.yaml - Configuration common to staging and production instances of this hub. Most config should be here.
common.yaml
staging.yaml - Configuration specific to the staging instance of the hub.
staging.yaml
prod.yaml - Configuration specific to the production instance of the hub.
prod.yaml
hubploy.yaml
We use hubploy to deploy our hubs in a repeatable fashion. hubploy.yaml contains information required for hubploy to work - such as cluster name, region, provider, etc.
Various secret keys used to authenticate to cloud providers are kept under secrets/ and referred to from hubploy.yaml.
Documentation is under the docs/ folder, and is generated with the sphinx project. It is written with the reStructuredText (rst) format. Documentation is automatically published to https://ucb-jupyterhubs.readthedocs.io/.
docs/