# -*- mode: ruby -*- # vi: set ft=ruby : # rubocop:disable LineLength # plugins don't seem to be auto-loaded from the bundle require 'vagrant-omnibus' require 'vagrant-windows' def box_type @box_type ||= begin # Returns `/Users/schisamo/dev/code/schisamo/vagrant-omnibus/test/acceptance/vmware_fusion` full_dir = File.dirname(File.expand_path(__FILE__)) # Returns `vmware_fusion` base_dir = full_dir.split('/').last base_dir.split('_').first end end Vagrant.configure('2') do |config| config.vm.define :new_chef do |new_chef_config| new_chef_config.vm.box = 'opscode-ubuntu-12.04' new_chef_config.vm.box_url = 'http://opscode-vm-bento.s3.amazonaws.com/vagrant/#{box_type}/opscode_ubuntu-12.04_chef-provisionerless.box' new_chef_config.omnibus.chef_version = :latest new_chef_config.vm.provision :chef_solo do |chef| chef.cookbooks_path = File.expand_path('../../../support/cookbooks', __FILE__) chef.add_recipe 'chef-inator' end end config.vm.define :old_chef do |old_chef_config| old_chef_config.vm.box = 'opscode-centos-6.5' old_chef_config.vm.box_url = 'http://opscode-vm-bento.s3.amazonaws.com/vagrant/#{box_type}/opscode_centos-6.5_chef-provisionerless.box' old_chef_config.omnibus.chef_version = '10.24.0' old_chef_config.vm.provision :chef_solo do |chef| chef.cookbooks_path = File.expand_path('../../../support/cookbooks', __FILE__) chef.add_recipe 'chef-inator' end end # We don't have legacy VMware boxes unless box_type == 'vmware' config.vm.define :chef_already_installed do |installed_config| installed_config.vm.box = 'opscode-ubuntu-12.04-chef-11.4.4' installed_config.vm.box_url = 'https://opscode-vm-bento.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_chef-11.4.4.box' installed_config.omnibus.chef_version = '11.4.4' installed_config.vm.provision :chef_solo do |chef| chef.cookbooks_path = File.expand_path('../../../support/cookbooks', __FILE__) chef.add_recipe 'chef-inator' end end end config.vm.define :chef_on_windows do |win_config| # win_config.vm.guest = :windows win_config.vm.box = 'win7x64-pro' # build this yourself https://github.com/misheska/basebox-packer # win_config.vm.box_url = '' win_config.vm.boot_timeout = 500 win_config.winrm.timeout = 500 win_config.omnibus.chef_version = :latest win_config.vm.provision :chef_solo do |chef| chef.cookbooks_path = File.expand_path('../../../support/cookbooks', __FILE__) chef.add_recipe 'chef-inator' end end config.vm.define :no_bash do |c| c.vm.box = 'opscode-freebsd-9.2' c.vm.box_url = 'http://opscode-vm-bento.s3.amazonaws.com/vagrant/#{box_type}/opscode_freebsd-9.2_chef-provisionerless.box' c.omnibus.chef_version = :latest c.vm.synced_folder '.', '/vagrant', type: 'rsync', id: 'vagrant-root' # This forces all remote commands to execute under `sh`. If we don't # add this config then all `chef` related commands will execute # with `bash` (which might not be installed). c.ssh.shell = 'sh' c.vm.provision :chef_solo do |chef| chef.synced_folder_type = 'rsync' chef.cookbooks_path = File.expand_path('../../../support/cookbooks', __FILE__) chef.add_recipe 'chef-inator' end end end