A better solution IMO is to package Juju/charmcraft properly for Ubuntu and CentOS. Snaps are recreating all sorts of problems that were solved decades ago on Linux.
Having an rpm/deb for Juju would automatically solve @erik-lonroth’s problems 1 and 2.
Problem 3 could be solved by renaming the ubuntu
user to juju
and making it a system user, not a regular one.
Problem 4 is a bit tricky: charmcraft has explicit dependencies on specific versions of python wrappers around APT. Making it work on distros not based on Debian might require significant work. It also contains a --destructive
flag to not use LXD for packing the charms, but that might break the packing if the host OS is not the same as the one specified on the charmcraft.yaml
file. On the other hand, if charmcraft were able to use systemd-nspawn, all those problems would go away.