Multipass roadmap planning - what are your ideas?

Hi everyone,
Here at Canonical we are beginning to plan our next six-month development cycle. The Multipass team has been growing and we’re excited to take on some bigger challenges in the months ahead.

We would love to hear from all of you about where you want to see this project go in the future! What would improve your Multipass experience?

Anything is on the table at this stage in the process, so let us know in the comments below what you are hoping to see added in Multipass for 23.04 and beyond.

3 Likes

Better documentation. It is still pretty unclear what the purpose of multipass is.

This isn’t exactly specific to 23.04, but I would love to be able to test Subiquity for auto-installs, similar to how you can pass cloud-init data. This would allow for rapid testing and iteration of functions within subiquity rather than spinning up a full VM in your hypervisor of choice every time you want to test something out, which is a very long winded process.

i recently discovered multipass. its a great way to run a headless VM, it simplifies the lxd/lxc setup process and you dont need to mess around with virtualbox or virt-manager anymore.

i use it to run VM’s so on my mac i have a linux base, inside i run docker.

i would like to see interoperability between lxc, that would solve the shortcomings, like cloning a VM and snapshots. like you can switch between gnome-boxes and virt-manager, maybe multipass can be the boxes equivalent GUI/CLI

would like to see options and instructions on creating config yml files or plain bash scripts so you can predefine, configure all the mount points , ram, disksizes and automate.

commercially, if you combine it with a wireguard solution like tailscale, teleport, zerotrust cloudflare tunnels, it would be a great product to setup you own private cloud solutions and in docker and kubernetes you can run apps like nextcloud, wordpress,etc and run something like nginx proxy manager or use the buildin swarm and k3s cluster loadbalancers for in/exgress .

1 Like

Thanks for the ideas, everyone! @Yoredio you’ll be happy to know that we are looking hard at snapshots for this cycle. @reedacus25 I hadn’t thought about Subiquity in Multipass before, but I can see how that would be useful for testing. I’ll dig more into what that could look like.

And welcome to all of you! Thanks for joining discourse and contributing to the discussion.

Perhaps I’m missing it, but being able to create multiple hard disks, including raw drives, would be very helpful with kubernetes and storage products like portworx…

2 Likes

I’m using Multipass on my Mac, because it’s the only tool that I find to create fast headless env.
The other alternative for ARM is UTM but it’s too heavy to configure, and even auto-configured vm doesn’t work out of the box (networking especially). I was a fan of Vagrant but now on ARM it’s doesn’t work well.

Maybe have a minimal GUI to create simple VM (simply OS, Mem, CPU) ?
And some “file” config file, like vagrant files, to recreate similary env without writing a long command ?

1 Like

A GUI (or at least an MVP version) is definitely on our roadmap this cycle, glad to know that’s something you would find useful @damdam.

I’d like to learn more about the config file idea you mentioned - would that be something we could roll in with cloud-init, or something different?

Thanks for the input!

Nothing more than the vagrant workflow : a sort of “multipass up” command that will look if there is a config file into the current directory (or a cloud-init file).
With this workflow, I can have my project code and the “dev-instance” settings in the same folder. But maybe its not very useful : i can copy my cloud-init file and launch multipass instance from these folders.

Thinking about that, I’m using cloud-init to inject my SSH key into each VM (because I want VsCode to connect to these VM in SSH), but maybe it is possible to set a “unique” ssh-key that will be injected into each new multipass vm ?

1 Like

Ok I see what you mean - that could definitely make it quicker than typing out a long configuration string on each launch. We have some more work to do in that area.

The SSH key thing is not that different from what happens now under the hood. Multipass controls instances via SSH. I was also wondering if it would be possible to tie that same mechanism into vscode for having easy-access dev environments. I’ve configured my vscode environments manually so far but it’s a great idea to do it via cloud-init. I’ll have to give that a try!

2 Likes

Better documentation and more shortcuts for using Multipass for HA with kubernetes and Terraform/pulumi especially in bare metal environments. This would help a lot of startups save a lot of much needed resources. Thanks for a great job so far !