docs: 明确 Ayatori 公共 infra 与领域适配边界
docs / check (push) Successful in 4m4s

This commit is contained in:
2026-09-25 21:56:27 +00:00
parent 6f5b813a89
commit bd9f2df0e7
4 changed files with 26 additions and 1 deletions
+14 -1
View File
@@ -1,6 +1,6 @@
--- ---
title: Ayatori 控制面边界 title: Ayatori 控制面边界
last_reviewed: 2026-09-24 last_reviewed: 2026-09-25
--- ---
# Ayatori 控制面边界 # Ayatori 控制面边界
@@ -53,6 +53,19 @@ Database 资源模型于 2026-09-24 明确采用官方 PV/PVC 的资源/申请
和[总体架构](https://git.ddupan.top/panxiao81/ayatori/src/branch/main/docs/architecture/overview.md)为准。 和[总体架构](https://git.ddupan.top/panxiao81/ayatori/src/branch/main/docs/architecture/overview.md)为准。
本页记录跨 homelab 的稳定边界,不表示 Ayatori 已部署或达到生产可用状态。 本页记录跨 homelab 的稳定边界,不表示 Ayatori 已部署或达到生产可用状态。
## Controller 公共基础设施边界
2026-09-25 维护者确认:OpenBao 认证、客户端及 Kubernetes 读写访问是整个 controller 的
infra 能力,不属于第一个使用它们的 Database 领域。启动入口统一装配和注入;公共层不反向
依赖产品领域,也不为复用而增加全局注册中心或统一包装所有后端的 reader/writer。
优先使用官方 SDK 和 manager 已提供的接口;不同身份与权限范围仍须显式隔离。
领域按用例需要定义 repository,adapter 保留对象映射、凭据格式、路径、冲突与恢复语义。
例如 Database 七键凭据及 UID 路径不是通用 KV 规则。此次修订纠正原实现把 Bao 认证放在
Database adapter 的归属,认证方式与部署位置约定不变。源码拆分由
[PR #13](https://git.ddupan.top/panxiao81/ayatori/pulls/13) 跟踪,尚未合并;实现与详细约定见
[65c60cc 的总体架构](https://git.ddupan.top/panxiao81/ayatori/src/commit/65c60cca4528bc8bf14783fb7b59922283059c02/docs/architecture/overview.md#进程内依赖边界)。
## CI 验证约定 ## CI 验证约定
2026-09-24 维护者决定:全量验证自动在 PR 执行,main push 不再重复运行;保留手动入口。 2026-09-24 维护者决定:全量验证自动在 PR 执行,main push 不再重复运行;保留手动入口。
+1
View File
@@ -6,6 +6,7 @@
| 约束 | 原因与边界 | 来源 | | 约束 | 原因与边界 | 来源 |
|---|---|---| |---|---|---|
| Ayatori 公共 infra 与领域 repository 分离 | 连接、认证和官方读写客户端统一装配;领域保留对象映射和业务语义,不引入万能仓储 | [Controller 公共基础设施边界](ayatori-control-plane.md#controller-公共基础设施边界) |
| 新增监控配置优先使用 ServiceMonitor、PodMonitor、PrometheusRule | VictoriaMetrics Operator 负责转换,避免同一目标/规则维护两套声明;历史 VM 配置按需另行迁移 | 维护者 2026-09-25 明确要求;[基础监控运维](../guides/monitoring-foundation.md) | | 新增监控配置优先使用 ServiceMonitor、PodMonitor、PrometheusRule | VictoriaMetrics Operator 负责转换,避免同一目标/规则维护两套声明;历史 VM 配置按需另行迁移 | 维护者 2026-09-25 明确要求;[基础监控运维](../guides/monitoring-foundation.md) |
| Ayatori 复用 Kubernetes API machinery,不复用其容器编排产品边界 | kube-apiserver/etcd 提供 API、watch、RBAC 与状态协调;领域调度、生命周期、恢复和 GC 属于 Ayatori controllers;Kubernetes workload 只是可替换 backend | [Ayatori 控制面边界](ayatori-control-plane.md) | | Ayatori 复用 Kubernetes API machinery,不复用其容器编排产品边界 | kube-apiserver/etcd 提供 API、watch、RBAC 与状态协调;领域调度、生命周期、恢复和 GC 属于 Ayatori controllers;Kubernetes workload 只是可替换 backend | [Ayatori 控制面边界](ayatori-control-plane.md) |
| Kubernetes 内置资源不绑定上游实现组件 | 可由 Ayatori Agent/controller 实现和消费 Node、Lease 等 API;使用 Node 不推导必须部署 kubelet、Pod 或 kube-scheduler | [Ayatori 控制面边界](ayatori-control-plane.md) | | Kubernetes 内置资源不绑定上游实现组件 | 可由 Ayatori Agent/controller 实现和消费 Node、Lease 等 API;使用 Node 不推导必须部署 kubelet、Pod 或 kube-scheduler | [Ayatori 控制面边界](ayatori-control-plane.md) |
+3
View File
@@ -180,6 +180,9 @@ manager 已增加显式 HTTPS/CA、auth role、目标 SA/audience 配置、Runna
默认停用;controller 不自动创建身份或授予权限。真实受限 kubeconfig 启动 manager 的测试 默认停用;controller 不自动创建身份或授予权限。真实受限 kubeconfig 启动 manager 的测试
验证 TokenRequest、续期、跨 namespace/其他 SA 拒绝、RBAC 撤回恢复与 Bao audience 校验, 验证 TokenRequest、续期、跨 namespace/其他 SA 拒绝、RBAC 撤回恢复与 Bao audience 校验,
三轮 race、本地全量测试和两种 lint 通过。生产 auth 配置与 Database 供应尚未接入,不代表已部署。 三轮 race、本地全量测试和两种 lint 通过。生产 auth 配置与 Database 供应尚未接入,不代表已部署。
认证客户端与生命周期按维护者确认的
[公共 infra 边界](../architecture/ayatori-control-plane.md#controller-公共基础设施边界)整理,
Database 保留凭据 repository/adapter 语义;重构继续由同一 PR 跟踪,不表示供应链路已完成。
具体使用边界见该提交的 具体使用边界见该提交的
[认证会话说明](https://git.ddupan.top/panxiao81/ayatori/src/commit/f0aa86f67673fbfb5f182f3ce35679c614be968d/docs/database/README.md#openbao-kubernetes-认证会话)。 [认证会话说明](https://git.ddupan.top/panxiao81/ayatori/src/commit/f0aa86f67673fbfb5f182f3ce35679c614be968d/docs/database/README.md#openbao-kubernetes-认证会话)。
+8
View File
@@ -119,6 +119,14 @@ controller、目标固定、finalizer 保留与生成 RBAC,真实 API server
源码文档与 wiki 已同步边界和正式链接。认证尚未合并,不把本地验证等同于新 head 的远端 CI; 源码文档与 wiki 已同步边界和正式链接。认证尚未合并,不把本地验证等同于新 head 的远端 CI;
未部署生产 auth/RBAC,也未接入 Database 供应或 ESO 交付。 未部署生产 auth/RBAC,也未接入 Database 供应或 ESO 交付。
同一 PR 的公共 infra 拆分已提交为
[65c60cc](https://git.ddupan.top/panxiao81/ayatori/commit/65c60cca4528bc8bf14783fb7b59922283059c02)。
Bao client/TLS 与认证不再归 Database;Secret 凭据适配器注入 manager 的直连 reader,
领域继续维护凭据格式和写入结果语义。分层约定已同步
[控制面边界](architecture/ayatori-control-plane.md#controller-公共基础设施边界)及源码文档。
全量单元/API 测试、真实 PostgreSQL/OpenBao 集成、公共 infra race 与两种 lint 本地通过;
新 head 的远端 CI 仍由 PR 跟踪,不把本地验证或本次文档同步当成合并、部署完成。
## 2026-09-25 sandbox 存储故障复盘的来源边界 ## 2026-09-25 sandbox 存储故障复盘的来源边界
维护者报告 VyOS 到 sandbox 的 LB 故障并授权恢复。现场确认 LB 配置未在故障当天更改, 维护者报告 VyOS 到 sandbox 的 LB 故障并授权恢复。现场确认 LB 配置未在故障当天更改,