6440e3f679
- 迁移 000044:production_kb_bindings + release_item_executions.target_knowledge_base_id - 系统设置新增「生产知识库绑定(对内/对外)」:从生产 WeKnora 实际列表选库, 保存时真校验(不存在拒收;生产端不可达只提示并如实回报),仅管理员可改 - 执行计划按绑定解析目标库并冻结进 release_item_executions;空目标直接拒收; 已发布过的条目保留原目标(重试/回滚回到同一处) - DocumentBundle.RemapKnowledgeBase:knowledges/chunks/knowledge_tags/wiki_pages/ wiki_folders 的 knowledge_base_id 与 ES 文档字段改写为目标库,重算表/文档摘要并重新封装 - 契约比对改为「声明的映射对」(KnowledgeBaseMapping),其余字段继续 fail-closed - 契约检查器 / 目标身份 / 验证器全部走映射后的目标库;对象通道无需改写 - Compose 拆分:数据面接线 compose.release-sim.yaml + 两道门禁 compose.release-gates.yaml - 测试:RemapKnowledgeBase 全通道/无操作/fail-closed、映射契约、绑定接口、RBAC、真实 PG 集成
36 lines
1.5 KiB
YAML
36 lines
1.5 KiB
YAML
# 发布链路的「数据面接线」override(不含任何门禁开关)
|
|
# 用法:docker compose -f compose.yaml -f compose.release-sim.yaml up -d api release-worker
|
|
# 叠加顺序:compose.yaml → 本文件(接线)→ compose.release-gates.yaml(门禁,须人工授权)
|
|
# 作用:
|
|
# 1) api 拿到生产 WeKnora 凭据引用 →「生产知识库绑定」能读真实生产库列表
|
|
# 2) release-worker 拿到发布配置、目标端点别名、归档卷(执行门禁关闭时不加载配置)
|
|
services:
|
|
api:
|
|
environment:
|
|
# 凭据只引用 0600 文件(值不入库、不回显);appconfig 要求两者同时给出
|
|
PRODUCTION_WEKNORA_BASE_URL: https://weknora-test.dobot.cn
|
|
PRODUCTION_WEKNORA_API_KEY_FILE: /run/release-secrets/target_weknora_api_key
|
|
volumes:
|
|
- ./secrets/release-sim:/run/release-secrets:ro
|
|
|
|
release-worker:
|
|
environment:
|
|
RELEASE_CONFIG_FILE: /run/release-sim/release.sim.json
|
|
PRODUCTION_RELEASE_AUTHORIZER_REF: yaozhanghao
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
- "prod-pg:host-gateway"
|
|
- "prod-es:host-gateway"
|
|
- "prod-weknora:host-gateway"
|
|
networks:
|
|
- default
|
|
- weknora-local
|
|
volumes:
|
|
- ./secrets/release-sim:/run/release-secrets:ro
|
|
- ./config/release.sim.json:/run/release-sim/release.sim.json:ro
|
|
- release-bundles:/var/lib/knowledge-governance/release-bundles
|
|
read_only: false
|
|
|
|
volumes:
|
|
release-bundles:
|
|
name: knowledge-governance-release-bundles |