
#!!! CHANGE IT !!!
X = "13"

require 'yaml'
nodes = YAML.load_file("./nodes.yaml")

Vagrant.configure("2") do |config|

### My config ###

  nodes.each do |opts| 
    config.vm.define opts["name"] do |config|
      config.vm.network "private_network", ip: "192.168." + X + "." + opts["ip"]
      config.vm.hostname = opts["name"]
	  
	  config.vm.synced_folder ".", "/vagrant", disabled: false
	  
      config.vm.provider :virtualbox do |vb|
#        vb.name = opts["name"]
        vb.memory = "2048"
        vb.cpus = "2"

        # file_to_disk = opts["name"] + '_2.vdi'
        # unless File.exist?(file_to_disk)
          # vb.customize ['createhd', '--filename', file_to_disk, '--size', 4 * 1024]
        # end
        # vb.customize ['storageattach', :id, '--storagectl', 'SATA', '--port', 2, '--device', 0, '--type', 'hdd', '--medium', file_to_disk]

      end
    end
  end

### /My config ###

### My provision ###

  config.vm.provision "provision_once", type: "shell", run: "once", path: "provision_once.sh"
  config.vm.provision "provision_onstart", type: "shell", run: "always", 
    args: X + " 2_arg 3_arg", 
	path: "provision_onstart.sh"

### /My provision ###

#  config.vm.box = "specialist/ubuntu20"
  config.vm.box = "generic/debian12"

end
