From 855ca1d9ed29517d3bc74abd716a996bfa5e055e Mon Sep 17 00:00:00 2001 From: BAK BYEONG JUN Date: Mon, 14 Apr 2025 22:51:31 +0000 Subject: [PATCH] init --- tasks/secret-extract-kaniko/task.yaml | 34 +++++++++++++++++---------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/tasks/secret-extract-kaniko/task.yaml b/tasks/secret-extract-kaniko/task.yaml index db2e344..2441420 100644 --- a/tasks/secret-extract-kaniko/task.yaml +++ b/tasks/secret-extract-kaniko/task.yaml @@ -75,23 +75,28 @@ spec: fi done - # Convert strings to arrays - set -f - kanikoFlagArray=($KANIKO_FLAGS) - argumentKeyArray=($ARGUMENT_KEYS) - secretKeyArray=($SECRET_KEYS) + # Trim leading/trailing spaces + KANIKO_FLAGS=$(echo "$KANIKO_FLAGS" | sed 's/^ *//;s/ *$//') + ARGUMENT_KEYS=$(echo "$ARGUMENT_KEYS" | sed 's/^ *//;s/ *$//') + SECRET_KEYS=$(echo "$SECRET_KEYS" | sed 's/^ *//;s/ *$//') - len=${#kanikoFlagArray[@]} - if [ "$len" -ne "${#argumentKeyArray[@]}" ] || [ "$len" -ne "${#secretKeyArray[@]}" ]; then - echo "❌ Mismatched array lengths for flags, keys, or secrets." + # Count elements in each list + count_flags=$(echo "$KANIKO_FLAGS" | wc -w) + count_keys=$(echo "$ARGUMENT_KEYS" | wc -w) + count_secrets=$(echo "$SECRET_KEYS" | wc -w) + + if [ "$count_flags" != "$count_keys" ] || [ "$count_flags" != "$count_secrets" ]; then + echo "❌ Mismatched counts for flags, keys, or secrets." exit 1 fi KANIKO_ARGS="" - for i in $(seq 0 $(($len - 1))); do - kanikoFlag="${kanikoFlagArray[$i]}" - argumentKey="${argumentKeyArray[$i]}" - secretKey="${secretKeyArray[$i]}" + i=1 + while [ "$i" -le "$count_flags" ]; do + # Extract i-th element + kanikoFlag=$(echo "$KANIKO_FLAGS" | cut -d' ' -f"$i") + argumentKey=$(echo "$ARGUMENT_KEYS" | cut -d' ' -f"$i") + secretKey=$(echo "$SECRET_KEYS" | cut -d' ' -f"$i") if [ ! -f "$secretKey" ]; then echo "❌ Missing secret file: $secretKey" @@ -100,8 +105,13 @@ spec: secretValue=$(cat "$secretKey") KANIKO_ARGS="$KANIKO_ARGS $kanikoFlag=$argumentKey=$secretValue" + + i=$((i + 1)) done + # Trim leading/trailing spaces from final output + KANIKO_ARGS=$(echo "$KANIKO_ARGS" | sed 's/^ *//;s/ *$//') + echo "✅ Final Kaniko args:" echo "$KANIKO_ARGS" echo -n "$KANIKO_ARGS" > /tekton/results/kanikoArgs \ No newline at end of file