Skip to content

M1 贯通主线 · 端到端集成(主仓 owner) #15

@JIAQIA

Description

@JIAQIA

M1 贯通主线 · 端到端集成(主仓 owner)

M1 的跨仓集成主线——把各仓"各自 boot"的零件接成"真打通"。各仓 brief 只保证本服务起得来;本 issue 专门保证它们接起来
上位总纲:docs/milestones/M1-单命名空间端到端贯通.md §3.5(贯通主线)+ §1.6(纵切验收 = M1 的 definition of done)。

0. 一句话目标

让"浏览器 → gateway(OIDC+租户) → 真实后端 → PG → 界面渲染"这条纵切链在本地 K8s 单 ns 真跑通,并使纳入 demo 的各服务都真实部署、经网关可达。

1. 起点 · 代码现状(实测缺口,架构无误但胶水缺失)

  • gateway apisix/apisix.yaml:routes /api/*mock-upstream:8080无真实后端 upstream [缺失]。
  • umbrella deploy/charts/platform:8 子 chart + postgresql/kafka/doris/minio/redis 全 enabled:false无 keycloak 依赖 [缺失]。
  • deploy 里 Keycloak 仅 gateway chart oidc.discovery:"" 占位指向外部 host,无 in-cluster 部署 [缺失]。
  • webui:deploy/console/config.js.template 已有 api.baseUrl + oidc.* 注入位 [接线点在];但 webui 不在 umbrella、无 chart [缺失];packages/sdk/src/auth/mockSessionStore.ts 仍 mock session [stub]。

2. 范围边界

  • ✅ I1 in-cluster Keycloak+PG / I2 gateway 真实路由 / I3 webui 进集群+指向网关+真实 session / I4 纵切链+集成验收 / I5 各服务真实化收口。
  • ⛔ 不做:高可用基础设施、OIDC 企业联邦、完整业务功能、CDC/Pact。

3. 工作项 & 拆分指引

I1 In-cluster 基础设施(Keycloak + PG,dev 级)

  • 要达成:demo ns 内跑起 Keycloak(预置 realm + console/admin client)+ PG(各服务独立 db),作为 umbrella 可选依赖。
  • 入手点:deploy/charts/platform/Chart.yaml 有状态依赖区(现注释钉版本)启用社区 chart 或加简单 manifest;values-localdev.yaml 打开。端口 Keycloak 8180 / PG 5432。
  • 可拆:- [ ] PG dev + 各 db - [ ] Keycloak dev - [ ] realm/client 预置(import json) - [ ] values-localdev 接线。
  • 验收:kubectl get po -n demo 见 keycloak/pg Running,服务能连上。

I2 gateway 路由真实后端

  • 要达成:apisix routes/upstreams 指向 in-cluster Service(governance:8082 / control-plane:8081 / …),弃 mock-upstreamoidc.discovery 指向集群内 Keycloak。
  • 入手点:gateway apisix/apisix.yaml;chart ConfigMap 注入。
  • 验收:经网关 curl 到真实 governance 返回(非 mock-upstream)。

I3 webui 进集群 + 指向网关

  • 要达成:建 deploy/charts/webui(nginx 部署 console);config.js 注入 in-cluster gateway 的 api.baseUrl + oidc.authority(=集群内 Keycloak);SDK 用真实 OIDC session 替 mockSessionStore
  • 入手点:webui deploy/console/{Dockerfile,config.js.template}packages/sdk/src/auth/
  • 验收:浏览器(port-forward/ingress)打开 console → 经网关登录 → 调通后端。

I4 纵切贯通链 + 集成验收(definition of done)

  • 要达成:跑通总纲 §1.6 链路,并落一个可重复的集成自检(脚本/清单)。
  • 验收:浏览器 → gateway(OIDC + 注入 X-Tenant-*) → governance /api/meta/search →(PG/ES)→ webui 数据目录页渲染真实返回;control-plane 真实开通一个租户

I5 各服务真实化收口

  • 要达成:纳入 demo 链路的服务都有真实子 chart + 镜像 + 接线(非占位),经网关可达、readiness 真实绿。
  • 入手点:复制主仓黄金 chart 范式(主仓 brief WP1);各后端仓镜像入 ghcr 并接 values
  • 验收:demo ns 内各服务 Pod Running、经网关可达。

4. 关键参考

  • 总纲 §3.5 / §1.6;deploy/charts/{platform,tenant,privacy};gateway apisix/*;webui deploy/console/config.js.template + packages/sdkdocs/architecture/{05-多租户与控制平面,02-平台治理与网关}.md

5. 依赖 & 约束

6. 完成判据

  • I1 Keycloak + PG in-cluster Running
  • I2 gateway 路由真实后端(弃 mock-upstream)
  • I3 webui 进集群、config 指向网关、真实 OIDC session
  • I4 纵切链跑通 + 集成自检;control-plane 开通一租户
  • I5 各 demo 服务真实部署、经网关可达、readiness 真实绿
  • 红线自检过

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions