From 57a9e18a73bc9c8a0c0f23f5e492519da2560a69 Mon Sep 17 00:00:00 2001 From: Timo Furrer <tfurrer@gitlab.com> Date: Tue, 6 Feb 2024 07:07:43 +0100 Subject: [PATCH] Proxy component inputs with variables to job Even though it is against the CI/CD component best practices this always for a smoother transition from the Terraform CI/CD templates. We can remove that proxy again in a later major version. --- templates/apply.yml | 6 +++--- templates/delete-state.yml | 6 ++++-- templates/destroy.yml | 6 +++--- templates/fmt.yml | 2 +- templates/plan.yml | 6 +++--- templates/validate.yml | 2 +- 6 files changed, 15 insertions(+), 13 deletions(-) diff --git a/templates/apply.yml b/templates/apply.yml index e11bf40..ae0de41 100644 --- a/templates/apply.yml +++ b/templates/apply.yml @@ -51,9 +51,9 @@ spec: '$[[ inputs.as ]]': stage: $[[ inputs.stage ]] environment: - name: $[[ inputs.state_name ]] + name: $TF_STATE_NAME action: start - resource_group: $[[ inputs.state_name ]] + resource_group: $TF_STATE_NAME rules: - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && "$[[ inputs.auto_apply ]]" == "true"' - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH @@ -61,7 +61,7 @@ spec: cache: key: "$__CACHE_KEY_HACK" paths: - - $[[ inputs.root_dir ]]/.terraform/ + - $TF_ROOT/.terraform/ variables: # FIXME: work around to make slashes work in `cache:key`. see https://gitlab.com/gitlab-org/gitlab/-/issues/439898 __CACHE_KEY_HACK: "$[[ inputs.root_dir ]]" diff --git a/templates/delete-state.yml b/templates/delete-state.yml index c88dc4e..9a499ea 100644 --- a/templates/delete-state.yml +++ b/templates/delete-state.yml @@ -20,10 +20,12 @@ spec: '$[[ inputs.as ]]': stage: $[[ inputs.stage ]] - resource_group: $[[ inputs.state_name ]] + resource_group: $TF_STATE_NAME image: curlimages/curl:latest + variables: + TF_STATE_NAME: $[[ inputs.state_name ]] script: - - curl --request DELETE -u "gitlab-ci-token:$CI_JOB_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/terraform/state/$[[ inputs.state_name ]]" + - curl --request DELETE -u "gitlab-ci-token:$CI_JOB_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/terraform/state/$TF_STATE_NAME" rules: - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' - when: manual diff --git a/templates/destroy.yml b/templates/destroy.yml index bcde646..a14695b 100644 --- a/templates/destroy.yml +++ b/templates/destroy.yml @@ -51,16 +51,16 @@ spec: '$[[ inputs.as ]]': stage: $[[ inputs.stage ]] environment: - name: $[[ inputs.state_name ]] + name: $TF_STATE_NAME action: stop - resource_group: $[[ inputs.state_name ]] + resource_group: $TF_STATE_NAME rules: - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && "$[[ inputs.auto_destroy ]]" == "true"' - when: manual cache: key: "$__CACHE_KEY_HACK" paths: - - $[[ inputs.root_dir ]]/.terraform/ + - $TF_ROOT/.terraform/ variables: # FIXME: work around to make slashes work in `cache:key`. see https://gitlab.com/gitlab-org/gitlab/-/issues/439898 __CACHE_KEY_HACK: "$[[ inputs.root_dir ]]" diff --git a/templates/fmt.yml b/templates/fmt.yml index 973725d..3f48faa 100644 --- a/templates/fmt.yml +++ b/templates/fmt.yml @@ -61,7 +61,7 @@ spec: cache: key: "$__CACHE_KEY_HACK" paths: - - $[[ inputs.root_dir ]]/.terraform/ + - $TF_ROOT/.terraform/ variables: # FIXME: work around to make slashes work in `cache:key`. see https://gitlab.com/gitlab-org/gitlab/-/issues/439898 __CACHE_KEY_HACK: "$[[ inputs.root_dir ]]" diff --git a/templates/plan.yml b/templates/plan.yml index 7662d4d..0e3e413 100644 --- a/templates/plan.yml +++ b/templates/plan.yml @@ -60,9 +60,9 @@ spec: # See: https://docs.gitlab.com/ee/ci/yaml/#artifactspublic public: false paths: - - $[[ inputs.root_dir ]]/plan.cache + - $TF_ROOT/plan.cache reports: - terraform: $[[ inputs.root_dir ]]/plan.json + terraform: $TF_ROOT/plan.json rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" - if: $CI_OPEN_MERGE_REQUESTS # Don't add it to a *branch* pipeline if it's already in a merge request pipeline. @@ -71,7 +71,7 @@ spec: cache: key: "$__CACHE_KEY_HACK" paths: - - $[[ inputs.root_dir ]]/.terraform/ + - $TF_ROOT/.terraform/ variables: # FIXME: work around to make slashes work in `cache:key`. see https://gitlab.com/gitlab-org/gitlab/-/issues/439898 __CACHE_KEY_HACK: "$[[ inputs.root_dir ]]" diff --git a/templates/validate.yml b/templates/validate.yml index e8920c2..0dc8e3d 100644 --- a/templates/validate.yml +++ b/templates/validate.yml @@ -55,7 +55,7 @@ spec: cache: key: "$__CACHE_KEY_HACK" paths: - - $[[ inputs.root_dir ]]/.terraform/ + - $TF_ROOT/.terraform/ variables: # FIXME: work around to make slashes work in `cache:key`. see https://gitlab.com/gitlab-org/gitlab/-/issues/439898 __CACHE_KEY_HACK: "$[[ inputs.root_dir ]]" -- GitLab