...
You can add topics below ahead of time, or add them during the meeting.
2024-07-29
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
2024-06-03
MFE build time (below)
Configuring open edx services with tutor
Moises and Maksim work on large instances group
Some of tutor’s default were meant to simplify setup
For large instances, they need to undo tutor’s defaults
example: celery queues
tutor uses one celery queue
at scale, the queue can fill up
using patches, large instances has been undoing tutor’s configuration changes
edx-platform is complex to follow, with all the indirection
related: OEP-45 simplification
could be better to have a blank slate
edunext had to replicate ansible installation settings, using tutor
they are using settings patches
yaml settings patch
common settings
production patches
some files don’t have patches
Having plugins expose configuration interfaces
tutor-contrib-pod-autoscaling
rather than add more config settings, the plugin
...