hequ commited on
Commit
2737286
·
verified ·
1 Parent(s): d462c5b

Create entrypoint.sh

Browse files
Files changed (1) hide show
  1. entrypoint.sh +38 -0
entrypoint.sh ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/sh
2
+ # entrypoint.sh
3
+
4
+ # 如果任何命令失败,立即退出
5
+ set -e
6
+
7
+ # --- 配置 ---
8
+ TEMPLATE_FILE="/app/api.template.yaml"
9
+ OUTPUT_FILE="/app/api.yaml"
10
+
11
+ # 定义期望的环境变量名称 (主要用于错误消息)
12
+ PROVIDER_SECRET_ENV_VAR_NAME="SECRET_PROVIDER_API_KEY"
13
+ UNI_API_SECRET_ENV_VAR_NAME="SECRET_UNI_API_KEY"
14
+
15
+ # --- 检查环境变量 ---
16
+ # 直接使用期望的 Secret 名称进行检查
17
+ # 如果变量未设置,': "..."?error message' 会导致脚本因错误退出
18
+ : "${SECRET_PROVIDER_API_KEY?错误:环境变量 $PROVIDER_SECRET_ENV_VAR_NAME 未设置。请在 Space Secrets 中添加它。}"
19
+ : "${SECRET_UNI_API_KEY?错误:环境变量 $UNI_API_SECRET_ENV_VAR_NAME 未设置。请在 Space Secrets 中添加它。}"
20
+
21
+ # --- 生成 api.yaml ---
22
+ echo "正在从模板 $TEMPLATE_FILE 生成 $OUTPUT_FILE ..."
23
+
24
+ # 直接在 sed 中使用期望的 Secret 名称进行替换
25
+ # Shell 会自动替换 ${SECRET_...} 为环境变量的值
26
+ sed \
27
+ -e "s|__PROVIDER_API_KEY_PLACEHOLDER__|${SECRET_PROVIDER_API_KEY}|g" \
28
+ -e "s|__UNI_API_KEY_PLACEHOLDER__|${SECRET_UNI_API_KEY}|g" \
29
+ "${TEMPLATE_FILE}" > "${OUTPUT_FILE}"
30
+
31
+ # (可选但推荐)设置文件权限
32
+ chmod 600 "${OUTPUT_FILE}"
33
+
34
+ echo "$OUTPUT_FILE 已成功生成。"
35
+
36
+ # --- 执行原始命令 ---
37
+ echo "正在启动应用程序: $@"
38
+ exec "$@"