#!/usr/bin/env bash set -euo pipefail REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "$REPO_ROOT" LIMIT="" EXTRA_ARGS=() EXTRA_VARS=() APP="" APP_ENV="" usage() { cat <&2 usage >&2 exit 1 ;; esac done if [[ -z "$APP" || -z "$APP_ENV" ]]; then echo "error: --app and --env are required" >&2 usage >&2 exit 1 fi CMD=(ansible-playbook playbooks/stop-apps.yml "${EXTRA_ARGS[@]}" "${EXTRA_VARS[@]}") if [[ -n "$LIMIT" ]]; then CMD+=(--limit "$LIMIT") echo "==> Stopping ${APP}/${APP_ENV} on: $LIMIT" else echo "==> Stopping ${APP}/${APP_ENV} on all webservers" fi exec "${CMD[@]}"