diff options
Diffstat (limited to 'puppet/Vagrantfile')
-rw-r--r-- | puppet/Vagrantfile | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/puppet/Vagrantfile b/puppet/Vagrantfile new file mode 100644 index 0000000..e7404a9 --- /dev/null +++ b/puppet/Vagrantfile @@ -0,0 +1,60 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant::Config.run do |config| + # Every Vagrant virtual environment requires a box to build off of. + config.vm.box = "wheezy" + + # Shell provisioner to setup basic environment. + config.vm.provision :shell, :inline => "/vagrant/puppet/bin/provision" + + # Enable provisioning with Puppet stand alone. + config.vm.provision :puppet do |puppet| + puppet.manifest_file = "bootstrap/vagrant.pp" + puppet.manifests_path = "puppet/manifests" + puppet.module_path = "puppet/modules" + puppet.temp_dir = "/etc/puppet" + end + + # Define a Host VM + config.vm.define :host do |host_config| + db_config.vm.box = "host" + web_config.vm.network :hostonly, "192.168.50.101" + end + + # Define a Puppetmaster VM + config.vm.define :master do |master_config| + master_config.vm.box = "master" + master_config.vm.forward_port 8139, 8140 + web_config.vm.network :hostonly, "192.168.50.102" + end + + # Define a Proxy VM + config.vm.define :proxy do |proxy_config| + proxy_config.vm.box = "proxy" + proxy_config.vm.forward_port 8139, 8140 + web_config.vm.network :hostonly, "192.168.50.103" + end + + # Define a Web VM + config.vm.define :web do |web_config| + web_config.vm.box = "web" + web_config.vm.forward_port 80, 8080 + web_config.vm.network :hostonly, "192.168.50.104" + end + + # Define a Storage VM + config.vm.define :storage do |storage_config| + storage_config.vm.box = "storage" + storage_config.vm.network :hostonly, "192.168.50.105" + end + + # Define a Test VM + config.vm.define :test do |test_config| + test_config.vm.box = "test" + test_config.vm.network :hostonly, "192.168.50.106" + end + + # Share hiera configuration. + config.vm.share_folder "hiera", "/etc/puppet/hiera", "puppet/hiera", create: true +end |