From 7d3d137dba777fb2990d875590e76c4f27249c55 Mon Sep 17 00:00:00 2001 From: Toby Griffiths <toby@cubicmushroom.co.uk> Date: Tue, 5 Nov 2024 00:07:52 +0000 Subject: [PATCH] Pass `plan` input down from compound templates This add support for `plan` input variable and passes it down to the relevant, inner templates. --- templates/full-pipeline.yml | 5 +++++ templates/job-templates.yml | 6 ++++++ templates/validate-plan-apply.yml | 5 +++++ templates/validate-plan.yml | 4 ++++ 4 files changed, 20 insertions(+) diff --git a/templates/full-pipeline.yml b/templates/full-pipeline.yml index 38aabd5..6f1a6a0 100644 --- a/templates/full-pipeline.yml +++ b/templates/full-pipeline.yml @@ -85,6 +85,9 @@ spec: state_name: default: default description: 'Remote OpenTofu state name.' + plan_name: + default: 'plan' + description: 'The name of the plan cache and plan json file.' auto_apply: default: false type: boolean @@ -212,6 +215,7 @@ include: image_digest: $[[ inputs.image_digest ]] root_dir: $[[ inputs.root_dir ]] state_name: $[[ inputs.state_name ]] + plan_name: $[[ inputs.plan_name ]] artifacts_access: $[[ inputs.plan_artifacts_access ]] var_file: $[[ inputs.var_file ]] rules: $[[ inputs.plan_rules ]] @@ -227,6 +231,7 @@ include: image_digest: $[[ inputs.image_digest ]] root_dir: $[[ inputs.root_dir ]] state_name: $[[ inputs.state_name ]] + plan_name: $[[ inputs.plan_name ]] auto_apply: $[[ inputs.auto_apply ]] var_file: $[[ inputs.var_file ]] rules: $[[ inputs.apply_rules ]] diff --git a/templates/job-templates.yml b/templates/job-templates.yml index 6fd140b..6a5cbb8 100644 --- a/templates/job-templates.yml +++ b/templates/job-templates.yml @@ -85,6 +85,9 @@ spec: state_name: default: default description: 'Remote OpenTofu state name.' + plan_name: + default: 'plan' + description: 'The name of the plan cache and plan json file.' auto_apply: default: false type: boolean @@ -161,6 +164,7 @@ include: image_digest: $[[ inputs.image_digest ]] root_dir: $[[ inputs.root_dir ]] state_name: $[[ inputs.state_name ]] + plan_name: $[[ inputs.plan_name ]] var_file: $[[ inputs.var_file ]] - local: '/templates/apply.yml' inputs: @@ -174,6 +178,7 @@ include: image_digest: $[[ inputs.image_digest ]] root_dir: $[[ inputs.root_dir ]] state_name: $[[ inputs.state_name ]] + plan_name: $[[ inputs.plan_name ]] auto_apply: $[[ inputs.auto_apply ]] var_file: $[[ inputs.var_file ]] - local: '/templates/destroy.yml' @@ -188,6 +193,7 @@ include: image_digest: $[[ inputs.image_digest ]] root_dir: $[[ inputs.root_dir ]] state_name: $[[ inputs.state_name ]] + plan_name: $[[ inputs.plan_name ]] auto_destroy: $[[ inputs.auto_destroy ]] var_file: $[[ inputs.var_file ]] - local: '/templates/delete-state.yml' diff --git a/templates/validate-plan-apply.yml b/templates/validate-plan-apply.yml index 0c7be75..61adc17 100644 --- a/templates/validate-plan-apply.yml +++ b/templates/validate-plan-apply.yml @@ -79,6 +79,9 @@ spec: state_name: default: default description: 'Remote OpenTofu state name.' + plan_name: + default: 'plan' + description: 'The name of the plan cache and plan json file.' auto_apply: default: false type: boolean @@ -164,6 +167,7 @@ include: image_digest: $[[ inputs.image_digest ]] root_dir: $[[ inputs.root_dir ]] state_name: $[[ inputs.state_name ]] + plan_name: $[[ inputs.plan_name ]] artifacts_access: $[[ inputs.plan_artifacts_access ]] var_file: $[[ inputs.var_file ]] rules: $[[ inputs.plan_rules ]] @@ -179,6 +183,7 @@ include: image_digest: $[[ inputs.image_digest ]] root_dir: $[[ inputs.root_dir ]] state_name: $[[ inputs.state_name ]] + plan_name: $[[ inputs.plan_name ]] auto_apply: $[[ inputs.auto_apply ]] var_file: $[[ inputs.var_file ]] rules: $[[ inputs.apply_rules ]] diff --git a/templates/validate-plan.yml b/templates/validate-plan.yml index 235bf6f..287f514 100644 --- a/templates/validate-plan.yml +++ b/templates/validate-plan.yml @@ -76,6 +76,9 @@ spec: state_name: default: default description: 'Remote OpenTofu state name.' + plan_name: + default: 'plan' + description: 'The name of the plan cache and plan json file.' artifacts_access: default: 'none' description: 'Access level for the plan artifact. See https://docs.gitlab.com/ee/ci/yaml/#artifactsaccess for possible values.' @@ -150,6 +153,7 @@ include: image_digest: $[[ inputs.image_digest ]] root_dir: $[[ inputs.root_dir ]] state_name: $[[ inputs.state_name ]] + plan_name: $[[ inputs.plan_name ]] artifacts_access: $[[ inputs.artifacts_access ]] var_file: $[[ inputs.var_file ]] rules: $[[ inputs.plan_rules ]] -- GitLab