Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vagrant support for macOS #3718

Open
osy opened this issue Mar 4, 2022 · 6 comments
Open

Vagrant support for macOS #3718

osy opened this issue Mar 4, 2022 · 6 comments
Labels
enhancement New feature or request

Comments

@osy
Copy link
Contributor

osy commented Mar 4, 2022

Cross referencing with hashicorp/vagrant#12518

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

@JasonvanBrackel
Copy link

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.

@madhavajay
Copy link

Looks like Orb won't do this so I think its worth doing it here for UTM instead.
orbstack/orbstack#105

@andronat
Copy link

andronat commented Sep 1, 2023

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.

@tdesaules
Copy link

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.

@naveenrajm7
Copy link

naveenrajm7 commented Aug 9, 2024

Hello!

Thank you for exposing UTM via APIs.
I was able to build a Vagrant plugin for UTM using those. (hashicorp/vagrant#12518 (comment))

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.

@areeckmann
Copy link

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 ).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

7 participants