27 lines
903 B
Ruby
27 lines
903 B
Ruby
VAGRANTFILE_API_VERSION = "2"
|
|
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|
config.vm.box = "ubuntu/jammy64"
|
|
config.vm.provider "virtualbox" do |v|
|
|
v.memory = 1024
|
|
v.cpus = 2
|
|
end
|
|
N = 3
|
|
(1..N).each do |machine_id|
|
|
config.vm.define "web#{machine_id}" do |machine|
|
|
machine.vm.hostname = "web#{machine_id}"
|
|
machine.vm.network "forwarded_port", guest: 80, host: "808#{machine_id+1}"
|
|
machine.vm.network "private_network", ip: "192.168.56.#{machine_id+1}"
|
|
# Only execute once the Ansible provisioner,
|
|
# when all the machines are up and ready.
|
|
if machine_id == N
|
|
machine.vm.provision :ansible do |ansible|
|
|
# Disable default limit to connect to all the machines
|
|
ansible.limit = "all"
|
|
ansible.playbook = "ansible/playbook.yaml"
|
|
ansible.vault_password_file = "vault_pass"
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|