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

Launch Podman images on JupyterHub #7

Open
4 tasks
kmpaul opened this issue Jul 12, 2022 · 0 comments
Open
4 tasks

Launch Podman images on JupyterHub #7

kmpaul opened this issue Jul 12, 2022 · 0 comments

Comments

@kmpaul
Copy link
Contributor

kmpaul commented Jul 12, 2022

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 hidden profiles.
  • Verify that the hidden profiles do not display on the ProfilesSpawner webpage, but can be selected with direct form submission to said web page (e.g., with a curl command).
  • Configure a hidden profile 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.

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

No branches or pull requests

1 participant