...
Moises: https://docs.docker.com/reference/dockerfile/#run---mounttypessh I wanted to use the
RUN --mount=type=ssh
instruction to install private packages. This command needs an additional flag to the build command that I can add via theDOCKER_BUILD_COMMAND
filter. The problem is that the--ssh=default=$SSH_AUTH_SOCK
flag gets escaped by shlex. As a workaround is possible to useos.environ.get("SSH_AUTH_SOCK")
but some people may not want to print those values to the stdout.
2024-07-15
Glib: Tutor Plugins -
Discussing with marketing wg the idea of having a marketplace catalog
Making plugins available for operators
Particularly plugins with one-click installation process
^ … that’s tutor plugins!
particularly plugins in the tutor index
Question: Many plugins require post-actiosn
Rebuild image
Run init
Configure something
Idea: a flag that runs all those necessary extra steps automatically, to enable the one-click installation
Idea: always rebuild and run init
Max mentioned that he wouldn’t want Tutor to automatically run any actions, since many operators have customizations that make it so they wouldn’t want to do every step necessarily
in other words – some operators will want to be able to run steps manually, others will want it all to happen automagically
Dave: Could Tutor have a GUI interface ?
Dawoud: This has been discussed, there is interest
there is the webui plugin - https://github.com/overhangio/tutor-webui
but it’s the same CLI, served for a web browser to access
Kyle: What is the UI for the marketplace to be?
Glib: First phase, just a catalog
Description, installation instructions
Manually maintained
Glib: Integration into tutor would be a second phase
Dawoud: We are already re-building and re-initting when we run
tutor ... launch
, so not sure if we want a flag on the plugin commandGhassan: we also have
tutor ... do init --limit=pluginname
Glib: We’re thinking about command that must be run after plugin is installed and enabled
Example: Jupyter pluginhttps://edly.io/tutor/jupyter-notebooks-plugin/
Idea:
Code Block tutor plugins install jupyter --enable --rebuild --run-init --configure JUPYTER_VERSION=5
Glib: Currently it requires several commands
Code Block tutor plugins install blah tutor plugins enable blah tutor config save --set ... tutor images rebuild openedx tutor local do init --limit=blah
One option:
Code Block tutor plugins install blah && \ tutor plugins enable blah && \ tutor config save --set ... && \ tutor images rebuild openedx && \ tutor local do init --limit=blah
A compromise:
Code Block tutor plugins install blah --enable --configure ... tutor local launch --limit-init=blah
Moises: If launch had a flag to rebuild, would that cut it?
Dawoud: install can take multiple plugins
Kyle/Glib: --enable would enable all provided commands
Glib: When you’re installing a plugin from outside the indexes, it’s
pip install -e .
, right?`tutor plugins install ./path/to/mylocal/plugin`
this works
$(tutor plugins printroot)/myplugin
putting plugins here will install them automatically
Three changes, Kyle will make issues, looking for volunteers to implement
An
--enable
flag ontutor plugins install
A
--configure
flag ontutor plugins install
, just liketutor config save --set ...
A
--limit-init
flag ontutor ... launch
Moises: Build time for installing Python packages: https://github.com/overhangio/tutor/pull/1088
Glib: Brian M says he was experimenting with pip-tools replacement in rust, but hit an issue where it doesn’t support egg files
Dawoud:
Michael: being able to limit init for launch might solve another problem: Shared mysql server, don’t want to provide admin user or password, so mysql init fails
...