From 279de5773f139bef25523867ca7f4942edf1f8f3 Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Mon, 9 Oct 2023 17:50:08 +0300 Subject: [PATCH] hack --- vault/main.tf | 2 +- vault/run.sh | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/vault/main.tf b/vault/main.tf index 9ca46a9..8ad77b1 100644 --- a/vault/main.tf +++ b/vault/main.tf @@ -64,7 +64,7 @@ resource "coder_script" "vault" { VAULT_ADDR : var.vault_addr, VAULT_TOKEN : data.coder_git_auth.vault.access_token, VERSION : var.vault_cli_version, - SECRETS : replace(jsonencode(var.secrets), "\"", "\\\"") + SECRETS : replace(replace(jsonencode(var.secrets), "\"", "\\\""), "/", "::") }) run_on_start = true } diff --git a/vault/run.sh b/vault/run.sh index 171a1d9..50bb95a 100644 --- a/vault/run.sh +++ b/vault/run.sh @@ -69,16 +69,14 @@ if [ "${SECRETS}" = "{}" ]; then exit 0 fi -# DEBUG -printf "\n\nšŸ› DEBUG: Printing secrets ...\n\n" -echo "${SECRETS}" > /tmp/debug_secrets.txt -echo "${SECRETS}" -echo "${SECRETS}" | jq +# Replace :: back to / in the SECRETS string +SECRETS=$(echo "${SECRETS}" | sed 's/::/\//g') +# Now process the SECRETS string as before... printf "šŸ” Fetching secrets ...\n\n" -for key in $(echo "${SECRETS}" | jq -r "keys[]" ); do - secrets=$(echo "${SECRETS}" | jq -r ".$key.secrets[]") - file=$(echo "${SECRETS}" | jq -r ".$key.file") +for key in $(echo "$${SECRETS}" | jq -r "keys[]" ); do + secrets=$(echo "$${SECRETS}" | jq -r ".$key.secrets[]") + file=$(echo "$${SECRETS}" | jq -r ".$key.file") printf "Fetching secrets from $${key} ...\n" for secret in $${secrets}; do value=$(vault kv get -format=json $${key} | jq -r ".data.data.$${secret}")