include env vars in condition-etl lambda variabls

This commit is contained in:
Daniel Roth 2026-02-06 15:06:46 +00:00
parent 78caa1e6ae
commit 4c0713b415
3 changed files with 18 additions and 13 deletions

View file

@ -83,22 +83,19 @@ jobs:
- name: Terraform Plan
working-directory: ${{ inputs.lambda_path }}
run: |
ENV_VARS=""
PLAN_CMD="terraform plan \
-var=\"stage=${{ inputs.stage }}\" \
-var=\"lambda_name=${{ inputs.lambda_name }}\" \
-var=\"ecr_repo_url=${{ steps.repo.outputs.ecr_repo_url }}\" \
-var=\"image_digest=${{ inputs.image_digest }}\""
if [ -n "${{ inputs.environment_vars }}" ]; then
# convert multi-line to JSON map: key=value -> "key"="value"
ENV_VARS=$(echo "${{ inputs.environment_vars }}" | \
awk -F= '{gsub(/"/,"\\\""); printf "\"%s\"=\"%s\",",$1,$2}' | \
sed 's/,$//') # remove trailing comma
ENV_VARS="-var='environment_vars={${ENV_VARS}}'"
PLAN_CMD="$PLAN_CMD -var=\"environment_vars=${{ inputs.environment_vars }}\""
fi
terraform plan \
-var="stage=${{ inputs.stage }}" \
-var="lambda_name=${{ inputs.lambda_name }}" \
-var="ecr_repo_url=${{ steps.repo.outputs.ecr_repo_url }}" \
-var="image_digest=${{ inputs.image_digest }}" \
$ENV_VARS \
-out=lambdaplan
PLAN_CMD="$PLAN_CMD -out=lambdaplan"
echo "Running: $PLAN_CMD"
eval $PLAN_CMD
- name: Terraform Apply
working-directory: ${{ inputs.lambda_path }}

View file

@ -11,4 +11,8 @@ module "lambda" {
STAGE = var.stage
LOG_LEVEL = "info"
}
# Optional extra environment variables (DB credentials)
environment_vars = var.environment_vars
}

View file

@ -17,6 +17,10 @@ variable "image_digest" {
description = "Image digest (sha256:...)"
}
variable "environment_vars" {
type = map(string)
default = {}
}
locals {
image_uri = "${var.ecr_repo_url}@${var.image_digest}"