修改配置编辑不了的问题

This commit is contained in:
andy
2026-08-18 12:41:39 +08:00
parent 22b504e53e
commit 2a2f78c81e
42 changed files with 1082 additions and 178 deletions

View File

@@ -57,7 +57,8 @@ Web 镜像或 ConfigMap。优先使用 RDS 内网地址,并仅对白名单中
1. `database/migrations/0001_initial_schema.sql`
2. `database/migrations/0002_generation_lifecycle_fencing.sql`
3. 应用角色授权语句(参考 `scripts/migrate-postgres.mjs`)
3. `database/migrations/0003_platform_runtime_settings.sql`
4. 应用角色授权语句(参考 `scripts/migrate-postgres.mjs`)
生产不部署迁移 Job。遇到历史重复数据时迁移会失败,需先人工审计,不能跳过或自动删除
计费与用量记录。仓库不再提供可误执行的 Node Migration Job 或 Node Worker 清单;后台
@@ -120,22 +121,19 @@ Kubernetes Secret:
- `DATABASE_URL`
- `ZHINIAN_AUTH_SESSION_SECRET`(Secret 名 `zhinian-go-auth`,仅注入 Go)
- `ZHINIAN_BOOTSTRAP_ADMIN_PHONE`、`ZHINIAN_BOOTSTRAP_ADMIN_PASSWORD`
- 服务商与 OSS 凭据
- OSS 凭据;服务商凭据也可以先放 Secret 作为数据库尚未配置时的回退值
- 开放 API Key、Webhook 签名密钥等
生产配置的事实来源是 ACK Secret/ConfigMap。不要通过静态页面或修改 Pod 文件来更新
生产密钥;修改 Secret/ConfigMap 后滚动 Go Deployment。
Go API 在 PostgreSQL 生产模式默认会校验即梦、EvoLink、百炼和 Seedance 的真实凭据;
任一服务商缺少凭据都会拒绝启动,不会自动切换到占位或模拟生成。若需要先上线配置页,
可在 Go API 的 ConfigMap 临时设置 `ZHINIAN_ALLOW_UNCONFIGURED_PROVIDERS=true`:服务可以
启动,但选中未配置服务商的报价和生成请求会返回 503。通过设置页填写凭据后,必须滚动重启
Go Deployment,确认健康后再将该开关恢复为 `false`。
认证、数据库和 OSS 等部署配置的事实来源仍是 ACK Secret/ConfigMap。四类服务商凭据、
模型、Base URL 与图片/视频引擎选择由超级管理员设置页写入
`platform_runtime_settings`;数据库值优先于环境变量回退值,保存后新报价、任务和 Worker
调用立即读取最新值,不需要滚动 Go Deployment。未配置的服务商不会阻止 Go API 启动,
但选择该服务商的报价或生成请求会返回 503,也不会自动切换到占位或模拟生成。
## 探针与验收
- Web `/healthz`:Nginx 静态进程存活检查。
- Go `/api/health`:Go 进程存活检查,不查询数据库。
- Go `/api/health`:Go 进程存活检查;以 250ms 上限刷新服务商状态,失败时使用进程内缓存并仍返回存活状态。
- Go `/api/ready`:检查 PostgreSQL schema、表权限和业务函数权限。
发布后执行:
@@ -165,8 +163,8 @@ curl https://你的域名/api/v1/openapi.json
```bash
cp .env.example .env.local
# 正常发布:保持 ZHINIAN_DATA_BACKEND=postgres,并填写 DATABASE_URL、登录密钥和真实服务商凭据
# 临时引导:可将 ZHINIAN_ALLOW_UNCONFIGURED_PROVIDERS=true,先启动配置页;保存凭据后重启并恢复为 false
# 正常发布:保持 ZHINIAN_DATA_BACKEND=postgres,并填写 DATABASE_URL 和登录密钥
# 服务商凭据可作为环境回退值,也可在超级管理员设置页保存后立即生效
./scripts/deploy.sh
```