diff --git a/.gitlab/README.md.template b/.gitlab/README.md.template index 520248f81b5cdbfe8ab703deec2ff1331f0c642b..2120dba08024c808a71cb3853c909daa041965e8 100644 --- a/.gitlab/README.md.template +++ b/.gitlab/README.md.template @@ -105,6 +105,7 @@ but no destructive actions. - [`validate-plan`](templates/validate-plan.yml) - [`validate-plan-apply`](templates/validate-plan-apply.yml) +- [`validate-plan-destroy`](templates/validate-plan-destroy.yml) ### Job Templates diff --git a/README.md b/README.md index fb79a6165ef33ce7b3d9738bcf0d216834ee9632..44a22673162cd066e52450e75c70f1a0d3d68de5 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,7 @@ but no destructive actions. - [`validate-plan`](templates/validate-plan.yml) - [`validate-plan-apply`](templates/validate-plan-apply.yml) +- [`validate-plan-destroy`](templates/validate-plan-destroy.yml) ### Job Templates diff --git a/src/gitlab-tofu.sh b/src/gitlab-tofu.sh index 9282763d5e39d4e8de75f79c4de0c5fe9af2a48b..0f8b02b5949b2822524cd6149de483a51ccb2d5a 100644 --- a/src/gitlab-tofu.sh +++ b/src/gitlab-tofu.sh @@ -16,6 +16,10 @@ if [ -z "$TF_FF_AUTO_URLENCODE_STATE_NAME" ]; then TF_FF_AUTO_URLENCODE_STATE_NAME=true fi +if [ -z "$TF_FF_AUTO_APPROVE_APPLY" ]; then + TF_FF_AUTO_APPROVE_APPLY=true +fi + # Helpers # Evaluate if this script is being sourced or executed directly. @@ -165,11 +169,16 @@ if [ $sourced -eq 0 ]; then case "${1}" in "apply") + auto_approve_args="" + if [ "${TF_FF_AUTO_APPROVE_APPLY}" = true ]; then + auto_approve_args="-auto-approve" + fi + $TF_IMPLICIT_INIT && terraform_init if [ "$TF_APPLY_NO_PLAN" = false ]; then - tofu "${TF_CHDIR_OPT}" "${@}" -input=false "${TF_PLAN_CACHE}" + tofu "${TF_CHDIR_OPT}" "${@}" -input=false "${auto_approve_args}" "${TF_PLAN_CACHE}" else - tofu "${TF_CHDIR_OPT}" "${@}" -input=false + tofu "${TF_CHDIR_OPT}" "${@}" -input=false "${auto_approve_args}" fi ;; "destroy")