Add support for Jupyter in GitLab via Kubernetes
Why?
So people like data scientist can work with GitLab
Concept
The feature concept still needs to be defined. Can possibly be done with JupyterHub (Multi-user server for Jupyter notebooks).
Proposal
Initial MVC:
- Button to deploy JupyterHub deploys JupyterLab (their new version)
- Should work with deployed Ingress
- Add simple LE annotations (So it works when we add LE: https://gitlab.com/gitlab-org/gitlab-ce/issues/40635)
- We work with the Jupyter team to be part of their 1.0 launch /cc @eliran.mesika
Next (each a separate item ranked by priority)
- It automatically installs a fork of jupyterlab-github that works with GitLab, so you can browse your GitLab repo's
- Create our own default JupyterLab container, pre-packaged with common dependencies
- Pre-configured OAuth with GitLab
Later:
- Improved diff/merge for notebooks: https://github.com/jupyter/nbdime
- Either add support for passing group info via OAuth, like GitHub does (https://gitlab.com/gitlab-org/gitlab-ce/issues/45274)
- Or implement whitelist/adminlist
Related links
- https://www.theatlantic.com/science/archive/2018/04/the-scientific-paper-is-obsolete/556676/?single_page=true
- https://gist.github.com/martijnvermaat/6926070
- https://gitlab.com/gitlab-org/gitlab-ce/issues/2508
- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10017
- https://gitlab.com/gitlab-org/gitlab-ce/issues/32784 Rich output rendering
- https://jupyterhub.readthedocs.io/en/latest/
- https://github.com/jupyterhub/kubespawner
- https://github.com/jupyterhub/zero-to-jupyterhub-k8s
Test instance
I set up a temporary JupyterHub instance at http://146.148.61.168/. Login with any username and any password. Once login you can start a personal server with Jupyter running. By following UI you can create and manage different documents there.
Edited by Joshua Lambert