Vagrant Plugin SDK enables building plugins for Vagrant!
MPL-2.0 License
This repository is a Go library that enables users to write custom Vagrant plugins.
Plugins in Vagrant are separate binaries which communicate with the Vagrant application; the plugin communicates using gRPC, and while it is theoretically possible to build a plugin in any language supported by the gRPC framework. We recommend that the developers leverage the Vagrant SDK.
All Go & Ruby protos are wired into go-generate
. To generate them you'll need a few binaries on your path:
protoc
- installation instructions on the gRPC Docs
grpc_tools_ruby_protoc
- from the grpc-tools
gem, which bundles that binary prebuiltstringer
- from the go tools pkg
mockery
- from the go library hosted at vektra/mockery
You also need to ensure the output directory is present:
$ mkdir -p ruby-proto
Once that's all set up you should be ready to roll:
$ go generate .