Hi @ktor-team!
There are other snaps that ship the gradle wrapper and after plugging personal-files
(so they have access to the ~/.gradle
directory) they can stay under strict confinement. Have you explore that option? (This post can be of help). I also think you can explore using personal-files to access the kotlin related files.
Also, the mount-observe interface should provide the access to mountinfo (see https://github.com/snapcore/snapd/blob/master/interfaces/builtin/mount_observe.go#L46).
So I still think ktor
can plug some interfaces, stay under strict confinement and therefore enjoy all the benefits of a stable runtime environment. Please also remember that classic confinement snaps run without restrictions, and thus use of classic confinement effectively grants device ownership to the snap.