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 # Box configuration (globale) config.vm.box = settings['box']['name'] config.vm.box_url = settings['box']['url'] settings['vms'].each do |vm| config.vm.define vm['name'] do |node| 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