diff --git a/scripts/vault-fetch/vault-fetch.sh b/scripts/vault-fetch/vault-fetch.sh index 92a1e3f..3c2bd33 100644 --- a/scripts/vault-fetch/vault-fetch.sh +++ b/scripts/vault-fetch/vault-fetch.sh @@ -137,9 +137,9 @@ fetch_from_vault() { # Write each secret key to a separate file log "Writing secrets to $OUTPUT_DIR" - echo "$SECRET_DATA" | jq -r 'to_entries[] | "\(.key)\n\(.value)"' | while read -r key; read -r value; do - echo -n "$value" > "$OUTPUT_DIR/$key" - echo -n "$value" > "$CACHE_DIR/$key" + for key in $(echo "$SECRET_DATA" | jq -r 'keys[]'); do + echo "$SECRET_DATA" | jq -j --arg k "$key" '.[$k]' > "$OUTPUT_DIR/$key" + echo "$SECRET_DATA" | jq -j --arg k "$key" '.[$k]' > "$CACHE_DIR/$key" chmod 600 "$OUTPUT_DIR/$key" chmod 600 "$CACHE_DIR/$key" log " - Wrote secret key: $key"