vaitor2 / upload_secrets.sh
youngtsai's picture
PROXY_USERNAME
27d3b59
#!/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 已處理完畢!"