Vagrant.configure("2") do |config| config.vm.box = "debian/bullseye64" config.vm.synced_folder '.', '/vagrant', disabled: true # Allows WSL call to work within WSL filesystem config.vm.provision :shell, path: "https://git.halis.io/athens-school/ISO-repository/raw/branch/master/quick-installer.sh", run: "once" config.vm.provider "virtualbox" do |v| v.memory = 1024 v.cpus = 1 end boxes = [ { :name => "hb-slim-1", :ip => "192.168.56.11"}, { :name => "hb-slim-2", :ip => "192.168.56.12"}, { :name => "hb-slim-3", :ip => "192.168.56.13"}, { :name => "hb-wide-1", :ip => "192.168.56.101", :cpus => 2, :memory => 4096}, { :name => "hb-wide-2", :ip => "192.168.56.102", :cpus => 2, :memory => 4096}, ] boxes.each do |opts| config.vm.define opts[:name] do |box| box.vm.hostname = opts[:name] box.vm.network "private_network", ip: opts[:ip] box.vm.provider "virtualbox" do |v| if !opts[:memory].nil? v.memory = opts[:memory] end if !opts[:cpus].nil? v.cpus = opts[:cpus] end end end end end