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.
Base stack container on python3.12 and get the stack from
lsstinstall
. Run user terminals and the LSST kernel in the DM Stack context, but Jupyterlab in its own venv (probably overkill, we could put all this stuff in the system python, but, you know, why not do it cleanly (well, an answer would be, we can't, apparently, hide the venv python the way we can the system one...) ?)Also: refactor a lot of the build and runtime process.
In general, Phalanx-but-not-DM-specific things are moving under
/usr/local/share/jupyterlab
rather than/opt/lsst/software
. Then we have to add a compatibility layer so we can spawn old and new Lab containers from the same Nublado, but we could eventually use that when existing ones age out.We almost certainly can pare down the Jupyterlab Python environment farther, and I may have overdone it with the moving to
/usr/local/share/jupyterlab
because some of these things, like the custom logging addenda in20-logging.py
are really RSP-specific.There's actually quite a lot more to think about here in terms of organization. For example, the Hub menu interaction that goes through Gafaelfawr as well is generic to Phalanx (but not generic-to-world). But the "Rubin" firefly menu thing is obviously RSP-specific, as is displaying the image tag in the bottom frame. So we should refactor the RSP Jupyter extensions into Phalanx Jupyter extensions and RSP-specific extensions, and stuff like that.
Anyway, it's a start, and it generates containers that run.