require "open-uri" Vagrant.configure("2") do |config| config.ssh.insert_key = false [:app].each_with_index do |role, i| config.vm.define(role, primary: true) do |primary| primary.vm.define role primary.vm.box = "hashicorp/precise64" primary.vm.network "forwarded_port", guest: 22, host: "222#{i}".to_i primary.vm.provision :shell, inline: "sudo apt-get -y install git-core" vagrantkey = open("https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub", "r", &:read) primary.vm.provision :shell, inline: <<-INLINE install -d -m 700 /root/.ssh echo -e "#{vagrantkey}" > /root/.ssh/authorized_keys chmod 0600 /root/.ssh/authorized_keys INLINE end end end