Skip to content

Moving from BinderHub to Zero-to-JupyterHub #426

@sgibson91

Description

@sgibson91

Summary

A BinderHub isn't the most useful platform for a research community - it generally lacks persistence (although you can rectify this by deploying the persistent_binderhub helm chart) and configuring safe git push/pull to any kind of repository is clunky.

A lot of work has been going on in the z2jh-k8s helm chart by 2i2c and other parties to make this a useful platform for research purposes.

Must-Have Features

Nice-to-Have Features

Future Features

These features are still under active development and are not yet recommended for production deployment. But when they are, they'll be super awesome!

TODOs

  1. Tear down Hub23 the BinderHub
  2. Deploy Hub23 the JupyterHub

Tearing down the BinderHub

  • Documentation to achieve this is available here and here
  • Hub23 and the Binder Federation deployment share the same cluster, so we may not want to totally delete the cluster... Or maybe we do and want to redeploy into the uksouth location while we have the opportunity. Up to you!

Clearing out the repo

Files we won't need (or will be creating new ones for JupyterHub):

  • Everything under the deploy/ folder
  • Everything under the hub23-chart/ folder (we should create a new local helm chart that has ingress-nginx, grafana and prometheus dependencies for monitoring)
  • .az-pipelines/cd.yaml will need rewriting and temporarily disabling until we have the new deployment set up
  • Disable .github/workflows/bump-helm-version.yaml
    • If we end up with a new local helm chart, we can reenable this
  • We should probably rewrite the admin docs under the docs/ folder as we go too

Setting up the new JupyterHub

Next Steps

  • Start enabling the features listed at the top of this issue!
    • Some of them will require editing config at the helm chart level, other things are just making sure the packages are installed in the hub environment and providing docs
  • Start promoting the hub in the Turing community, what it can do, and why it's useful
  • Teach people how to use nbgitpuller to sync git repositories to the JupyterHub

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions