#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 Fileinlineargspath
puppet- Puppet Manifest Configurationmodulesmanifests_pathoptions
puppet_serverPuppet Server Configurationserveroptions
chef- Chef Configurationlog_levelcookbooks_pathroles_pathdata_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