Appendix A. Vagrant Plugins
Vagrant itself has a highly extensible architecture that can be utilized to provide additional functionality. Vagrant extensions are written using Vagrant's plugin framework. Vagrant plugins are typically written to extend Vagrant by:
- Creating new providers that can execute commands and configure resources within the guest operating systems
- Adding or modifying resources on guest operating systems
- Adding or modifying resources on the host operating system
Plugins can also create new commands that can be executed within the Vagrant executable.
Vagrant plugins are written in the language of Vagrant itself: the Ruby programming language. Writing Vagrant plugins utilizes a framework to get started, but will be rather difficult unless you have a basic grasp of the Ruby programming language. This appendix will create and explain a simple example of a custom provider, one that allows us to add a new provisioner block to say hello to the provisioner. In the...