From 78316216b33a1ec6e90d4c3551777b80161a4c39 Mon Sep 17 00:00:00 2001 From: Kochetkov S Date: Wed, 12 Aug 2026 15:50:43 +0300 Subject: [PATCH] ++ fall back to the rabbitmq endpoint default when the var is set but empty Co-Authored-By: Claude Opus 5 --- live/rabbitmq/terragrunt.hcl | 11 +++++++++-- scripts/run_all_stacks.sh | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/live/rabbitmq/terragrunt.hcl b/live/rabbitmq/terragrunt.hcl index 4babf31..9e4ddef 100644 --- a/live/rabbitmq/terragrunt.hcl +++ b/live/rabbitmq/terragrunt.hcl @@ -16,6 +16,13 @@ locals { ) env_config = try(local.infra_config.environments[local.env_name], {}) + + # get_env отдаёт дефолт только когда переменная НЕ ЗАДАНА. Воркфлоу маппит + # vars.* в env: безусловно, поэтому незаполненная переменная приезжает пустой + # строкой, дефолт не срабатывает, и провайдер уходит на свой собственный + # 127.0.0.1:15672 вместо брокера. + management_endpoint = trimspace(get_env("RABBITMQ_ENDPOINT", "")) != "" ? trimspace(get_env("RABBITMQ_ENDPOINT", "")) : "http://rabbitmq.rabbitmq.svc.cluster.local:15672" + management_username = trimspace(get_env("RABBITMQ_ADMIN_USER", "")) != "" ? trimspace(get_env("RABBITMQ_ADMIN_USER", "")) : "admin" } remote_state { @@ -48,8 +55,8 @@ terraform { inputs = { environment = local.env_name - management_endpoint = get_env("RABBITMQ_ENDPOINT", "http://rabbitmq.rabbitmq.svc.cluster.local:15672") - management_username = get_env("RABBITMQ_ADMIN_USER", "admin") + management_endpoint = local.management_endpoint + management_username = local.management_username management_password = get_env("RABBITMQ_ADMIN_PASSWORD", "") amqp_host = try(local.env_config.rabbitmq.amqp_host, "rabbitmq.rabbitmq.svc.cluster.local") amqp_port = try(local.env_config.rabbitmq.amqp_port, 5672) diff --git a/scripts/run_all_stacks.sh b/scripts/run_all_stacks.sh index a96016b..081192e 100755 --- a/scripts/run_all_stacks.sh +++ b/scripts/run_all_stacks.sh @@ -58,6 +58,10 @@ for tg in "${STACK_FILES[@]}"; do cd "$stack_dir" terragrunt init -upgrade -reconfigure + if [[ "$stack_dir" == "live/rabbitmq" ]]; then + echo "--- rabbitmq endpoint: '${RABBITMQ_ENDPOINT:-}' user: '${RABBITMQ_ADMIN_USER:-}' ---" + fi + gp=$(find .terragrunt-cache -name provider.tf 2>/dev/null | head -1) if [[ -n "$gp" ]] && grep -q 'provider "kafka"' "$gp" 2>/dev/null; then echo "--- generated provider.tf kafka block ---"