Right now there is a mechanism to enable/disable plugins:
https://github.com/theforeman/foreman-quadlet/blob/ff176ec9ff494a143a0a9a69d85ffe4f880e5eee/container-images/foreman/Containerfile#L5-L10
What this does is to install certain plugins (FOREMAN_PLUGINS arg) and then overwrites the included bundler.d file. It does this so you can use FOREMAN_ENABLED_PLUGINS to have plugins installed, but not activated. This reduces the number of containers we need to build: instead of all permutations (which quickly explodes).
Currently this is undocumented, which is probably the first thing to resolve.
A next step is to figure out which containers we do build. Looking at the RPM repos I can imagine 3 variations:
- core (no plugins)
- core + all plugins in foreman-plugins
- core + all plugins in foreman-plugins + katello & all its plugins
Another step is to figure out how to avoid needing to overwrite the shipped bundler.d file, for example using groups (exposing BUNDLER_WITHOUT).
Right now there is a mechanism to enable/disable plugins:
https://github.com/theforeman/foreman-quadlet/blob/ff176ec9ff494a143a0a9a69d85ffe4f880e5eee/container-images/foreman/Containerfile#L5-L10
What this does is to install certain plugins (
FOREMAN_PLUGINSarg) and then overwrites the includedbundler.dfile. It does this so you can useFOREMAN_ENABLED_PLUGINSto have plugins installed, but not activated. This reduces the number of containers we need to build: instead of all permutations (which quickly explodes).Currently this is undocumented, which is probably the first thing to resolve.
A next step is to figure out which containers we do build. Looking at the RPM repos I can imagine 3 variations:
Another step is to figure out how to avoid needing to overwrite the shipped bundler.d file, for example using groups (exposing
BUNDLER_WITHOUT).