Spaces:
Sleeping
Sleeping
File size: 1,750 Bytes
c826342 27d3b59 c826342 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
#!/bin/bash
# 1. 讀取 local_config.json
CONFIG_FILE="local_config.json"
PREFIX="vaitor2"
# 不使用 TMP_DIR,直接在專案根目錄產生暫存檔
echo "開始處理 secrets 上傳..."
# 2. 需要處理的 key
KEYS=(
PASSWORD
OPEN_AI_KEY
OPEN_AI_ASSISTANT_ID_GPT4_BOT1
OPEN_AI_ASSISTANT_ID_GPT3_BOT1
OPEN_AI_MODERATION_BOT1
GROQ_API_KEY
JUTOR_CHAT_KEY
PERPLEXITY_API_KEY
GOOGLE_APPLICATION_CREDENTIALS_JSON
PROXY_USERNAME
PROXY_PASSWORD
)
# 3. 逐一處理每個 key
for KEY in "${KEYS[@]}"; do
echo "\n==== 處理 $KEY ===="
FILENAME="${KEY}.txt"
VALUE=$(jq -c --raw-output ".${KEY}" "$CONFIG_FILE")
# 如果是 null 就跳過
if [[ "$VALUE" == "null" ]]; then
echo "Skip $KEY (null)"
continue
fi
# 如果是物件(GOOGLE_APPLICATION_CREDENTIALS_JSON),直接存成 JSON
if [[ "$KEY" == "GOOGLE_APPLICATION_CREDENTIALS_JSON" ]]; then
echo "$VALUE" > "$FILENAME"
echo "已將 $KEY 內容存成 JSON 檔 $FILENAME"
else
echo -n "$VALUE" > "$FILENAME"
echo "已將 $KEY 內容存成文字檔 $FILENAME"
fi
set -x
# 建立 secret(如果已存在會失敗,請自行決定是否要先刪除舊的)
echo "嘗試建立 secret: ${PREFIX}-${KEY}..."
gcloud secrets create "${PREFIX}-${KEY}" --data-file="$FILENAME" 2>/dev/null
# 如果已存在就更新
if [[ $? -ne 0 ]]; then
echo "Secret ${PREFIX}-${KEY} 已存在,改為 add new version..."
gcloud secrets versions add "${PREFIX}-${KEY}" --data-file="$FILENAME"
echo "已為 ${PREFIX}-${KEY} 新增版本"
else
echo "Secret ${PREFIX}-${KEY} 已建立"
fi
set +x
# 刪除暫存檔
rm "$FILENAME"
echo "$FILENAME 已刪除"
done
echo "\n所有 secrets 已處理完畢!" |