#!/bin/sh TERRAGRUNT_ARGS=() while [[ $# -gt 0 ]]; do case $1 in -full) FULL=1 shift ;; -p|--path) path="$2" shift shift ;; -p=*|--path=*) path="${1#*=}" shift ;; *|-*) TERRAGRUNT_ARGS+=("$1") shift esac done TTY="" case ${TERRAGRUNT_ARGS[0]} in plan) TERRAGRUNT_ARGS+=(-no-color -compact-warnings) ;; apply|destroy) TTY="-t" for arg in $TERRAGRUNT_ARGS; do if [[ $arg -eq "gruntplan" ]]; then TTY="" fi done TERRAGRUNT_ARGS+=(-no-color -compact-warnings) ;; init) TERRAGRUNT_ARGS+=(-no-color -compact-warnings) ;; esac VARIABLES="" REPO="${PWD}" for var in $(pass show work/env) do case $var in TERRAGRUNT_EXTRA_MOUNTS*) TERRAGRUNT_EXTRA_MOUNTS="$TERRAGRUNT_EXTRA_MOUNTS ${var#*=}" ;; *) VARIABLES="$VARIABLES$(printf ' -e %s' "$var")" ;; esac done for var in $(printenv) do case $var in TF_*) VARIABLES="$VARIABLES$(printf ' -e %s' $var)" ;; esac done WORKDIR="$REPO/$path" docker run --rm -i $TTY \ $VARIABLES \ -v $HOME/.terragrunt-cache:/tmp \ -v $HOME/.azure:/root/.azure \ -v $HOME/.netrc:/root/.netrc \ $TERRAGRUNT_EXTRA_MOUNTS \ -v ${REPO}:${REPO} \ -w ${WORKDIR} \ $TERRAGRUNT_CONTAINER terragrunt ${TERRAGRUNT_ARGS[@]} | filter-ansi