# This is a set of different vagrant setups that are primarily useful for package
# building and testing. The techniques here were borrowed from the Git Fusion
# team.
Vagrant.configure(2) do |config|

  config.vm.define 'test-centos6' do |vagrant|
    vagrant.vm.hostname = 'test-centos6'
    vagrant.vm.box = 'chef/centos-6.5'
    vagrant.vm.network :private_network, ip: '172.16.100.100'

    vagrant.vm.synced_folder '.', '/home/vagrant/hws'

    vagrant.vm.provider 'virtualbox' do |vb|
      vb.memory = 2048
    end
  end

  config.vm.define 'test-ubuntu12' do |vagrant|
    vagrant.vm.hostname = 'test-ubuntu12'
    vagrant.vm.box = 'precise64'
    vagrant.vm.box_url = 'http://files.vagrantup.com/precise64.box'
    vagrant.vm.network :private_network, ip: '172.16.100.101'

    vagrant.vm.synced_folder '.', '/home/vagrant/hws'

    # We have real problems provisioning a machine with only 1GB RAM.
    vagrant.vm.provider 'virtualbox' do |vb|
      vb.memory = 2048
    end

    # vagrant.vm.provision 'salt' do |salt|
    #   salt.run_highstate = false
    #   salt.minion_config = './salt/minion-test'
    # end
  end

  config.vm.define 'test-ubuntu14' do |vagrant|
    vagrant.vm.hostname = 'test-ubuntu14'
    vagrant.vm.box = 'ubuntu/trusty64'
    # vagrant.vm.network :private_network, ip: '172.16.100.102'

    vagrant.vm.synced_folder '.', '/home/vagrant/hws'

    # We have real problems provisioning a machine with only 1GB RAM.
    vagrant.vm.provider 'virtualbox' do |vb|
      vb.memory = 2048
    end

    # vagrant.vm.provision 'salt' do |salt|
    #   salt.run_highstate = false
    #   salt.minion_config = './salt/minion-test'
    # end
  end
end