Feat/open tofu #8

Merged
luke-else merged 24 commits from feat/open-tofu into main 2026-07-22 00:10:01 +00:00
Showing only changes of commit 2a45a7f680 - Show all commits
+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"; } play() { run_in "$ANSIBLE_DIR" ansible-playbook "playbooks/$1" -l "$2"; }
ansible_bootstrap_vpn() { play bootstrap.yml role_vpn; } ansible_bootstrap_vpn() { play bootstrap.yml role_vpn; }
ansible_deploy_vpn() { play deploy.yml role_vpn && play spinup.yml role_vpn; } ansible_deploy_vpn() { play deploy.yml role_vpn; }
ansible_bootstrap_dp() { play bootstrap.yml role_dev,role_prod; } ansible_spinup_vpn() { play spinup.yml role_vpn; }
ansible_deploy_dp() { play deploy.yml role_dev,role_prod && play spinup.yml role_dev,role_prod; } 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() { ansible_spindown() {
local target local target
@@ -218,7 +223,7 @@ Steps, in order:
2. Ansible: bootstrap + deploy + spinup for role_vpn 2. Ansible: bootstrap + deploy + spinup for role_vpn
3. YOU: visit https://vpn.luke-else.co.uk, complete wg-easy's setup, 3. YOU: visit https://vpn.luke-else.co.uk, complete wg-easy's setup,
add a client peer, and connect with a WireGuard client 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 EOF
confirm "Start the guided walkthrough?" || return 0 confirm "Start the guided walkthrough?" || return 0
@@ -237,7 +242,7 @@ EOF
echo; title "2/4 Ansible - vpn" echo; title "2/4 Ansible - vpn"
if confirm "Bootstrap + deploy + spinup role_vpn now?"; then 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 fi
echo; title "3/4 Connect the VPN" 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; } confirm "Are you connected to the VPN?" || { warn "Stopping - reconnect and re-run this step."; return 0; }
echo; title "4/4 Ansible - dev + prod" echo; title "4/4 Ansible - dev + prod"
if confirm "Bootstrap + deploy + spinup role_dev,role_prod now?"; then if confirm "Bootstrap + deploy + spinup role_dev now?"; then
ansible_bootstrap_dp && ansible_deploy_dp || { bad "dev/prod step failed."; return 1; } 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 fi
ok "Guided setup complete." ok "Guided setup complete."
} }
@@ -271,9 +279,10 @@ menu() {
title "Ansible (ansible/)" title "Ansible (ansible/)"
echo " 10) Install collections 11) Show inventory" echo " 10) Install collections 11) Show inventory"
echo " 12) Bootstrap vpn 13) Deploy + spinup vpn" echo " 12) Bootstrap vpn 13) Deploy vpn 14) Spinup vpn"
echo " 14) Bootstrap dev+prod 15) Deploy + spinup dev+prod" echo " 15) Bootstrap dev 16) Deploy dev 17) Spinup dev"
echo " 16) Spindown (choose target)" echo " 18) Bootstrap prod 19) Deploy prod 20) Spinup prod"
echo " 21) Spindown (choose target)"
echo echo
echo " 0) Quit" echo " 0) Quit"
@@ -297,9 +306,14 @@ while true; do
11) ansible_inventory; pause ;; 11) ansible_inventory; pause ;;
12) ansible_bootstrap_vpn; pause ;; 12) ansible_bootstrap_vpn; pause ;;
13) ansible_deploy_vpn; pause ;; 13) ansible_deploy_vpn; pause ;;
14) ansible_bootstrap_dp; pause ;; 14) ansible_spinup_vpn; pause ;;
15) ansible_deploy_dp; pause ;; 15) ansible_bootstrap_dev; pause ;;
16) ansible_spindown; 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 ;; 0) echo "Bye."; exit 0 ;;
"") ;; "") ;;
*) warn "Unknown option: $choice"; pause ;; *) warn "Unknown option: $choice"; pause ;;