chore: Cleaned up control script by seperating servers apart

This commit is contained in:
2026-07-21 20:44:54 +01:00
parent 52aa4278bf
commit 2a45a7f680
+27 -13
View File
@@ -194,9 +194,14 @@ ansible_inventory() { run_in "$ANSIBLE_DIR" ansible-inventory --graph; }
play() { run_in "$ANSIBLE_DIR" ansible-playbook "playbooks/$1" -l "$2"; }
ansible_bootstrap_vpn() { play bootstrap.yml role_vpn; }
ansible_deploy_vpn() { play deploy.yml role_vpn && play spinup.yml role_vpn; }
ansible_bootstrap_dp() { play bootstrap.yml role_dev,role_prod; }
ansible_deploy_dp() { play deploy.yml role_dev,role_prod && play spinup.yml role_dev,role_prod; }
ansible_deploy_vpn() { play deploy.yml role_vpn; }
ansible_spinup_vpn() { play spinup.yml role_vpn; }
ansible_bootstrap_dev() { play bootstrap.yml role_dev; }
ansible_deploy_dev() { play deploy.yml role_dev; }
ansible_spinup_dev() { play spinup.yml role_dev; }
ansible_bootstrap_prod() { play bootstrap.yml role_prod; }
ansible_deploy_prod() { play deploy.yml role_prod; }
ansible_spinup_prod() { play spinup.yml role_prod; }
ansible_spindown() {
local target
@@ -218,7 +223,7 @@ Steps, in order:
2. Ansible: bootstrap + deploy + spinup for role_vpn
3. YOU: visit https://vpn.luke-else.co.uk, complete wg-easy's setup,
add a client peer, and connect with a WireGuard client
4. Ansible: bootstrap + deploy + spinup for role_dev,role_prod
4. Ansible: bootstrap + deploy + spinup for role_dev, then role_prod
EOF
confirm "Start the guided walkthrough?" || return 0
@@ -237,7 +242,7 @@ EOF
echo; title "2/4 Ansible - vpn"
if confirm "Bootstrap + deploy + spinup role_vpn now?"; then
ansible_bootstrap_vpn && ansible_deploy_vpn || { bad "vpn step failed - stopping."; return 1; }
ansible_bootstrap_vpn && ansible_deploy_vpn && ansible_spinup_vpn || { bad "vpn step failed - stopping."; return 1; }
fi
echo; title "3/4 Connect the VPN"
@@ -245,8 +250,11 @@ EOF
confirm "Are you connected to the VPN?" || { warn "Stopping - reconnect and re-run this step."; return 0; }
echo; title "4/4 Ansible - dev + prod"
if confirm "Bootstrap + deploy + spinup role_dev,role_prod now?"; then
ansible_bootstrap_dp && ansible_deploy_dp || { bad "dev/prod step failed."; return 1; }
if confirm "Bootstrap + deploy + spinup role_dev now?"; then
ansible_bootstrap_dev && ansible_deploy_dev && ansible_spinup_dev || { bad "dev step failed."; return 1; }
fi
if confirm "Bootstrap + deploy + spinup role_prod now?"; then
ansible_bootstrap_prod && ansible_deploy_prod && ansible_spinup_prod || { bad "prod step failed."; return 1; }
fi
ok "Guided setup complete."
}
@@ -271,9 +279,10 @@ menu() {
title "Ansible (ansible/)"
echo " 10) Install collections 11) Show inventory"
echo " 12) Bootstrap vpn 13) Deploy + spinup vpn"
echo " 14) Bootstrap dev+prod 15) Deploy + spinup dev+prod"
echo " 16) Spindown (choose target)"
echo " 12) Bootstrap vpn 13) Deploy vpn 14) Spinup vpn"
echo " 15) Bootstrap dev 16) Deploy dev 17) Spinup dev"
echo " 18) Bootstrap prod 19) Deploy prod 20) Spinup prod"
echo " 21) Spindown (choose target)"
echo
echo " 0) Quit"
@@ -297,9 +306,14 @@ while true; do
11) ansible_inventory; pause ;;
12) ansible_bootstrap_vpn; pause ;;
13) ansible_deploy_vpn; pause ;;
14) ansible_bootstrap_dp; pause ;;
15) ansible_deploy_dp; pause ;;
16) ansible_spindown; pause ;;
14) ansible_spinup_vpn; pause ;;
15) ansible_bootstrap_dev; pause ;;
16) ansible_deploy_dev; pause ;;
17) ansible_spinup_dev; pause ;;
18) ansible_bootstrap_prod; pause ;;
19) ansible_deploy_prod; pause ;;
20) ansible_spinup_prod; pause ;;
21) ansible_spindown; pause ;;
0) echo "Bye."; exit 0 ;;
"") ;;
*) warn "Unknown option: $choice"; pause ;;