#!/bin/bash
#
# Ansible Collection Boilerplate:
# "ap": ansible-playbook(1) wrapper script.
#

# Change working directory to the base directory ...
cd "$(dirname "$0")/.." || exit 1

# Prepare environment ...
set -e
pwd
test -x "${PWD}/.venv/bin/ansible-playbook" || make "${PWD}/.venv/bin/ansible"

# Get playbook name:
play="$1"
shift

# Search playbook ...
unset playbook
for dir in \
	. \
	playbooks{,/deploy,/site} \
	ansible_galaxy/ansible_collections/*/*/playbooks \
; do
	playbook="${dir}/${play}.yml"
	test -r "${playbook}" && break
	unset playbook
done
[[ -n "${playbook}" ]] || playbook="${play}"

# Options ...
options=("$@")

[[ -r .ansible-vault-secret ]] && options+=("--vault-password-file=.ansible-vault-secret")

# Run ansible-playbook(1):
set -x
"${PWD}/.venv/bin/ansible-playbook" "${playbook}" "${options[@]}"
