# -*- 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