ACP Kernel 拆解与瘦身
Platform Aligned L4 插件方案
前端与 Helm repository service 的拆分
Platform Aligned L4 插件方案
目标
前端能力与 Helm repository service 以独立插件交付。Kernel 提供后端、权限、路由、证书与入口能力。
拆分粒度
L4 与 Kernel 对称:Kernel 内部虽有 14 个插件,但按「不可细分」原则作为整体交付。L4 也按「能否独立装卸 / 是否同发版节奏」收敛,不按源仓或子模块二次细拆。
| L4 单元 | 独立装卸理由 |
|---|---|
l4-console | Console shell、console 入口、auth UI 同源仓(frontend/alauda-fe + alauda/alauda-console)、同发版节奏、生产部署强耦合(少装一个 console 就不可用),合并为单一交付单元 |
l4-marketplace-ui | AI / 集成场景可选不装 operator 市场,独立装卸有真实需求 |
l4-helm-repository-service | 后端服务而非 UI,与 console 不同维度;可独立选择是否启用 chart hosting |
L4 资产清单
工作量估算统一在 delivery-plan.md 的 A4 中维护,本文件不再重复 Story Point。
| L4 插件 | 镜像 / 载荷 | Source Repo | Chart Carrier | 目标职责 |
|---|---|---|---|---|
l4-console | frontend/portal, frontend/chart-frontend, frontend/assets, frontend/i18n, alauda/alauda-console, frontend/console-dex, frontend/console-project, frontend/user-plugin | frontend/alauda-fe, alauda/alauda-console, ait/chart-base-cluster, ait/chart-auth-manager-central | ait/chart-console-essentials | Console shell、OIDC 入口、登录 / 用户 / 项目 UI |
l4-marketplace-ui | frontend/app-market-plugin | frontend/alauda-fe, ait/marketplace | ait/chart-console-marketplace | Operator Marketplace UI |
l4-helm-repository-service | acp/captain, 3rdparty/chartmuseum | container-platform/captain, container-platform/chartmuseum | ait/chart-application-catalog | Helm repository backend |
服务边界
| 能力 | Kernel 侧 | L4 侧 |
|---|---|---|
| 身份与权限 | apollo, auth-controller2 | l4-console(登录 / 用户 / 项目页面) |
| 多集群路由 | erebus, cluster-transformer | l4-console, l4-marketplace-ui |
| Operator 市场后端 | marketplace, updater-manager, OLM API | l4-marketplace-ui |
| Console 入口 | alb, cert-manager | l4-console |
| Helm repository backend | Kernel 提供 auth / routing / ingress | l4-helm-repository-service |
依赖图
详细插件计划
l4-console
| 维度 | 说明 |
|---|---|
| 来源 | base, base-central, auth-manager-central 中前端载荷与 console server |
| 子载荷 | shell(frontend/portal / chart-frontend / assets / i18n)、entry(alauda/alauda-console)、auth UI(console-dex / console-project / user-plugin) |
| 运行依赖 | apollo, auth-controller2, erebus, cluster-transformer, alb, cert-manager |
| 交付形态 | 单一 console-essentials ModulePlugin;appReleases 拉两个 chart:ait/chart-console-essentials(本仓)+ frontend/chart-frontend(仍由 frontend/alauda-fe 构建发版) |
| 验收 | OIDC 跳转、cookie、shell load、route dispatch、static asset delivery、login、user list、project list |
l4-marketplace-ui
| 维度 | 说明 |
|---|---|
| 来源 | marketplace-central |
| 运行依赖 | marketplace, updater-manager, erebus, alb, cert-manager |
| 交付形态 | 独立 ModulePlugin / chart |
| 验收 | operator browse、install trigger、status display |
l4-helm-repository-service
| 维度 | 说明 |
|---|---|
| 来源 | marketplace-central |
| 运行依赖 | marketplace, erebus, alb, cert-manager |
| 交付形态 | 独立 ModulePlugin / chart |
| 验收 | chart upload、index refresh、center sync |
执行顺序
| 顺序 | 插件 | 原因 |
|---|---|---|
| 1 | l4-console | UI 体系底座,shell + entry + auth 一次性收敛 |
| 2 | l4-marketplace-ui | 依赖 marketplace backend,可在 console 之后单独验证 |
| 3 | l4-helm-repository-service | watcher、RBAC、service account 清理量最大,最后处理 |
Packaging 指引
| 主题 | 指引 |
|---|---|
| ModulePlugin 身份 | 每个 L4 插件拥有独立 ModulePlugin 名称与版本;l4-console 内部子载荷不单独发版 |
| Dependencies | 显式声明对 Kernel plugins 的依赖 |
| Harbor repos | 保持当前 repo 地址 |
| Ingress | 统一通过 alb 暴露 |
| TLS | 统一复用 cert-manager |
验证矩阵
| 插件 | 核心验证点 |
|---|---|
l4-console | OIDC 跳转、cookie、shell load、route dispatch、static asset、login、user list、project list |
l4-marketplace-ui | operator browse、install trigger、status display |
l4-helm-repository-service | chart upload、index refresh、center sync |