diff --git a/image/entrypoints/apply.sh b/image/entrypoints/apply.sh index 876e9745..84478e3c 100755 --- a/image/entrypoints/apply.sh +++ b/image/entrypoints/apply.sh @@ -8,6 +8,7 @@ setup init-backend-workspace set-plan-args +AUTO_APPROVE="-auto-approve" PLAN_OUT="$STEP_TMP_DIR/plan.out" function update_comment() { @@ -29,10 +30,17 @@ function apply() { set +e if [[ -n "$PLAN_OUT" ]]; then + + if [[ "$TERRAFORM_BACKEND_TYPE" == "cloud" ]]; then + # Using the auto approve flag when applying a saved remote plan makes terraform hang + # It does not prompt for approval anyway + AUTO_APPROVE="" + fi + # shellcheck disable=SC2086 - debug_log $TOOL_COMMAND_NAME apply -input=false -no-color -auto-approve -lock-timeout=300s $PARALLEL_ARG $PLAN_OUT + debug_log $TOOL_COMMAND_NAME apply -input=false -no-color $AUTO_APPROVE -lock-timeout=300s $PARALLEL_ARG $PLAN_OUT # shellcheck disable=SC2086 - (cd "$INPUT_PATH" && $TOOL_COMMAND_NAME apply -input=false -no-color -auto-approve -lock-timeout=300s $PARALLEL_ARG $PLAN_OUT) \ + (cd "$INPUT_PATH" && $TOOL_COMMAND_NAME apply -input=false -no-color $AUTO_APPROVE -lock-timeout=300s $PARALLEL_ARG $PLAN_OUT) \ 2>"$STEP_TMP_DIR/terraform_apply.stderr" \ | $TFMASK APPLY_EXIT=${PIPESTATUS[0]}