And thanks to Merlijn for bing blunt enough to ask the questions a lot of us were thinking about snaps! :)
On Wed, Mar 1, 2017 at 9:27 AM, Merlijn Sebrechts < merlijn.sebrec...@gmail.com> wrote: > Thanks for the thorough explanation! > > 2017-03-01 7:07 GMT+01:00 John Meinel <j...@arbash-meinel.com>: > >> ... >>> >> >> >>> I'm having a hard time wrapping my head around classic mode. Classic >>> mode means unconfined, right? >>> >>> What are the reasons for this switch? Is the snap still cross-distro? >>> Will the snap have some expectations about the system outside of the snap? >>> What are the advantages of an unconfined snap over a deb package? >>> >> >> To get a deb package, you have to generally add something like a PPA, >> which means you now get anything they want to give you from that PPA. Core >> libraries, a new kernel, whatever. Once you've accepted the terms of a PPA, >> you're trusting that person not to hose you over. >> >> While classic snaps still have access to the rest of the filesystem, they >> 1) Still include their dependencies inside their containment, rather than >> producing other packages that you must also install. >> 2) Can't muck with things outside of that (so saying 'snap install juju >> --classic' won't be able to change package kernel) >> 3) Give you all the nice release cadence, etc of other snaps. Mainly >> things like "I'm willing to run beta", "I only want to run candidate+" etc. >> 4) Are definitely no-less secure than deb packages. >> 5) Can get your software into snaps immediately, and you can transition >> into more confinement as you can make it work. >> 6) Snaps apply transactionally. An update can't partially apply half of >> the update and then fail (if it does, the whole update is rolled back). >> >> >>> >>> This isn't strictly Juju related, but maybe you can shed some light on >>> this. I don't follow the project close enough to understand this feature. >>> Confinement was key to the goals of snaps, ever since the click days.. Why >>> the 180 now? >>> >> >> Confinement is great for a lot of things, but not everything. Vim >> confined to not be able to read your .bashrc file isn't a very good vim. >> Juju doesn't need access to everything, so there is still room to grow >> support in Snap confinement to limit you to the right subset (we do want to >> read .ssh/id_rsa* and .local/share/juju, we don't need to read >> .mozilla/firefox/...) >> >> >>> >>> I would think that if an application like Juju can't work in a confined >>> snap, then snaps have an inherent flaw that needs to be fixed instead of >>> having the workaround of the classic mode. Paraphrasing the story I've >>> heard so many times: Snaps enable devs to push code directly to users >>> without having to go through the long review process of the distro. >>> Security and stability concerns are countered with confinement. Snaps >>> enable devs to package once, run anywhere. Confinement + frameworks makes >>> this possible... >>> >>> Snaps without confinement just seems like someone just brought .debs >>> into the 21 century, and that seems very underwhelming to me. What am I >>> missing here? >>> >>> >> The distribution model and the dependency model are a lot nicer. >> Transactional updates to the packages is also *extremely* nice. >> >> John >> =:-> >> >> >>> >>> Kind regards >>> Merlijn >>> >>> 2017-02-28 20:52 GMT+01:00 Nicholas Skaggs < >>> nicholas.ska...@canonical.com>: >>> >>>> Those of you subscribed to a snap channel may have noticed some nice >>>> changes that happened with 2.1 release. The juju snap package now utilizes >>>> classic mode, and all channels (including stable) are now active. You >>>> should expect feature parity (including things like bash completion) with >>>> the debian package of juju. In addition, the juju snap also shares >>>> environments with the debian installed version. This means your current >>>> models and credentials are utilized. >>>> >>>> I would encourage those that haven't yet tried out the snap to do so >>>> and provide feedback. I think you'll find it a quick and easy way to get >>>> juju. >>>> >>>> snap install juju --classic >>>> >>>> Those of you who want to build your own snap to share will also find it >>>> much easier. By default, running snapcraft on the juju tree will build a >>>> snap using your local tree and will bundle the needed agent. The >>>> snapcraft.yaml also points out how easily you can grab a specific branch, >>>> commit or tag to snap up. Sharing your own version of the juju client with >>>> the world is as simple as "snapcraft, snapcraft release". >>>> >>>> You'll find the snap related things in the snap folder in the juju git >>>> tree. As always PRs welcome! >>>> >>>> Nicholas >>>> >>>> -- >>>> Juju mailing list >>>> Juju@lists.ubuntu.com >>>> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailm >>>> an/listinfo/juju >>>> >>> >>> >>> -- >>> Juju mailing list >>> Juju@lists.ubuntu.com >>> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailm >>> an/listinfo/juju >>> >>> >> > > -- > Juju mailing list > Juju@lists.ubuntu.com > Modify settings or unsubscribe at: https://lists.ubuntu.com/ > mailman/listinfo/juju > > -- Tom Barber CTO Spicule LTD t...@spicule.co.uk http://spicule.co.uk @spiculeim <http://twitter.com/spiculeim> Schedule a meeting with me <http://meetme.so/spicule> GB: +44(0)5603641316 US: +18448141689 <https://leanpub.com/juju-cookbook>
-- Juju mailing list Juju@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju