As stated in the LXD 5.20 release notes, LXD is now released under AGPL-3.0-only. All Canonical contributions have been relicenced and are now under AGPL-3.0-only. Community contributions remain under Apache-2.0 - this refers to all contributions made before December 12th, 2023.
Going forward, all contributions will be released as AGPL-3.0-only, unless specified otherwise in the commit message. In other words, all Apache-2.0 code will be identifiable by the commit messages or, where applicable, by the file header.
Reiterating what was stated in the release notes, the change in the licence does not prevent our users from using, modifying, or providing LXD-based software solutions, provided that they share the source code if they are modifying it and making it available to others. It is designed to encourage those looking to modify the software to contribute back to the project and the community.
What about the Go SDK client package?
Following the announcement, several community members voiced their concerns about the licence of the Go SDK client package (which is statically linked with usersā own software). We have no intention of hindering community usage or integrations, and the Go SDK client package will remain under Apache-2.0, we will shortly update the package to reflect that. The Python SDK client package also remains Apache-2.0 licensed.
Iām concerned about losing access to the community image server
The LinuxContainers project has decided to restrict access to the community image server for LXD users. We regret their decision and the disruption it will cause for the community.
We have no intention of restricting LXD only to Ubuntu users and will be providing a replacement image server serving images for other Linux distributions. The work is in progress and weāll be providing an update on the initiative in the near future. In the meantime, we are happy to get feedback from our users in terms of what images we should prioritise.
Also seeing similar problemsā¦ We have been using images: with LXD (LTS and non-LTS) until now. Was working on some infrastructure changes for our LXD-based CI runners and discovered this weirdness with LTS-based LXD and ānormalā LXD seeing a different set of imagesā¦ until I found this thread half an hour ago.
So Iām currently stuck with an LXD LTS which doesnāt work (because we canāt differentiate the profile being used on Ubuntu and Rocky Linux-based guests, which is needed for proper operation) but can access the images, or an LXD non-LTS which works but canāt access the required images.
Or, we can switch to Incus which is not released as a stable version yet. Iām not sure Iām willing to put this on our CI infrastructure just yet.
Sorry of this sounds very negative, Iām just frustrated after wasting some time on this today. I know this is not the fault of LinuxContainers.org. Itās just so incredibly sad to see all the extra work and pain this incurs on a lot of people in the community.
Just a clarification on this part of what I wrote: Incus 0.x releases are āas stable and on a similar schedule to LXD 5.x releasesā, per one of their maintainers. I wanted to make this clear because my previous message was a bit factually incorrect. Will not discuss this any further in this forum, since Incus != LXD, just wanted to get the facts straightened out.
Donāt prioritize, just do what they are doing. Build the images with distrobox, setup CI/CD and host the images. This way we will get all the images we had before. This change is already affecting users in production environments which is really bad. Waiting for May will make things even worse and a lot of people will migrate to Incus because of the delay and LXD will lose users. Itās not like we were not warned about it by linux containers maintainers.
Iād like to echo @sekurilabās suggested course of action. Cloud-init needs to be able to test everything we support. See our supported distro list here if you need to prioritize. In the meantime we can use Incus locally for manual testing, but the tooling we use for testing currently only supports lxd - regaining lost testing capabilities ASAP would be best.
i have a controversial request, for which incus are weak as well - create a way to :
create own self-hosted repositories via http/simplestreams
instruction how to transform supported OS Distro ISO to LXD/LXC Image
how to integrate it to the hosted repository
Probably some integration to the Sonatype Nexus OSS could be made, or own docker/lxc based image with the āimageā server for lxd & simplestreams/http proto.
P.S.
And yes, coz of delay i already forced to migrate my home-lab to incus coz iām fedora server user alongside of the ubuntu and currently stomped on how bad situation is with creating own images and hosting them are in Incus (linuxcontainers) and LXD (canonical)
heās not one of the maintainer but core developer actually, and what he described is basically from which point Incus forked from LXD but in the future, nobody guarantee their compatibility as well on how bright would be Incus future(or how much that guy would be able to support the infra?).
On LXD side nothing is better - think is that for half of year nothing were made to create/migrate to own LXD repositories, alongside the āubuntu:ā one and absence of possibility and clear guides on how to create own ones raises a concern, especially for environments without internet.
Iāve begun working on the image server, and also setup the build system for the images. You can find more info here. The goal is to get something up and running within 2 weeks.
Weāre prioritizing getting and MVP up and running, given that we have limited resources Iām going to be focusing primarily on alpine container images for aarch64 and amd64 for lxd. Thatās the basic setup we need for our product.
The basic build configuration is there but itās still missing one piece that pushes the built image to the server which I will solve in due time.
Iām making good progress and am positive about getting the MVP up in 2 weeks. If there is any particular OS youād like to see, feel free to submit an issue on the opsmaru-images or submit a pull request. Documentation is a little sparse right now but you can read the code itās pretty straight forward.
Project Goals
To create an open image server that is transparent and can be easily managed by the community.
Deployment Options
Users will either be able to sign up to our image server, get a token and use the image server managed by upmaru OR users will be able to host their own image server.
MVP Features
Provide basic functionality for serving lxd / incus images
Provide a way to build / push images to S3 compatible storage
Provide a way to use CDN in-front to ensure fast performance
Roadmap
Some UI to enable easy management for users to issue their own tokens.
Some UI to enable users to Bring their own CDN so they can be responsible for their own bandwidth / usage.
I donāt mean to bug anyone, but is there an update on this. We had to move to Incus on one project due to the fact we needed a Debian image. Both projects are great, but I would have loved to not spend a day migrating things.
Also, it would be great to have Ubuntu images with generic kernel instead of the ākvmā kernel for VMs, by default.
WRT to generic kernels, I believe from 23.10 onwards (including the forthcoming 24.04 LTS release) the images from ubuntu: and ubuntu-daily: are using the generic kernels.
lxc launch ubuntu:23.10 --vm v1
Creating v1
Starting v1
lxc exec v1 -- uname -a
Linux v1 6.5.0-17-generic #17-Ubuntu SMP PREEMPT_DYNAMIC Thu Jan 11 14:01:59 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux