Introducing Incus

The Linux Containers project is excited to announce its latest addition, Incus!

Incus isn’t a completely new project however, it’s a fork of LXD created by Aleksa Sarai.
Aleksa Sarai is most known for his work on runc, umoci and other OpenContainers projects as well as contributions to the Linux kernel.

But in addition to all that, he’s also been the long time packager of LXD in OpenSUSE.
Aleksa created the fork shortly after Canonical’s decision to take LXD away from Linux Containers with the name Incus being introduced immediately following the LXD 5.16 release. This fork was first intended as a personal project, but has since gathered quite a bit of interest both from the community as well as from former LXD contributors.

After some discussion with Aleksa and a fair bit of encouragement from our community, we have made the decision to take Incus under the umbrella of Linux Containers and will commit to it the infrastructure which was previously made available to LXD.

The goal of Incus is to provide a fully community led alternative to Canonical’s LXD as well as providing an opportunity to correct some mistakes that were made during LXD’s development which couldn’t be corrected without breaking backward compatibility.

In addition to Aleksa, the initial set of maintainers for Incus will include Christian Brauner, Serge Hallyn, Stéphane Graber and Tycho Andersen, effectively including the entire team that once created LXD.

There is no clearly defined roadmap at this point. Incus will be tracking changes happening in LXD and will likely in time diverge from it as different decisions get made.
A stable release of Incus is likely at least a couple of months away so existing LXD users shouldn’t rush to find a way to migrate quite yet!

You can find more details or ask us your questions here:

Sincerely,

Aleksa Sarai and the Linux Containers team:

Christian Brauner
Serge Hallyn
Stéphane Graber

(Original post: Linux Containers - Incus - Introduction)

20 Likes

I am so excited for Incus! Take the L Canonical!

is there an idea yet how to distribute Incus (snap, distro packaging, AppImage …) ?
I guess getting away from LXD’s snap-first approach would be highly appreciated by quite a few.

5 Likes

Appears this is already done . :slight_smile: https://github.com/lxc/incus/issues/8

Congratulations. I look forward to adding the package to nixpkgs (and continuing to improve the Incus/LXD support for nixos in general).

5 Likes

We have added Japanese contents for Incus!! :raised_hands:
Incus の日本語ページを作成しました!!
https://linuxcontainers.org/ja/incus/

1 Like

Will you be making videos following incus updates? :sweat_smile:

Helped me a lot when I was starting with lxd. Also missed it for 5.16. It would be nice for future incus development.

I spent this morning reading the issues on incus (and actually saw it change to lxc/incus) and found it was interesting how this was possible to correct previous design choices. Will there be a discussion on what other design choices could be changed for the future?

1 Like

Yeah, I’ll probably get back on Youtube at some point soon and am likely to be doing videos at least for the new releases. No guarantees on the weekly videos as that was getting a bit taxing, not to mention, I was starting to run out of content :wink:

9 Likes

Woohoo. I am so happy. :tada::champagne::100::sunglasses::+1::heart:

What, exactly, are these mistakes? What do you want done differently and what benefit would it bring, either in terms of development/maintenance of Incus or in terms of end-user experience? I tried to find if you had mentioned any of this somewhere, but I couldn’t find anything. I just wanna know some more specifics.

Breaking backwards compatibility is always annoying, but if it brings some actual practical benefits, then I’m all for it. I may have to see if I can contribute to Incus myself somehow, once your plans for it take a more concrete shape.

You’ll find a number of Github issues under Issues · lxc/incus · GitHub which cover quite a few of those bits.

Currently, it mostly fits in one of those categories:

  • Remove dead stuff (candid, rbac, …)
  • Remove stuff that only work on a single distro (Ubuntu Fan)
  • Remove artifacts from the container-only beginnings (Go and REST APIs mostly)
  • CLI changes (that’s where we had the most we wanted to fix but couldn’t):
    • Eliminate the split between lxd and lxc by having a new admin subcommand on the single CLI tool
    • Move snapshot commands under snapshot subcommand
    • Add a new server sub-command and remove confusing mix of instance and server config in top-level commands

It’s nothing major on its own, the API won’t be broken in the process, but we’ve been very strict about backward compatibility, including our CLI, that things were effectively set in stone as a result, now we have a chance to fix what has been bothering us for a while.

6 Likes

Splendid news!
It’s wonderful to see the original team is back! Looking forward to seeing some videos from @stgraber again.
Just one question regarding the name…why incus? Is it a portmanteau, an abbreviation or simply eluding to the bone in the middle ear?
I find a catchy name can boost a projects popularity quite a bit.

Alas, “catchiness” is in the eye – or, rather, the ear – of the beholder. One may find a name alluring, another may find it offputting and yet another may just be entirely ambivalent towards it – it’s all mostly guesswork as to how people might react. Personally, I am ambivalent towards “Incus”: it doesn’t elicit any emotional response whatsoever from me.

2 Likes

Precisely my point.

Great work :+1:,
Will LXD UI (Incus UI) be included too?

incus comes from Cumulonimbus incus or anvil cloud, a type of rather spectacular cloud.

2 Likes

stgraber said on Twitter that Incus will have some sort of UI, but he doesn’t know if it’s going to be LXD-UI or something else yet.

ah very interesting, thanks for shining some light on that.
Though I still believe it doesn’t quite roll of the tongue, it almost sounds weird to say…* /ˈɪŋkəs/*
Hopefully that’s not taken the wrong way, I only mean well.

I was going to write a web interface for LXD based on Qwik but in light of the rebirth of the project I’m going to write it for incus, good riddance to LXD I guess :wink:

@k4my4b
I was going to write a web interface for LXD based on Qwik but in light of the rebirth of the project I’m going to write it for incus , good riddance to LXD I guess :wink:

I’m actually already working on a UI for it in Next.JS. It was originally going to be for LXD but now it’s gonna be for Incus. Here’s what my UI looks like https://youtu.be/U2BIetvHyYo. Any feedback is welcome :slight_smile:

1 Like

That’s a terrible video. With all the “fancy” effects, it’s impossible to say anything meaningful about the actual UI since one never gets a good look at it!

If you want to show off the project, show off the project instead of how “cool” effects your video editor can do.