examples/surrealdb_tikv_prod/deploy_nodes.sh

47 lines
1.2 KiB
Bash
Executable File

#!/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
}
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