Modules are actually separated this way:
There’s the MODULE IMAGE, which contains the following files:
- the imageroot of the image (systemd services, cluster hooks for actions, configuration…)
- module own UI, the same UI that helps you configure the module
- additional can be found here
This images should be “arch-less” (unless, like the core, has binaries), and can be downloaded by every client despite the architecture.
This is not the case for the images that are used to run the actual software, usually specified in the images
label of the image.
The “running” images, often come directly from the companies, and they most likely already have a ARM version built, which podman automatically pulls and runs. This is true for the traefik
instance that you’re using to serve the main UI.
that can no be right … or is it?
This comes by a per-module basis, if a module just uses the base image from official sources then yes, the module is installed correctly and the arm version of the container is happily running in the background.
If for necessities the container needs to be customized heavily (I.E. installing additional software) then you need to build the container for all the architectures that you want it available for. (this second case is exactly why building samba provides two containers, the module container and the runtime container)
Additional info will be probably available during Fosdem