#VagrantHitch
This vagrant module adds data driven infrastructure to your vagrant environment.
In order to install it with Vagrant 1.1+, please use the vagrant plugin
command.
NOTE: you will experience warnings, they are ignorable and will be cleared in a future update
vagrant plugin install vagrant-hitch
If you installed it as a ruby gem, or a vagrant plugin: Just add the following line to your Vagrantfile.
Vagrant::Config.run &VagrantHitch.up!(path_to_config_directory)
for example:
Vagrant::Config.run &VagrantHitch.up!(File.join(File.dirname(__FILE__),'config'))
If not installed as a gem, you'll have to source vagrant-hitch appropriately and add to your Vagrantfile:
require 'vagrant-hitch'
Example files are in the /example directory
The following vagrant paramters are available in the hitch configuration:
vbox
- <any valid vagrant box>vbox-url
- <valid box URL>boot_mode
- [:headless | :gui]orgname
- <organization name>cpu_count
- CPU Countmemory_size
- RAM Amountip
- <valid IP address>netmask
- <valid netmask>dns
- <hostname>tld
- <domain name>patterns
- [/^.*mysite.dev$/, /^.*myothersite.dev$/]guest
- Custom Guest Implementationports
- Custom Port Forwardswinrm
- WinRM configurationmounts
- Custom Mountsshell
- Shell Provision Fileinline
args
path
puppet
- Puppet Manifest Configurationmodules
manifests_path
options
puppet_server
Puppet Server Configurationserver
options
chef
- Chef Configurationlog_level
cookbooks_path
roles_path
data_bags_path
network_mode
- [:hostonly | :private_network | :public_network] (defaults to :hostonly)
The directory structure assumes:
. # Project directory
├── manifests
│ └── site.pp
├── modules
│ ├── dist
│ └── site
└── vagrant
├── Vagrantfile # Project vagrantfile
└── config # The data driven infrastructure directory
├── graph
│ ├── test1.vagrant.test
│ └── test2.vagrant.test
├── nodes.yml
└── provisioner_puppet.yml