1. Prepare your Vagrant config
Create a directory for your Vagrant config, and there you can create template
2. Enable puppet provisioning in the Vagrantfile
The location of the puppet manifest to be used for provisioning is
There are some settings that may be used to change manifest dir, name, etc. Check Vagrant docs for the details.
Now you are done with minimal Vagrant configuration and can move to writing puppet manifest.
3. Write a manifest to be used for provisioning
By default the location of the manifest will be
3.1. Choose puppet modules to use with your manifest.
The set of the libraries used, obviously, depends on what kind of resources you want to manage. For example, if you want to setup rvm on the system, you should use some rvm-managing module, for example,
The modules should be included in your config. The modules location is defined in config and, in our case, is
There are two ways to install puppet modules:
- Install them manually, but you would need to cope with dependencies as well;
puppet module installcommand which handles dependencies automatically. There are some parameters to use, for example,
3.2 Write own manifest to describe the system.
For example, if you are using
maestrodev/rvm module, one may use the following simple way to ensure some rubies are installed on the system:
4. Try your configuration
vagrant up to start your VM with provisioning.
See attachment for the example.