Hmm so since it can download and execute a new JVM then wouldn’t this be the preferred option - making a snap classic comes with other limitations - as noted in Process for reviewing classic confinement snaps
Classic confinement sometimes might seem like the perfect solution to a publisher’s problem, but snaps that use
confinement: classic
differ from strict mode snaps in important ways:
- they are not installable on Ubuntu Core (all snaps) devices
- they run in the global mount namespace (ie, the host’s filesystem) as opposed to what is specified by
base
in the snap’s yaml.Because of ‘2’, great care must be taken for the snap to work reliably across all distributions since, for example, as part of the build process snapcraft will adjust the snap’s binaries through binary patching and/or setting environment variables to look into the
$SNAP
directory for paths, either of which could affect the snap’s reliability when running on arbitrary cross-distribution host filesystems. In contrast, strict mode snaps use what is specified bybase
in the snap’s yaml as the basis for its root filesystem at runtime and can depend on it not changing.
So it is preferred that snaps run as strict mode where possible - in this case, it would seem ktor
can run under strict confinement so I really suggest you pursue this option.