Hi folks,
I’m a bit lost trying to understand how extraConfig is passed to the JupyterHub configuration when deployed on Kubernetes.
Here’s my setup:
JupyterHub is deployed on an on-premises Kubernetes cluster using ArgoCD. I’m using the official Helm chart: jupyterhub 3.3.8 · jupyterhub/jupyterhub
I was experimenting with the hub.extraConfig section in my config.yaml, then decided to remove it completely. After that, I redeployed JupyterHub several times. However, I still see the following line in the JupyterHub pod logs:
Loading extra config: foo.py
Then the pod crashes because the module imported in that config can’t be found.
What I don’t fully understand is how extraConfig is actually passed from the Helm values file into the running hub configuration. I couldn’t find any ConfigMap or other resource where that script is stored. The main hub ConfigMap seems to contain a piece of code like this:
for key, config_py in sorted(get_config("hub.extraConfig", {}).items()):
print(f"Loading extra config: {key}")
exec(config_py)
But where exactly is it coming from?
Any help or pointers would be appreciated. Thanks!