values: simplify profile images to a single kubespawner_override.image#109
Open
aktech wants to merge 5 commits into
Open
values: simplify profile images to a single kubespawner_override.image#109aktech wants to merge 5 commits into
aktech wants to merge 5 commits into
Conversation
Add an image reference map and per-site precedence notes so it is clear which image launches each pod, how profile image overrides resolve, how the nebi binary image is derived, and which tags bump_image_tags.py syncs.
1762ed2 to
5126c2c
Compare
A profile's kubespawner_override.image already drives both the native JupyterHub spawn form (override precedence) and the jhub-apps image box (server-types reads kubespawner_override.image, ignores profile_options). The single-choice profile_options block only re-stated that image and rendered a useless one-item dropdown, so remove it and document the one field that matters.
Name the jupyterhub.custom.profiles key explicitly and state that the singleuser.image fallback applies only when that list is set to [].
Document each image where its value lives instead of a separate map block.
pmeier
reviewed
Jun 8, 2026
| # Nebi binary image. An init container copies the nebi binary from this image | ||
| # into each JupyterLab pod, so the version is controlled at deploy time | ||
| # rather than baked into the JupyterLab image. | ||
| # nebi binary image (init container copies the binary into lab pods), NOT |
Member
There was a problem hiding this comment.
Maybe not relevant here, but I still wanna ask: why does the lab image has a nebi baked in if we override it anyway?
| # Nebi binary image (repository:tag) copied into singleuser pods. | ||
| # If empty, derived as `<nebi.image.repository>:<nebi.image.tag>`. | ||
| # Override for the nebi binary image. Empty = derive from nebi.image. | ||
| nebi-image: "" |
Member
There was a problem hiding this comment.
Nit: Maybe make this jupyterhub.nebi.image.tag and jupyterhub.nebi.image.pullPolicy?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Documents and simplifies how the JupyterLab image is configured per profile.
Verified against jhub-apps (server-types.tsx + spawner_creation.py) and kubespawner override rules: a profile's
kubespawner_override.imagealready feeds both the native spawn form and the jhub-apps image box. The single-choiceprofile_options.imageblock only restated that image (and rendered a one-item dropdown jhub-apps ignores), so it is removed. Adds a short image reference map covering hub, lab, and nebi-binary images.