Feat/open tofu #8
+27
-13
@@ -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 ;;
|
||||||
|
|||||||
Reference in New Issue
Block a user