<div dir="ltr">Didier:<div><br></div><div>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 :)<br><br><div class="gmail_quote"><div dir="ltr">On Thu, Oct 27, 2016 at 10:53 AM Didier Roche <<a href="mailto:didrocks@ubuntu.com">didrocks@ubuntu.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
    <div class="m_5854810902815697935moz-cite-prefix gmail_msg">Le 27/10/2016 à 17:33, Aaron Ogle a
      écrit :<br class="gmail_msg">
    </div>
    <blockquote type="cite" class="gmail_msg">
      <div dir="ltr" class="gmail_msg">Didier:
        <div class="gmail_msg"><br class="gmail_msg">
        </div>
        <div class="gmail_msg">This sounds like exactly what I wanted!  So once this lands
          I will be able to just use: <span class="gmail_msg">snapctl
            get value</span> to get user set information?</div>
      </div>
    </blockquote></div><div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
    Exactly!</div><div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br class="gmail_msg">
    <br class="gmail_msg">
    <blockquote type="cite" class="gmail_msg">
      <div dir="ltr" class="gmail_msg">
        <div class="gmail_msg"><br class="gmail_msg">
        </div>
        <div class="gmail_msg">Will the snapctl command be available anywhere in the snap
          or only in the hooks?</div>
      </div>
    </blockquote>
    <br class="gmail_msg"></div><div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
    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).</div><div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br class="gmail_msg">
    <br class="gmail_msg">
    <blockquote type="cite" class="gmail_msg">
      <div dir="ltr" class="gmail_msg">
        <div class="gmail_msg"><br class="gmail_msg">
        </div>
        <div class="gmail_msg">Also the upgrade hook looks like it could be a thing of
          beauty. Any plans for a downgrade hook?</div>
      </div>
    </blockquote>
    <br class="gmail_msg"></div><div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
    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?</div><div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br class="gmail_msg">
    <br class="gmail_msg">
    Didier</div><div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br class="gmail_msg">
    <blockquote type="cite" class="gmail_msg"><br class="gmail_msg">
      <div class="gmail_quote gmail_msg">
        <div dir="ltr" class="gmail_msg">On Thu, Oct 27, 2016 at 10:14 AM Didier Roche
          <<a href="mailto:didrocks@ubuntu.com" class="gmail_msg" target="_blank">didrocks@ubuntu.com</a>>
          wrote:<br class="gmail_msg">
        </div>
        <blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Le
          27/10/2016 à 16:50, Aaron Ogle a écrit :<br class="gmail_msg">
          > Greetings,<br class="gmail_msg">
          ><br class="gmail_msg">
          > With our Rocket.Chat snap, we're looking to be able to
          allow someone<br class="gmail_msg">
          > to run an external mongodb instead of the built in one. 
          As well as<br class="gmail_msg">
          > we'd like to add something like caddy / traefik etc to do
          ssl<br class="gmail_msg">
          > termination.  But its not a daemon we would want enabled
          out of the<br class="gmail_msg">
          > box because of the effect on existing users.<br class="gmail_msg">
          ><br class="gmail_msg">
          > So basically looking for a way let the user of a snap
          enable or<br class="gmail_msg">
          > disable two different daemons in our snap.<br class="gmail_msg">
          ><br class="gmail_msg">
          > Is this possible using anything out of the box?  Or would
          I have to<br class="gmail_msg">
          > make the command ran in the daemon look at an environment
          variable /<br class="gmail_msg">
          > file etc. and determine if it should make the daemon just
          exit?<br class="gmail_msg">
          ><br class="gmail_msg">
          > How have others handled this?  Or allowing users to
          customize snap<br class="gmail_msg">
          > behaviour?<br class="gmail_msg">
          <br class="gmail_msg">
          Hey Aaron,<br class="gmail_msg">
          <br class="gmail_msg">
          sounds like a great plan for usability!<br class="gmail_msg">
          <br class="gmail_msg">
          I would suggest using configure hooks to proceed that. Hooks
          are just a<br class="gmail_msg">
          way for users to set variable=value. Based on that, you can
          control your<br class="gmail_msg">
          daemon with a configure script (triggered by this command)
          inside your<br class="gmail_msg">
          snap. This one can triggers start and stop inside a mongodb
          daemon<br class="gmail_msg">
          wrapper (waiting for a certain value to be passed for instance
          before<br class="gmail_msg">
          executing the real daemon).<br class="gmail_msg">
          <br class="gmail_msg">
          The documentation is not yet published on <a href="http://snapcraft.io" rel="noreferrer" class="gmail_msg" target="_blank">snapcraft.io</a>
          AFAIK, but is<br class="gmail_msg">
          available there:<br class="gmail_msg">
          <a href="https://github.com/snapcore/snapd/blob/master/docs/hooks.md" rel="noreferrer" class="gmail_msg" target="_blank">https://github.com/snapcore/snapd/blob/master/docs/hooks.md</a>.<br class="gmail_msg">
          <br class="gmail_msg">
          However, please keep in mind about this bug<br class="gmail_msg">
          <a href="https://bugs.launchpad.net/snappy/+bug/1636931" rel="noreferrer" class="gmail_msg" target="_blank">https://bugs.launchpad.net/snappy/+bug/1636931</a>,
          we need a new core image<br class="gmail_msg">
          to have snapctl available from your snap, and so, you won't be
          able to<br class="gmail_msg">
          experiment it right away.<br class="gmail_msg">
          <br class="gmail_msg">
          I'll probably write a codelab on this precise topic in a
          couple of weeks<br class="gmail_msg">
          FYI (once the feature is really available to users and
          developers).<br class="gmail_msg">
          Cheers,<br class="gmail_msg">
          Didier<br class="gmail_msg">
          <br class="gmail_msg">
          <br class="gmail_msg">
          --<br class="gmail_msg">
          Snapcraft mailing list<br class="gmail_msg">
          <a href="mailto:Snapcraft@lists.snapcraft.io" class="gmail_msg" target="_blank">Snapcraft@lists.snapcraft.io</a><br class="gmail_msg">
          Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/snapcraft" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.ubuntu.com/mailman/listinfo/snapcraft</a><br class="gmail_msg">
        </blockquote>
      </div>
      <div dir="ltr" class="gmail_msg">-- <br class="gmail_msg">
      </div>
      <div data-smartmail="gmail_signature" class="gmail_msg">
        <div dir="ltr" class="gmail_msg">
          <div class="gmail_msg"><br class="gmail_msg">
          </div>
          <div class="gmail_msg">
            <table style="color:rgb(0,0,0);font-family:verdana;font-size:medium" border="0" cellpadding="0" cellspacing="0" class="gmail_msg">
              <tbody class="gmail_msg">
                <tr class="gmail_msg">
                  <td style="padding-right:15px" class="gmail_msg"> <img src="https://cdn-download.rocket.chat/email-signature.png?v=3" style="width:80px;display:block;margin-left:10px" class="gmail_msg"> </td>
                  <td style="padding-left:15px;border-left-width:1px;border-left-style:solid;border-left-color:rgb(240,240,240)" valign="top" class="gmail_msg">
                    <table style="border-collapse:collapse;font-size:12px;margin-top:4px" border="0" cellpadding="3" cellspacing="0" width="100%" class="gmail_msg">
                      <tbody class="gmail_msg">
                        <tr class="gmail_msg">
                          <td style="padding:3px 0px 10px;margin:0px;font-family:verdana,geneva,sans-serif;font-size:12px;color:rgb(86,97,120)" class="gmail_msg">
                            <b style="display:block;font-size:12px" class="gmail_msg">Aaron
                              Ogle</b> <span style="color:rgb(153,153,153);font-size:10px;display:block" class="gmail_msg">Core
                              Developer</span> </td>
                        </tr>
                        <tr class="gmail_msg">
                          <td style="padding:0px 0px 2px;margin:0px" class="gmail_msg">
                            <p style="margin:0px;padding:0px" class="gmail_msg"><a href="mailto:aaron.ogle@rocket.chat" style="color:rgb(156,160,172);font-size:10px" class="gmail_msg" target="_blank">aaron.ogle@rocket.chat</a></p>
                          </td>
                        </tr>
                        <tr class="gmail_msg">
                        </tr>
                        <tr class="gmail_msg">
                          <td style="padding:0px 0px 2px;margin:0px" class="gmail_msg">
                            <p style="margin:0px;padding:0px" class="gmail_msg"><a href="https://demo.rocket.chat/direct/aaron.ogle" style="color:rgb(156,160,172);font-size:10px" class="gmail_msg" target="_blank">@aaron.ogle</a></p>
                          </td>
                        </tr>
                        <tr class="gmail_msg">
                          <td style="padding:0px 0px 2px;margin:0px" class="gmail_msg">
                            <p style="margin:0px;padding:0px" class="gmail_msg"><a href="https://rocket.chat" style="color:rgb(156,160,172);font-size:10px" class="gmail_msg" target="_blank">https://rocket.chat</a></p>
                          </td>
                        </tr>
                      </tbody>
                    </table>
                  </td>
                </tr>
              </tbody>
            </table>
          </div>
        </div>
      </div>
      <br class="gmail_msg">
      <fieldset class="m_5854810902815697935mimeAttachmentHeader gmail_msg"></fieldset>
      <br class="gmail_msg">
    </blockquote>
    <p class="gmail_msg"><br class="gmail_msg">
    </p>
  </div>

