-
Notifications
You must be signed in to change notification settings - Fork 6
Bug: jupyter server management is very brittle #151
Description
The initial management of jupyter servers in
branch: dev/jlewi/jupyter
commit: c1b5319
Is very brittle. The issue is we rely on token auth between the runme server and the jupyter server. The runme server then maintains a cache of the tokens/jupyter server configuration e.g. port. When starting jupyter server we need to write a .json file to the .runme-agent/jupyter directory.
There is all kinds of brittleness in this initial design. A lot of the issues go back to the double hop
runme -> jupyter_server -> ipykernel.
This was discussed in the original design in #63.
Some options are
- Get rid of jupyter_server and reimplement websockets -> zmq inside runme.
- Get rid of runme and talk to jupyter_server directly
Could we use OIDC with Jupyter server?
https://jupyter-server.readthedocs.io/en/latest/operators/security.html#authentication-and-authorization
I think we'd need an IdentityProvider/Authorizer plugin to validate the JWT and authorize users based on it.