26 lines
727 B
Ruby
26 lines
727 B
Ruby
require 'yaml'
|
|
|
|
settings = YAML.load_file('settings.yml')
|
|
|
|
VAGRANTFILE_API_VERSION = "2"
|
|
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|
config.ssh.insert_key = false
|
|
config.vm.synced_folder ".", "/vagrant", disabled: true
|
|
|
|
settings['vms'].each do |vm|
|
|
config.vm.define vm['name'] do |node|
|
|
node.vm.box = vm['os']
|
|
node.vm.hostname = vm['hostname']
|
|
node.vm.network :private_network, ip: vm['ip']
|
|
# provider
|
|
config.vm.provider settings['provider']['type'].to_sym do |v|
|
|
v.memory = vm['memory']
|
|
|
|
# Provisioning configuration for Ansible.
|
|
config.vm.provision "ansible" do |ansible|
|
|
ansible.playbook = "playbooks/install.yml"
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end |