--<br class="gmail_msg">
Snapcraft mailing list<br class="gmail_msg">
<a href="mailto:Snapcraft@lists.snapcraft.io" class="gmail_msg" target="_blank">Snapcraft@lists.snapcraft.io</a><br class="gmail_msg">
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/snapcraft" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.ubuntu.com/mailman/listinfo/snapcraft</a><br class="gmail_msg">
</blockquote></div></div></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr">
<div><br></div><div><table border="0" cellspacing="0" cellpadding="0" style="color:rgb(0,0,0);font-family:verdana;font-size:medium">
        <tbody>
                <tr>
                        <td style="padding-right:15px">
                                <img src="https://cdn-download.rocket.chat/email-signature.png?v=3" style="width: 80px; display: block; margin-left: 10px;">
                        </td>
                        <td valign="top" style="padding-left:15px;border-left-width:1px;border-left-style:solid;border-left-color:rgb(240,240,240)">
                                <table width="100%" border="0" cellspacing="0" cellpadding="3" style="border-collapse:collapse;font-size:12px;margin-top:4px">
                                        <tbody>
                                                <tr>
                                                        <td style="padding:3px 0px 10px;margin:0px;font-family:verdana,geneva,sans-serif;font-size:12px;color:rgb(86,97,120)">
                                                                <b style="display:block;font-size:12px">Aaron Ogle</b>
                                                                <span style="color:rgb(153,153,153);font-size:10px;display:block">Core Developer</span>
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <td style="padding:0px 0px 2px;margin:0px">
                                                                <p style="margin:0px;padding:0px"><a href="mailto:aaron.ogle@rocket.chat" style="color:rgb(156,160,172);font-size:10px" target="_blank">aaron.ogle@rocket.chat</a></p>
                                                        </td>
                                                </tr>
                                                <tr>
                                                        
                                                </tr>
                                                <tr>
                                                        <td style="padding:0px 0px 2px;margin:0px">
                                                                <p style="margin:0px;padding:0px"><a href="https://demo.rocket.chat/direct/aaron.ogle" style="color:rgb(156,160,172);font-size:10px" target="_blank">@aaron.ogle</a></p>
                                                        </td>
                                                </tr>
                                                <tr>
                                                        <td style="padding:0px 0px 2px;margin:0px">
                                                                <p style="margin:0px;padding:0px"><a href="https://rocket.chat" style="color:rgb(156,160,172);font-size:10px" target="_blank">https://rocket.chat</a></p>
                                                        </td>
                                                </tr>
                                        </tbody>
                                </table>
                        </td>
                </tr>
        </tbody>
</table></div>
</div></div>