fix(deploy): 生产 compose 补上 MOM_INTERNAL_API_KEY

问题:c7f8588「新增对内接口,让 Track 能提交生产报废」已经提交了
config.py 的 MOM_INTERNAL_API_KEY 读取与 api/v1/internal.py 的实现,
但 docker-compose.prod.yml 忘了同步 —— 生产环境压根不会注入这个变量。

后果:不是"悄悄放行",而是 fail-closed 一直 503。内部接口在生产上
根本不可用,Track 提交生产报废会全部失败。

★ 刻意**不给默认值**(${MOM_INTERNAL_API_KEY:-}):未配置时内部接口返回
  503,而不是让一个写接口用着众所周知的密钥在生产上悄悄打开。
  部署时必须在服务器 .env 里显式配置,且与 Track 侧配同一个值。

注:开发用的 docker-compose.yml 早已包含此项,本次只补齐生产侧。
This commit is contained in:
yueli
2026-09-23 17:16:12 +08:00
parent c5356a27ed
commit 69d9f010a9

View File

@ -44,6 +44,12 @@ services:
TRACK_WEBHOOK_KEY: ${TRACK_WEBHOOK_KEY:-2ce5fedb48fde3fd7e0abf67472a5027b03e9ae6f19cf768}
TRACK_API_URL: http://track_backend_prod:8000
TRACK_OUTBOUND_WEBHOOK_URL: http://track_backend_prod:8000/api/v1/external/webhooks/mom-outbound
# ★ 对内接口(Track → MOM 生产报废受理)共享密钥,请求头 X-API-Key。
# 与 TRACK_WEBHOOK_KEY 刻意分离(方向相反、权限不同),独立轮换。
# ★ 刻意**不给默认值** —— 未配置时内部接口 503(Fail-Closed),
# 而不是让一个写接口用着众所周知的密钥在生产上悄悄打开。
# 部署时必须在服务器 .env 里显式配置,且与 Track 侧配同一个值。
MOM_INTERNAL_API_KEY: ${MOM_INTERNAL_API_KEY:-}
depends_on:
- db
# 加入 mom_net 外部网络,与 Track 生产容器互通