From 2a45a7f68058c32212eeb1a20107ceb326205f2a Mon Sep 17 00:00:00 2001 From: Luke Else Date: Tue, 21 Jul 2026 20:44:54 +0100 Subject: [PATCH] chore: Cleaned up control script by seperating servers apart --- control.sh | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/control.sh b/control.sh index 761fa58..a230171 100755 --- a/control.sh +++ b/control.sh @@ -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 ;;