Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make binderhub helm chart not depend on jupyterhub #1941

Draft
wants to merge 310 commits into
base: main
Choose a base branch
from

Conversation

yuvipanda
Copy link
Collaborator

@yuvipanda yuvipanda commented Mar 7, 2025

This is a WIP implementation of the proposal that I spoke about with @minrk a while back, and outlined in #1862 (comment).

It basically gets rid of the existing helm chart in this repo which embeds jupyterhub into it, causing all sorts of issues due to the inheritance. We instead want the charts to be composable, so it can be deployed more easily in many different places. This binderhub-service chart was developed thanks to support from GESIS (ty @arnim), and I've merged it in here while preserving all the git history.

I've worked on migrating one of the mybinder.org federation members to using this chart to make sure it works, and 2i2c-bare.mybinder.org now successfully runs on this chart! See jupyterhub/mybinder.org-deploy#3248 for the changes needed

I wanted to work on #1940 as well as using kubernetes buildx support for distributed building, and wanted to unify the helm charts before I do so.

TODO

  • Rename chart from binderhub-service to binderhub
  • Handle the imageCleaner situation
  • Get all tests to pass
  • Update all the existing deployment documentation to take into account how this should work now
  • Figure out a plan forward for BinderHubSpawnerMixin #jupyterhub > Future of binderhub_mixin.py in binderhub
  • Announce this change, along with the last version of the old chart

GeorgianaElena and others added 30 commits July 7, 2023 07:45
Update library/docker version from 24.0.2-dind to 24.0.3-dind
binderhub-service image: refreeze requirements.txt
Add ability to pass docker config and included registry credentials to build pods' docker clients, test builds and pushes, and add dockerApi.[extraArgs|extraFiles] to help testing
bugfix: add docker config secret to the deployment to be mounted
…eploy

Revert "bugfix: add docker config secret to the deployment to be mounted"
bugfix: fix docker config secret's name used in config
Set the BUILD_NAMESPACE env var to be used by KubernetesBuildExecutor
updates:
- [github.com/asottile/pyupgrade: v3.8.0 → v3.10.1](asottile/pyupgrade@v3.8.0...v3.10.1)
- [github.com/psf/black: 23.3.0 → 23.7.0](psf/black@23.3.0...23.7.0)
- [github.com/pre-commit/mirrors-prettier: v3.0.0-alpha.9-for-vscode → v3.0.0](pre-commit/mirrors-prettier@v3.0.0-alpha.9-for-vscode...v3.0.0)
- [github.com/PyCQA/flake8: 6.0.0 → 6.1.0](PyCQA/flake8@6.0.0...6.1.0)
…onfig

[pre-commit.ci] pre-commit autoupdate
pre-commit-ci bot and others added 16 commits February 3, 2025 20:58
updates:
- [github.com/asottile/pyupgrade: v3.17.0 → v3.19.1](asottile/pyupgrade@v3.17.0...v3.19.1)
- [github.com/psf/black: 24.8.0 → 25.1.0](psf/black@24.8.0...25.1.0)
- [github.com/pycqa/isort: 5.13.2 → 6.0.0](PyCQA/isort@5.13.2...6.0.0)
…config

[pre-commit.ci] pre-commit autoupdate
…ents

binderhub-service image: refreeze requirements.txt
…cies

Update library/docker version from 27.0.3-dind to 27.5.1-dind
updates:
- [github.com/pycqa/isort: 6.0.0 → 6.0.1](PyCQA/isort@6.0.0...6.0.1)
- [github.com/PyCQA/flake8: 7.1.1 → 7.1.2](PyCQA/flake8@7.1.1...7.1.2)
…config

[pre-commit.ci] pre-commit autoupdate
…ents

binderhub-service image: refreeze requirements.txt
Allow setting extraVolumes and extraVolumeMounts
@yuvipanda
Copy link
Collaborator Author

Opened a topic to discuss paths forward for the spawner mixin: #jupyterhub > Future of binderhub_mixin.py in binderhub

yuvipanda added a commit to yuvipanda/mybinder.org-deploy that referenced this pull request Mar 8, 2025
As part of jupyterhub/binderhub#1941,
I want to not port imageCleaner to the new chart. Since the
image store is not really used to push anymore (since
jupyterhub/repo2docker#1421) and we will
be able to disregard it completely in the future, we can simply
just prune the entire image store than do any complex logic here.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants