From 2d8e1765f97b1ceac8d0b2fa1f59d447555e4548 Mon Sep 17 00:00:00 2001 From: Timo Furrer <tfurrer@gitlab.com> Date: Fri, 31 May 2024 08:57:08 +0200 Subject: [PATCH] Introduce auto-approve with FF --- .gitlab/README.md.template | 1 + README.md | 1 + src/gitlab-tofu.sh | 13 +++++++++++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.gitlab/README.md.template b/.gitlab/README.md.template index 520248f..2120dba 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 fb79a61..44a2267 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 9282763..0f8b02b 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") -- GitLab