Generic Snap questions

Andrew Mason andrew at nocturnal.net.au
Sun Feb 19 12:52:35 UTC 2017


Hey Kyle,
Thanks heaps for responding to my questions with so much detail. I am 
sorry about the late response. I've only just been able to get back to 
my interest in snaps.

>
> That would also be up to the snap in question. snapd supports a
> configure hook[2] that the snap can implement to support such things,
> but implementing that hook (and what exactly can be changed with it) is
> still up to the snap. The snap could also expose such functionality with
> its own app, if the developer chose to do so.
>
>> 3. Say a bunch of people want their own instance of this snappified service.
>> How are / should additional instances handled from an installation perspective
>> ?
>>
>> Also how would multiple instances be configured with regards to TCP port
>> access ?
>
> I'm not 100% sure I understand this question. Snaps aren't per-user
> (they're installed system-wide), so if you're asking how multiple users
> on the same machine would install this snap, the answer is "they
> wouldn't" I suppose. Please clarify this question if I didn't answer it.

Right, so I'll use a better example which might make sense. Say I have a 
snap of a web application that listens on port 443.  The nextcloud one 
is a great example because I don't share the preferences in some of the 
choices made in this snap.

By default it will use apache and listen on the default IP address for 
configuration. I have the following scenarios which I can fairly easily 
accommodate with a regular install of apache + php and the next cloud.

# scenario 1:
  multiple web applications on the same box: I have two users of my 
machine. One person wants the existing stable, tried and true version of 
next cloud the other wants the version that's only just been released. 
Both listen on port 443, both (package apache httpd)

# scenario 2:
  single web app, multiple instances: I install nextcloud on a VM 
provided by my company. I can do whatever I like, but I only have a 
single VM. (azure costs $$$). I install nextcloud for the developers but 
the support team want their own and the accounts team would also like 
one. How do I go about spinning up multiple instances of the same 
application but listening on a different hostname via SNI. ?

Is this again one of those..it depends on the snap thing ?

If so is there a best practice guide for making these?

I guess I was hoping for more of a debian style enforcement of packaging 
rules. Is there a way to find out this information from a snap before 
installation ?

If I felt so inclined, what would be the best way to get some high level 
instructions around how to implement the feature or even if it's a 
welcome feature at all. Happy to do the development work but don't want 
to make something that people don't want or is done in a way that they 
don't want.

I can easily see the use case for snaps on the desktop but I was really 
hoping to be able to utilise them more on server personally.

I have written a small application in Go which I believe should be easy 
to turn into a snap, so my next task is to go and create a snap to 
examine the process.

Kind regards
Andrew






More information about the Snapcraft mailing list