#!/usr/bin/env ruby
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure('2') do |config|
  config.omnibus.chef_version = '11.16.4'
  config.berkshelf.enabled = true
  config.vm.define 'vagrant' do |node|
    node.vm.box = 'chef/ubuntu-14.04'
    node.vm.hostname = 'vagrant'
    node.vm.provision :chef_solo do |chef|
      chef.log_level = :debug
      chef.data_bags_path = 'test/data_bags'
      chef.json = {
        'dsh' => {
          'mappings' => {
            'user_name' => 'root',
            'shim_user_name' => {
              'prod' => 'u1',
              'prod-z2' => 'u2'
            },
            'names' => {
              'vagrant' => 'v'
            },
            'tags' => {
              'offline' => true
            },
            'excludes' => {
              'offline' => true
            },
            'environments' => {
              '_default' => 'prod-z2',
              'test' => 'prod'
            },
            'roles' => {
              'media' => 'med',
              'med' => 'med',
              'con' => 'con',
              'chf' => 'chf',
              'csk' => 'csk',
              'app' => 'app',
              'web' => 'web',
              'zk' => 'zk',
              'zookeeper' => 'zk',
              'cb' => 'cb',
              'couchbase' => 'cb',
              'rb' => 'rmq',
              'rmq' => 'rmq',
              'rabbit' => 'rmq',
              'rabbitmq' => 'rmq',
              'car' => 'car',
              'rec' => 'rec',
              'cobalt' => 'cob',
              'wowza' => 'wow',
              'freeswitch' => 'fs',
              'demo' => 'demo',
              'indigo' => 'ind'
            },
            'aggregates' => {
              'no-app' => %w[ med con chf csk rec ],
              'all' => %w[ app med con chf csk rec ],
              'inf' => %w[ zk cb rmq ]
            },
            'suffixes!' => {
              'prod-z2' => '-z2'
            },
            'prefixes' => {
              'v' => 'v-'
            }
          }
        }
      }
      chef.run_list = %w(
        recipe[apt]
        recipe[chef-solo-search]
        recipe[bjn_dsh]
      )
    end
  end
  config.vm.provider :virtualbox do |vbox|
    vbox.customize [ 'modifyvm', :id, '--natdnshostresolver1', 'on' ]
    vbox.customize [ 'modifyvm', :id, '--natdnsproxy1', 'on' ]
  end
end