I don't know how we can "containerize" the modules in an easy way. We have
to make it easier for the modules developers and avoid "rocket science" as much
as possible at the module end point.
Regarding the compatibility issue we could have a "works on" tag to describe
which module works or not for each system, I think it would perfectly accepted for the
cockpit users (since they will know that those modules are from the community). I can
imagine that at the beginning we would have very system-specific modules but they will get
generic as the time goes by.
About the installing tool, I was thinking on something like this when I mentioned a
possible UI inside Cockpit to manage external modules in the future.