From 2de61ffd1b32d5e89c24fa3d58da4a13f4c7cc3e Mon Sep 17 00:00:00 2001 From: xZero707 Date: Mon, 2 Jun 2025 00:44:43 +0200 Subject: [PATCH] Properly handle command failures --- dist/scripts/src/fetch-secrets.sh | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/dist/scripts/src/fetch-secrets.sh b/dist/scripts/src/fetch-secrets.sh index baf5a68..1ec0a9c 100755 --- a/dist/scripts/src/fetch-secrets.sh +++ b/dist/scripts/src/fetch-secrets.sh @@ -2,6 +2,16 @@ set -euo pipefail +dc_infisical() { + # If stdout is a real terminal, allocate TTY + if [ -t 1 ]; then + docker compose run --rm -t cli infisical "$@" + return + fi + + docker compose run --rm cli infisical "$@" +} + fetch_secret() { local target_secret="${1:?Target secret local_secret is required}" local env="${2:?Environment is required}" @@ -11,9 +21,10 @@ fetch_secret() { # If infisical CLI command is available, use it directly infisical-dcli secrets --plain get "${target_secret}" --env "${env}" >"${output_file}" else - script -q /dev/null \ - -c "docker compose run --rm -t cli infisical secrets --plain get ""${target_secret}"" --env ""${env}""" \ - >"${output_file}" + if ! dc_infisical secrets --plain get "${target_secret}" --env "${env}" >"${output_file}"; then + rm -f "${output_file}" # Clean up if fetch failed + return 1 + fi fi # Check if file is empty