UTM icon indicating copy to clipboard operation
UTM copied to clipboard

Vagrant support for macOS

Open osy opened this issue 3 years ago • 6 comments

Cross referencing with https://github.com/hashicorp/vagrant/issues/12518

This has been requested by quite a bit of users and this issue should track it.

osy avatar Mar 04 '22 01:03 osy

I just discovered you all and would love to work this into my processes. Consider me a willing tester if/when you get around to this.

JasonvanBrackel avatar Sep 28 '22 13:09 JasonvanBrackel

Looks like Orb won't do this so I think its worth doing it here for UTM instead. https://github.com/orbstack/orbstack/issues/105

madhavajay avatar May 02 '23 04:05 madhavajay

Any work done on this? Given that QEMU 8.1.0 creates major issues with broken x86_64 VMs, I would love to use UTM through Vagrant.

andronat avatar Sep 01 '23 12:09 andronat

Hey UTM team !

Is a Vagrant provider plugin is on the roadmap ?

I'm just moving on Mac and was looking for a Virtualization software (I was looking for an open source one and not a big fan of VirtualBox) and I have to say that I'm used to Vagrant to provision things on my laptop.

tdesaules avatar Nov 27 '23 13:11 tdesaules

Hello!

Thank you for exposing UTM via APIs. I was able to build a Vagrant plugin for UTM using those. (https://github.com/hashicorp/vagrant/issues/12518#issuecomment-2278629170)

Check out https://naveenrajm7.github.io/vagrant_utm/ and please share your feedback.

For some Vagrant actions, the plugin currently works around the existing UTM APIs, which can be improved by simply exposing the existing functionality via API either through the command line (ideal) or Apple Scripting Bridge.

I will list a couple here .

  1. utmctl import <file.utm> --name <name> Imports utm file with given name and returns uuid , this is basically the utm://downloadVM?url=.. with few changes.
  2. utmctl export <name/uuid> -o <file.utm> Exports the VM to the given path, this is exactly the 'Share..' action button.

I also have a working Packer plugin for UTM which enables building reproducible UTM images. Exposing existing functions through API , can improve the packer plugin to do unattended OS installs. Required API support includes the ability to add Qemu additional arguments to VM config, add/remove devices through AppleScript.

I can create issues for each and possibly work towards that. Please share your thoughts.

naveenrajm7 avatar Aug 09 '24 20:08 naveenrajm7

That would be much appreciated! I was looking to automate the Part that @naveenrajm7 described as "working around the APIs" myself. The only thing (as far as I can tell) that I am missing from the UTM API is a way to automate the import function (or open? I am talking about File -> Open / Command O ).

areeckmann avatar Oct 02 '24 08:10 areeckmann