summaryrefslogtreecommitdiff
path: root/mut/bin/terragrunt
diff options
context:
space:
mode:
authorMike Vink <mike1994vink@gmail.com>2023-10-06 23:10:55 +0200
committerMike Vink <mike1994vink@gmail.com>2023-10-06 23:10:55 +0200
commitcfaef26e8718916adcc68fbfb63b15f2389b2cd2 (patch)
tree3989af4514d31d0a5cb89e8b96d51210ad7bf152 /mut/bin/terragrunt
parent654ec06ab6a885ea851c4cbf68d06a00b41b0e14 (diff)
move all the files
Diffstat (limited to 'mut/bin/terragrunt')
-rwxr-xr-xmut/bin/terragrunt94
1 files changed, 94 insertions, 0 deletions
diff --git a/mut/bin/terragrunt b/mut/bin/terragrunt
new file mode 100755
index 0000000..38918e8
--- /dev/null
+++ b/mut/bin/terragrunt
@@ -0,0 +1,94 @@
+#!@bash@/bin/bash
+TERRAGRUNT_ARGS=()
+CONTEXT=""
+ENV=""
+MODULE=""
+FULL=0
+while [[ $# -gt 0 ]]; do
+ case $1 in
+ -full)
+ FULL=1
+ shift
+ ;;
+ -m|--module-path)
+ MODULE="$2"
+ shift
+ shift
+ ;;
+ -m=*|--module-path=*)
+ MODULE="${1#*=}"
+ shift
+ ;;
+ -e|--env)
+ ABS_ENV="$2"
+ CONTEXT=${ABS_ENV%/*}
+ ENV=${ABS_ENV#*/}
+ shift
+ shift
+ ;;
+ -e=*|--env=*)
+ ABS_ENV="${1#*=}"
+ CONTEXT=${ABS_ENV%/*}
+ ENV=${ABS_ENV#*/}
+ 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}"
+TERRAGRUNT_EXTRA_MOUNTS=""
+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
+
+ENVIRONMENTS="$REPO/environments"
+WORKDIR="$ENVIRONMENTS/$ENV/$MODULE"
+
+# TODO(mike): how to do concise mode | grep -E '(^.*[#~+-] .*|^[[:punct:]]|Plan)'
+# TODO(mike): check expiry of azure directory
+echo "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 | grep --line-buffered -E '(^ .*[#~+-] .*|^[[:punct:]]|^Plan.*|^\S.*)'"
+if [[ $FULL -eq 0 ]]; then
+ 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 | grep --line-buffered -E '(^ .*[#~+-] .*|^[[:punct:]]|^Plan.*|^\S.*)'
+else
+ 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
+fi