mirror of
https://github.com/hashicorp/vagrant-plugin-sdk
synced 2026-04-05 18:59:14 +00:00
No description
- Go 99.9%
|
|
||
|---|---|---|
| .github/workflows | ||
| 3rdparty/proto | ||
| action | ||
| component | ||
| config | ||
| core | ||
| datadir | ||
| docs | ||
| helper | ||
| internal | ||
| internal-shared | ||
| localizer | ||
| multistep | ||
| proto/vagrant_plugin_sdk | ||
| terminal | ||
| .copywrite.hcl | ||
| .envrc | ||
| .gitignore | ||
| .gitmodules | ||
| flake.lock | ||
| flake.nix | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| README.md | ||
| shell.nix | ||
Vagrant Plugin SDK
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.
Generating protos
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-proto
Once that's all set up you should be ready to roll:
$ go generate .