#!/bin/bash script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) cd $script_dir set -e export FORMAT=YAML mkdir -p tmp/ rm -rf tmp/overlay-network cp -r ../overlay-network tmp/ rm -rf tmp/overlay-network/tmp cd tmp/overlay-network/vm_configs find . -maxdepth 1 -type f ! -name 'template-n.yaml' -exec rm -- '{}' + setup_vm () { vm_name="$1" cp template-n.yaml $vm_name.yaml sed -i "s/template-n/$vm_name/" $vm_name.yaml sed -i '/PublishPorts/d' $vm_name.yaml echo "ipv4: !PublishPorts [ 31337 ]" >> $vm_name.yaml sed -i '/hours:/d' $vm_name.yaml echo "hours: 800" >> $vm_name.yaml country_options=(GB FR CA US) country=${country_options[RANDOM % ${#country_options[@]}]} [[ "$vm_name" == "bastion-brain" ]] && country="FR" sed -i '/location:/d' $vm_name.yaml sed -i '/country:/d' $vm_name.yaml echo "location:" >> $vm_name.yaml echo " country: \"$country\"" >> $vm_name.yaml [[ "$vm_name" == "*mon" ]] && { sed -i '/vcpus:/d' $vm_name.yaml sed -i '/memory:/d' $vm_name.yaml echo "vcpus: 1" >> $vm_name.yaml echo "memory_mb: 2200" >> $vm_name.yaml } } setup_vm staging-brain-1 setup_vm staging-brain-2 setup_vm staging-brain-3 setup_vm staging-brain-mon setup_vm prod-brain-1 setup_vm prod-brain-2 setup_vm prod-brain-3 setup_vm prod-brain-mon setup_vm bastion-brain rm template-n.yaml cd ../ echo CREATING VMS! ./create_vms.sh sleep 10 ./setup_wg_mesh.sh