Difference between building a snap with devmode confinement and running in devmode

I would like clarification on the significance of the confinement types for building and running snaps. If I build a snap and specify confinement: strict in the snapcraft.yaml file, I can then install that snap with or without the --devmode argument. if I build a snap and specify confinement: devmode in the snapcraft.yaml file, I can then understandably only install that snap with the --devmode argument.

What are the differences between a snap built with confinement: strict and installed with --devmode and a snap built with confinement:devmode and installed with --devmode?

you can not do releases of devmode snaps to the stable channel at all …

1 Like

The --devmode command line parameter is for users to acknowledge that they understand that the snap they are installing is unconfined (complain-only mode) and can access everything on their system. The devmode confinement setting in snapcraft.yaml specifically indicates that the snap itself is not to be confined (requiring the acknowledgement from the user) and therefore restricted to release into edge and beta channels only.

3 Likes