Description
Bug description
It seems like a common case for singleluser.extraFiles would be to load configuration files for JupyterHub and related extensions. For instance, I'd like to use this to provide a pre-configured config.json for the jupyter-ai extension, which lives in $XDG_HOME/jupyter/jupyter_ai
.
However, setting this with something like:
singleuser:
extraFiles:
jupyter_ai_config.json:
mountPath: "/opt/share/jupyter/jupyter_ai/config.json"
data:
model_provider_id: "openai-chat-custom:llama3"
makes the hub fail to launch any image, due to a permissions error introduced on jupyter/runtime
, which is found in the parent folder. This seems to be a known issue, (though I didn't see this side-effect documented in the docs).
(Maybe this counts as a feature request rather than a bug, but because a seemingly valid use of the documented option for extraFiles leads to the hub not even launching it feels more like a bug).
How to reproduce
add config listed above to jupyterhub values.yaml and deploy
Expected behaviour
jupyter-ai extension, if installed on the image, has the provided config. Ideally the file itself is read-write permissions to the jupyter user, though read-only would be okay to.
Actual behaviour
JupyterHub fails to launch pod, kubectl logs show pod gets stuck on a permission error on jupyter/runtime
Your personal set up
https://github.com/boettiger-lab/k8s/blob/main/jupyterhub/thelio-config.yaml