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 Docsgrpc_tools_ruby_protoc
- from thegrpc-tools
gem, which bundles that binary prebuiltstringer
- from the go tools pkgmockery
- 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 .