#!/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 "$@"