39 lines
1.0 KiB
Bash
Executable File
39 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
#keep adding dirname's to go up more directories.
|
|
project_dir="$(dirname $( dirname $(readlink -f ${BASH_SOURCE[0]})))"
|
|
|
|
declare -ar REQUIRED_ENVIRONMENT_VARIABLES=(
|
|
"PROXMOX_PASSWORD"
|
|
"GMAIL_SERVICE_PASSWORD"
|
|
)
|
|
|
|
main() {
|
|
check-env
|
|
run-ansible
|
|
}
|
|
|
|
check-env() {
|
|
local -a undefined_variables=()
|
|
|
|
for var in "${REQUIRED_ENVIRONMENT_VARIABLES[@]}"; do
|
|
if [[ ! -v ${var} ]]; then
|
|
undefined_variables+=("${var}")
|
|
fi
|
|
done
|
|
|
|
if [[ "${#undefined_variables[@]}" -gt 0 ]]; then
|
|
echo "${red}ERROR: The following environment variables must be defined:"
|
|
printf ' %s\n' "${undefined_variables[@]}"
|
|
echo "${reset}"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
run-ansible() {
|
|
#ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i ${project_dir}/hosts ${project_dir}/playbooks/lxc-test.yml
|
|
ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i ${project_dir}/hosts ${project_dir}/playbooks/kvm.yml
|
|
ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i ${project_dir}/hosts ${project_dir}/playbooks/site.yml
|
|
}
|
|
|
|
[[ $0 == "${BASH_SOURCE}" ]] && main "$@"
|