On 10/27/2016 08:52 AM, Didier Roche wrote: > Le 27/10/2016 à 17:33, Aaron Ogle a écrit : >> Didier: >> >> This sounds like exactly what I wanted! So once this lands I will be >> able to just use: snapctl get value to get user set information? > Exactly! > >> >> Will the snapctl command be available anywhere in the snap or only in >> the hooks? > > I guess the main intent is to use them primarily in hooks, but nothing > should prevent it to be available in your other snap daemon as well > (as it's part of the core rootfs).
There's currently a limitation here in that `snapctl get/set` needs to know the snap whose config is being queried/altered (and snaps shouldn't be able to query/alter the config of other snaps). This is done via a token that is generated and tracked by snapd for each hook instance and then used in each `snapctl` invocation. Currently this token is not generated for apps, which means `snapctl` is only useful within hooks for the time being. I'm uncertain on the timeline, but as I understand it, the plan is to make `snapctl` work within apps as well. > >> >> Also the upgrade hook looks like it could be a thing of beauty. Any >> plans for a downgrade hook? > > I don't know about any plan for that, I'll let others answer. I think > you mean a downgrade hook being executed after a snap revert to fetch > back "newer data" that could be lost in the revert process and > transfer back to the older version? Or do you have any other use case > in mind? > > Didier >> >> On Thu, Oct 27, 2016 at 10:14 AM Didier Roche <didro...@ubuntu.com >> <mailto:didro...@ubuntu.com>> wrote: >> >> Le 27/10/2016 à 16:50, Aaron Ogle a écrit : >> > Greetings, >> > >> > With our Rocket.Chat snap, we're looking to be able to allow >> someone >> > to run an external mongodb instead of the built in one. As well as >> > we'd like to add something like caddy / traefik etc to do ssl >> > termination. But its not a daemon we would want enabled out of the >> > box because of the effect on existing users. >> > >> > So basically looking for a way let the user of a snap enable or >> > disable two different daemons in our snap. >> > >> > Is this possible using anything out of the box? Or would I have to >> > make the command ran in the daemon look at an environment >> variable / >> > file etc. and determine if it should make the daemon just exit? >> > >> > How have others handled this? Or allowing users to customize snap >> > behaviour? >> >> Hey Aaron, >> >> sounds like a great plan for usability! >> >> I would suggest using configure hooks to proceed that. Hooks are >> just a >> way for users to set variable=value. Based on that, you can >> control your >> daemon with a configure script (triggered by this command) inside >> your >> snap. This one can triggers start and stop inside a mongodb daemon >> wrapper (waiting for a certain value to be passed for instance before >> executing the real daemon). >> >> The documentation is not yet published on snapcraft.io >> <http://snapcraft.io> AFAIK, but is >> available there: >> https://github.com/snapcore/snapd/blob/master/docs/hooks.md. >> >> However, please keep in mind about this bug >> https://bugs.launchpad.net/snappy/+bug/1636931, we need a new >> core image >> to have snapctl available from your snap, and so, you won't be >> able to >> experiment it right away. >> >> I'll probably write a codelab on this precise topic in a couple >> of weeks >> FYI (once the feature is really available to users and developers). >> Cheers, >> Didier >> >> >> -- >> Snapcraft mailing list >> Snapcraft@lists.snapcraft.io <mailto:Snapcraft@lists.snapcraft.io> >> Modify settings or unsubscribe at: >> https://lists.ubuntu.com/mailman/listinfo/snapcraft >> >> -- >> >> >> *Aaron Ogle* Core Developer >> >> aaron.o...@rocket.chat <mailto:aaron.o...@rocket.chat> >> >> @aaron.ogle <https://demo.rocket.chat/direct/aaron.ogle> >> >> https://rocket.chat >> >> >> > > > -- Kyle Fazzari (kyrofa) Software Engineer Canonical Ltd. k...@canonical.com
signature.asc
Description: OpenPGP digital signature
-- Snapcraft mailing list Snapcraft@lists.snapcraft.io Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/snapcraft