-
Notifications
You must be signed in to change notification settings - Fork 1
Launch Podman images on JupyterHub #7
Description
Currently, after the Podman images are built, they should be pushed to the local registry and then launched on the JupyterHub. The pushing to the local registry is not working, and how to launch on the JupyterHub has not been devised. However, I have ideas.
Currently, only 1 Spawner can be assigned to any given JupyterHub. To make the JupyterHub user-facing with its own web page and web interface, this demonstration uses WrapSpawner's ProfilesSpawner to give the user options on how they want to launch their JupyterLab instance. The ProfilesSpawner allows you to define the options the user gets to select, which are presented to the user in a drop-down menu on the ProfilesSpawner page (after the user authenticates).
To make the ProfilesSpawner work with the BinderHub, one option might be to modify ProfilesSpawner such that a hidden option is in the drop-down menu. It would not display to a user visiting the page (because it would have the hidden CSS attribute), but it could be selected by submitting the right form data to the page, which is what the BinderHub would know how to do. (Hence, the BinderHub launch code would need to be modified, too.)
I believe the steps to implement this are:
- Create a modified ProfilesSpawner that allows
hiddenprofiles. - Verify that the
hiddenprofiles do not display on the ProfilesSpawner webpage, but can be selected with direct form submission to said web page (e.g., with acurlcommand). - Configure a
hiddenprofile on the JupyterHub that points to a BinderSpawner class. - Modify the BinderHub launch code to submit the approach form data to the ProfilesSpawner running on the JupyterHub to launch the BinderSpawner single-user instance (which launches the Podman image).
One might also consider an alternative to how to launch the Podman image. I might suggest that instead of using a BinderSpawner, one might use another BatchSpawner with different user options. This might actually launch the Podman image via the PBS queue, so all that would need to be configured is the PBS launch script with the appropriate podman command. ...I think.