Public lxd custom images repository?

I wonder is there any public lxd custom images repository?
Something like docker hub

regards

Nope, there’s in general a bit less of a need for that as LXD mostly deals with full operating systems and we have images for most Linux distributions already.

There are 3rd party options to generate and manage your own image servers though or you can even just use a public LXD daemon for it, but I’m not aware of anybody running such a repository publicly.

It’s also worth noting that anyone doing that will have to be pretty careful as distributing images including GPL binaries will then put the burden onto you to provide the source for those binaries should someone want them.

For our image server, we perform all our builds publicly and keep build logs alongside all binary images, this then allows us to redirect such requests to the relevant Linux distribution knowing the exact package and version used in the image.

If you allow raw binary image uploads, you’ll at the very least need detailed contact information and clear terms of service so that you can forward such legal requests to the person who built the image.

thx for explanation
but what about apliances like bitnami,vmware or vagrant/virtualbox - there are multiple solutions out of the box and some of them got binaries you mention.

On the other side cloud-init custom profiles may serve as something like docker hub dockerfiles, don’t you think?

Ok we can use puppet or ansible but sometimes its too heavy solution for simple appliance like ubuntu+wordpress+apache+php

All in all it’s all about deploying appliances faster and with some good standards.
I think everybody could benefit from such repository.

regards

Yep, we definitely don’t have any problem with someone building and operating such a repository, we just don’t have the time, bandwidth or interest to do it ourselves at this time :wink:

just in case you want to experiment

2 Likes

nice thx :slight_smile:

That’s a good idea… and I think having pre-canned cloud-init profiles for ‘solutions’ would be very helpful across multiple virtualisation architectures.

Perhaps a GitHub repository would be a good start. Free hosting, revision control etc…

Perhaps called cloud-init-recipes ?

Then git or curl/wget could be used to grab the latest copy… Dare say we could write a maintenance script for building containers.

If you don’t do it I probably will ;-), Or maybe we all should…

The problem i see is, how do you manage updates?

Yes a single repo would be a pain. How about a loose cluster of repo’s in a consistent naming pattern… Would be nice to support the cloud-init Seed over IP not sure if that would work in GitHub can look into it.

So perhaps a cloud-init-seeds repo name
cloud-init-seeds

I guess cloud-init files are ‘seeds’ so that means we ‘plant’ or ‘pot’ them which can be the install tool name…

e.g. pot MadMax/NiftyDocker

Which would equate to automatically reading the YAML file(s) from https://github.com/MadMax/cloud-init-seeds.git/blob/main/NiftyDocker/user-data.yaml

I think I’ll create a prototype when I find some time… See if it seems useful…

I mean not just the “seed” files, but how do you manage updates for the container / VM? Re-run cloud-init or go for some hook type architecture like SNAP?

I.E

  1. Install “pot”
  2. pot install MadMax/NifityDocker
  3. :clock1030: :clock11: :clock1:
  4. pot upgrade MaxMax/NifityDocker <- how does this phase work ? Re run cloud-init? Seems risky , could copy SNAP and add hooks I guess?

While im behind the idea, it does just seem like it would end up being a clone of SNAP

cloud-init is about bare metal install as well as containers… So its the boot strap for the installation of the OS. That includes snap, lxd and of course apt…

It doesn’t include any packages itself its the instructions to install packages…