README.md in vagrant-xhyve-0.3.0 vs README.md in vagrant-xhyve-0.4.0

- old
+ new

@@ -5,20 +5,20 @@ This is a [Vagrant](http://www.vagrantup.com) plugin that adds an [xhyve](http://xhyve.org) provider to Vagrant. ## Features -* Sorta works +* Basic features work +* Can work with Hyperkit fork of Xhyve +* qcow image support ## Limitations You need to use sudo for most vagrant actions with the xhyve driver, due to the entitlements needed for xhyve to run without sudo. More details in the [xhyve github issue](https://github.com/mist64/xhyve/issues/60). -Also, sometimes launching a VM just fails. But I'm not quite sure why. - ## Usage Install using standard Vagrant plugin installation methods. After installing, `vagrant up` and specify the `xhyve` provider. An example is shown below. @@ -64,13 +64,11 @@ * `memory` - The amount of memory to give the VM. This can just be a simple integer for memory in MB or you can use the suffixed style, eg. 2G for two Gigabytes * `cpus` - The number of CPUs to give the VM -* `xhyve_binary` - use a custom xhyve version (for example, the version of xhyve - included with [Docker for Mac Beta](https://docs.docker.com/engine/installation/mac/#docker-for-mac) - is interesting. The path is `/Applications/Docker.app/Contents/MacOS/com.docker.hyperkit`. ) +* `xhyve_binary` - use a custom xhyve version * kernel_command - send a custom kernel boot command These can be set like typical provider-specific configuration: ```ruby @@ -90,10 +88,16 @@ There is minimal support for synced folders. Upon `vagrant up`, `vagrant reload`, and `vagrant provision`, the XHYVE provider will use `rsync` (if available) to uni-directionally sync the folder to the remote machine over SSH. +## Using Docker's HyperKit Fork of Xhyve + +Docker has a very nice port of Xhyve called [HyperKit](https://github.com/docker/hyperkit). It has some interesting features like better stability and qcow support (which this provider can't use yet). + +If you want to try it out, either install hyperkit directly, or you can use the version bundled with [Docker for Mac](https://docs.docker.com/engine/installation/mac/). The path to the binary is `/Applications/Docker.app/Contents/MacOS/com.docker.hyperkit`. See the configuration section above for how to use this with the `xhyve_binary` option. + ## Questions Q. Should I use this for my work? A. Do you want to keep your job? I'm not even sure you should use this for toy @@ -101,16 +105,20 @@ Q. Why? A. This project is powered by ignorance and good intentions. -Q. Will I even not have to use sudo? +Q. Will I ever not have to use sudo or setuid root? A. There's a theory in that issue linked above that wrapping xhyve in an app store app would help. If that were the case, you could probably use the -embedded binary with vagrant-xhyve. +embedded binary with vagrant-xhyve. Another option is to use setuid root. +Q. This sucks. + +A. That's not a question, but why don't you try out [another implementation](https://github.com/sirn/vagrant-xhyve). Looks pretty nice. + ## Acknowledgements This plugin was heavilly cribbed from the vagrant-aws and vagrant-virtualbox providers. So thanks for those. @@ -141,5 +149,10 @@ ``` Use bundler to execute Vagrant: ``` $ bundle exec vagrant up --provider=xhyve ``` + +## Contributors + +* Patrick Armstrong +* Nuno Passaro