diff --git a/Vagrantfile b/Vagrantfile index 15cd010..704561d 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -1,31 +1,22 @@ -# GLOBAL CONFIG +require 'yaml' -require "yaml" -settings = YAML.load_file "settings.yaml" +settings = YAML.load_file('settings.yaml') VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| - config.vm.box = "debian/bookworm64" config.ssh.insert_key = false config.vm.synced_folder ".", "/vagrant", disabled: true - # VM Provider - config.vm.provider :virtualbox do |v| - v.memory = 1024 - v.linked_clone = true - end -# STACK - # GUAC SERVER - config.vm.define "guac-server" do |server| - server.vm.hostname = "server.dev" - # static ip address - server.vm.network :private_network, ip: "192.168.60.2" - end + settings['vms'].each do |vm| + config.vm.define vm['name'] do |node| + node.vm.box = vm['os'] + node.vm.hostname = vm['hostname'] + node.vm.network :private_network, ip: vm['ip'] - # GUACD - config.vm.define "guac-agent" do |agent| - agent.vm.hostname = "agent.dev" - # static ip address - agent.vm.network :private_network, ip: "192.168.60.3" + config.vm.provider settings['provider']['type'].to_sym do |v| + v.memory = vm['memory'] + v.linked_clone = settings['provider']['linked_clone'] + end + end end end diff --git a/settings.yaml b/settings.yaml index d5f0736..226b21b 100644 --- a/settings.yaml +++ b/settings.yaml @@ -1,12 +1,16 @@ -nodes: - control: - cpu: 2 - memory: 4096 - workers: - count: 2 - cpu: 1 - memory: 2048 +vms: + - name: "server-1" + hostname: "server.dev" + ip: "192.168.60.2" + memory: 1024 + os: "debian/bookworm64" -software: - box: debian/bookworm64 - os: Debian_12 + - name: "server-2" + hostname: "agent.dev" + ip: "192.168.60.3" + memory: 1024 + os: "debian/bookworm64" + +provider: + type: "virtualbox" + linked_clone: true \ No newline at end of file