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-toolsgem, 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-protoOnce that's all set up you should be ready to roll:
$ go generate .