Bug: jupyter server management is very brittle
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 45
- Forks
- 6
- Avg merge
- 7h 14m
- Merged PRs (30d)
- 51
Description
The initial management of jupyter servers in
branch: dev/jlewi/jupyter
commit: c1b5319f799107f268a922707cf7de9bed10e95a
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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the referenced design in #63 and commit c1b5319f799107f268a922707cf7de9bed10e95a on dev/jlewi/jupyter, then trace the token and configuration flow through .runme-agent/jupyter. Compare the listed Jupyter server alternatives with the proposed OIDC IdentityProvider/Authorizer direction; the issue does not define a concrete implementation or completion test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter, typescript
- Domain
- authentication, backend
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100