Optional daemon
Kyle Fazzari
kyle.fazzari at canonical.com
Thu Oct 27 16:55:54 UTC 2016
On 10/27/2016 08:59 AM, Aaron Ogle wrote:
> Didier:
>
> With each upgrade we perform a database migration. So when reverting
> back the data structure in the database might have changed. This is
> potentially something we could handle inside of our platform
> specifically. But figured I would ask :)
So are you storing this database in $SNAP_COMMON? Because $SNAP_DATA
would do this for you, no?
>
> On Thu, Oct 27, 2016 at 10:53 AM Didier Roche <didrocks at ubuntu.com
> <mailto:didrocks at ubuntu.com>> 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).
>
>
>>
>> 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
>> <didrocks at ubuntu.com <mailto:didrocks at 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 at lists.snapcraft.io
>> <mailto:Snapcraft at lists.snapcraft.io>
>> Modify settings or unsubscribe at:
>> https://lists.ubuntu.com/mailman/listinfo/snapcraft
>>
>> --
>>
>>
>> *Aaron Ogle* Core Developer
>>
>> aaron.ogle at rocket.chat <mailto:aaron.ogle at rocket.chat>
>>
>> @aaron.ogle <https://demo.rocket.chat/direct/aaron.ogle>
>>
>> https://rocket.chat
>>
>>
>>
>
> --
> Snapcraft mailing list
> Snapcraft at lists.snapcraft.io <mailto:Snapcraft at lists.snapcraft.io>
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/snapcraft
>
> --
>
>
> *Aaron Ogle* Core Developer
>
> aaron.ogle at rocket.chat <mailto:aaron.ogle at rocket.chat>
>
> @aaron.ogle <https://demo.rocket.chat/direct/aaron.ogle>
>
> https://rocket.chat
>
>
>
--
Kyle Fazzari (kyrofa)
Software Engineer
Canonical Ltd.
kyle at canonical.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/snapcraft/attachments/20161027/f191bf0f/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/snapcraft/attachments/20161027/f191bf0f/attachment.sig>
More information about the Snapcraft
mailing list