File size: 1,327 Bytes
2737286
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
#!/bin/sh
# entrypoint.sh

# 如果任何命令失败,立即退出
set -e

# --- 配置 ---
TEMPLATE_FILE="/app/api.template.yaml"
OUTPUT_FILE="/app/api.yaml"

# 定义期望的环境变量名称 (主要用于错误消息)
PROVIDER_SECRET_ENV_VAR_NAME="SECRET_PROVIDER_API_KEY"
UNI_API_SECRET_ENV_VAR_NAME="SECRET_UNI_API_KEY"

# --- 检查环境变量 ---
# 直接使用期望的 Secret 名称进行检查
# 如果变量未设置,': "..."?error message' 会导致脚本因错误退出
: "${SECRET_PROVIDER_API_KEY?错误:环境变量 $PROVIDER_SECRET_ENV_VAR_NAME 未设置。请在 Space Secrets 中添加它。}"
: "${SECRET_UNI_API_KEY?错误:环境变量 $UNI_API_SECRET_ENV_VAR_NAME 未设置。请在 Space Secrets 中添加它。}"

# --- 生成 api.yaml ---
echo "正在从模板 $TEMPLATE_FILE 生成 $OUTPUT_FILE ..."

# 直接在 sed 中使用期望的 Secret 名称进行替换
# Shell 会自动替换 ${SECRET_...} 为环境变量的值
sed \
  -e "s|__PROVIDER_API_KEY_PLACEHOLDER__|${SECRET_PROVIDER_API_KEY}|g" \
  -e "s|__UNI_API_KEY_PLACEHOLDER__|${SECRET_UNI_API_KEY}|g" \
  "${TEMPLATE_FILE}" > "${OUTPUT_FILE}"

# (可选但推荐)设置文件权限
chmod 600 "${OUTPUT_FILE}"

echo "$OUTPUT_FILE 已成功生成。"

# --- 执行原始命令 ---
echo "正在启动应用程序: $@"
exec "$@"