CryoInTheCloud / hub-image

Default image for NASA's cryocloud hub
BSD 3-Clause "New" or "Revised" License
7 stars 7 forks source link

Add image selector #37

Open tsnow03 opened 1 year ago

tsnow03 commented 1 year ago

We anticipate needing multiple images for the hackweeks and potentially machine learning users. We need to add an image selector capability. The ideal setup is to have one docker image per environment per repo.

We anticipate new users who will be using MATLAB at the March 24th onboarding training. We need to add the Jupyter MATLAB proxy and new MATLAB kernel (https://github.com/mathworks/jupyter-matlab-proxy/blob/main/src/jupyter_matlab_kernel/README.md) in a way that the user can bring their own license. We will start by doing this using the [NASA OpenScapes](https://github.com/NASA-Openscapes hub) model. We want to have these images for these kernels:

weiji14 commented 1 year ago

Ideas from the CryoCloud Pangeo talk that could help with the multi-environment issue:

Need to investigate if these newer options are viable, or if we go with a tried and tested multi Dockerfile method like https://github.com/pangeo-data/pangeo-docker-images (which is tested but hard to maintain).

Edit: Added some pros/cons from a quick superficial evaluation looking at the docs, and some advice from colleagues.

tsnow03 commented 1 year ago

Thanks @weiji14 for all of the ideas. I hadn't been aware anything but condastore. We chatted with @yuvipanda and decided to go with the current Openscapes hub model until other options can be tested and configured. It is inefficient but it works for now. I like the Condastore model as a potential future option. We can keep this on our task list even once this version is working.

I made updates to the original issue. I've combined the image and kernel selector issues, favoring using the image selector for our different kernels (one image per environment). I am aiming to have this working by Wed Mar 22rd at the latest so we can debut it for the March 24th FOGSS onboarding training.

tsnow03 commented 1 year ago

I created CryoCloud R image and Matlab image repos based on the Openscapes py-rocket and matlab repos. I updated the build workflow and test workflow in both to mostly match what we have in our hub-image build.yml. I'm not sure which of the other workflows need to be added. Docker images for both have built and posted to quay (quay repos built, robot adjusted, and secrets added to Github repos). I'm guessing the Dockerfiles don't work properly with this workflow and need to be integrated into the build.yml, but I haven't been able to look that up yet. @yuvipanda Is contacting 2i2c what I do to have the image selector deployed? Or is there something we do on our end?

Also, still needing a Julia image at some point, but that isn't a rush.

tsnow03 commented 1 year ago

The R and Matlab images work! I'm contacting 2i2c to build an image selector for us now.