Remove inventory/ directory tree to allow people to manage it as a git repository (etc.)

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3086
This commit is contained in:
Slavi Pantaleev
2024-01-09 19:08:43 +02:00
parent 3e19c8b102
commit 2f457b2a23
6 changed files with 5 additions and 6 deletions

32
bin/ansible-all-hosts.sh Normal file
View File

@ -0,0 +1,32 @@
#!/usr/bin/env bash
#
# Run the playbook on multiple hosts with different credentials with this script
# It defaults to ansible tags "setup-all,start". You can pass alternative tags
# to this script as arguments, e.g.
#
# ./inventory/scripts/ansible-all-hosts.sh self-check
#
# set playbook root path
root=$(dirname "$(readlink -f "$0")")/../..
# set default tags or get from first argument if any
tags="${1:-setup-all,start}"
# init password array
declare -A pws
# capture passwords for all hosts
for host in "$root"/inventory/*.yml; do
read -rp "sudo password for $(basename "$host"): " -s pw
pws[$host]="$pw"
echo
done
# run ansible on all captured passwords/hosts
for host in "${!pws[@]}"; do
ansible-playbook "$root"/setup.yml \
--inventory-file "$host" \
--extra-vars "ansible_become_pass=${pws[$host]}" \
--tags="$tags"
done