summaryrefslogtreecommitdiff
path: root/puppet/Vagrantfile
diff options
context:
space:
mode:
Diffstat (limited to 'puppet/Vagrantfile')
-rw-r--r--puppet/Vagrantfile61
1 files changed, 61 insertions, 0 deletions
diff --git a/puppet/Vagrantfile b/puppet/Vagrantfile
new file mode 100644
index 0000000..8999cf0
--- /dev/null
+++ b/puppet/Vagrantfile
@@ -0,0 +1,61 @@
+# -*- 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"
+ puppet.working_directory = "/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