#!/usr/bin/env bash # # Run ansible set -euo pipefail IFS=$'\n\t' DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd "$DIR" function die { code="$1" shift 1 (>&2 echo "${@}") exit "$code" } target="$1" shift 1 if [ "$target" = "homeserver" ]; then ansible-playbook -v -i environments/home playbook.yaml --diff --limit homeserver "${@}" elif [ "$target" = "odolinux" ]; then ansible-playbook -v -i environments/laptop playbook.yaml --diff --limit odolinux "${@}" elif [ "$target" = "odofreebsd" ]; then ansible-playbook -v -i environments/laptop playbook.yaml --diff --limit odofreebsd "${@}" elif [ "$target" = "jail_nat_dhcp" ]; then ansible-playbook -v -i environments/jail playbook.yaml --diff --limit nat_dhcp "${@}" else die 1 "Unrecognized target" fi