Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7e4da26f28
|
||
|
|
fc181ef8f6
|
||
|
|
da0d9fff01
|
+4
-4
@@ -69,10 +69,10 @@ accepted 不代表部署完成,implemented 必须附实现和验收依据。
|
||||
无需每次修改都更新首页、所有服务页或整个来源索引。
|
||||
原仓库 README 同步按维护者要求暂缓,不阻塞 wiki 的维护。
|
||||
|
||||
按维护者于 2026-09-25 的约定,纯文档变更检查通过后直接提交并推送 main,不另开 PR。
|
||||
含代码、配置或检查器行为变更时仍使用 PR;PR 使用
|
||||
[.gitea/PULL_REQUEST_TEMPLATE.md](.gitea/PULL_REQUEST_TEMPLATE.md),简述问题、最终变化、依据与验证。
|
||||
直接提交仍遵循相同的检查与证据规则,不跳过检查或覆盖 main 上的其他更新。
|
||||
按维护者最新约定,后续修改均新建分支并提交 PR,纯文档变更也适用;未经明确指示,
|
||||
不直接推送 main、不自行合并。此约定取代此前纯文档直接推 main 的规则。
|
||||
PR 使用 [.gitea/PULL_REQUEST_TEMPLATE.md](.gitea/PULL_REQUEST_TEMPLATE.md),
|
||||
简述问题、最终变化、依据与验证;不得跳过检查或覆盖其他工作区修改。
|
||||
|
||||
## 本地与 CI 检查
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Ayatori 控制面边界
|
||||
last_reviewed: 2026-09-25
|
||||
last_reviewed: 2026-09-24
|
||||
---
|
||||
|
||||
# Ayatori 控制面边界
|
||||
@@ -53,19 +53,6 @@ Database 资源模型于 2026-09-24 明确采用官方 PV/PVC 的资源/申请
|
||||
和[总体架构](https://git.ddupan.top/panxiao81/ayatori/src/branch/main/docs/architecture/overview.md)为准。
|
||||
本页记录跨 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 验证约定
|
||||
|
||||
2026-09-24 维护者决定:全量验证自动在 PR 执行,main push 不再重复运行;保留手动入口。
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
| 约束 | 原因与边界 | 来源 |
|
||||
|---|---|---|
|
||||
| Ayatori 公共 infra 与领域 repository 分离 | 连接、认证和官方读写客户端统一装配;领域保留对象映射和业务语义,不引入万能仓储 | [Controller 公共基础设施边界](ayatori-control-plane.md#controller-公共基础设施边界) |
|
||||
| 新增监控配置优先使用 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) |
|
||||
| Kubernetes 内置资源不绑定上游实现组件 | 可由 Ayatori Agent/controller 实现和消费 Node、Lease 等 API;使用 Node 不推导必须部署 kubelet、Pod 或 kube-scheduler | [Ayatori 控制面边界](ayatori-control-plane.md) |
|
||||
|
||||
@@ -180,6 +180,8 @@ Keycloak 有 Native 发行或完整原生兼容性。
|
||||
Testcontainers、UnboundID、Lombok、配置处理器、DevTools 与 Native 插件。依赖存在不表示认证流程已实现;首次实现及 Native
|
||||
验证由 [issue #1](https://git.ddupan.top/panxiao81/iam-login/issues/1) 跟踪。需在原生二进制上
|
||||
验证 AD、MFA、Hydra、持久化及监控,实测资源成本;不能把编译成功等同完整验收。
|
||||
日常迭代以 JVM 测试为准,不再要求每轮 Native 编译;Native 留在阶段性验收时集中验证,
|
||||
新增路径未经过原生测试时须明确记录。
|
||||
|
||||
首轮保持 AD 用户与组权威并直接映射组名。LDAP 与 MFA 绑定同一稳定主体;切换前需要
|
||||
明确现役 issuer/sub 哈希主体到新主体的连续性映射。MFA 首先验证官方 WebAuthn 集成,
|
||||
@@ -195,9 +197,12 @@ Testcontainers、UnboundID、Lombok、配置处理器、DevTools 与 Native 插
|
||||
|
||||
页面与 Spring 后端同仓库维护,前端资源构建后随 Native 应用交付。生产不增加 Node/BFF、
|
||||
嵌入式 JavaScript 运行时或 FreeMarker;首轮接受客户端首屏渲染,不实现 React SSR/RSC。
|
||||
当前仅验证浏览器交互原型,不表示 AD、MFA 或 Hydra 登录链路已完成,也不替换现役入口。
|
||||
浏览器交互原型已经维护者体验认可。AD 密码因素与直接所属组查询已通过维护者浏览器验收,
|
||||
密码成功后停在待 MFA 状态,不接受 Hydra challenge,也不替换现役入口。
|
||||
原型启动、实现与验证见 [iam-login PR #3](https://git.ddupan.top/panxiao81/iam-login/pulls/3)
|
||||
及其浏览器流程文档;后续机器 API 独立设计。
|
||||
及其浏览器流程文档;AD 接入见
|
||||
[iam-login AD 接入文档(开发分支)](https://git.ddupan.top/panxiao81/iam-login/src/branch/feat/ad-login/docs/ad-login.md)。
|
||||
后续机器 API 独立设计。
|
||||
|
||||
### 目录与 DNS 迁移
|
||||
|
||||
|
||||
@@ -84,3 +84,18 @@ Gitea 接入见 [PR #143](https://git.ddupan.top/panxiao81/homelab-infra/pulls/1
|
||||
依赖共享 PostgreSQL、OpenBao/ESO、Authelia、Envoy、Samba DNS 与 zot。独立于 Ayatori
|
||||
不等于已完成共享基础设施之外的灾备;恢复需保留 Hydra 数据库和秘密。
|
||||
回退时先撤 Gitea 新登录源,沿用旧 Authelia 入口,不删除用户或原有认证配置。
|
||||
|
||||
### 独立登录服务的 AD 接入
|
||||
|
||||
`iam-login` 的人类界面沿用内联上下文与原生表单,新增 AD 第一因素验收入口;
|
||||
以用户身份 LDAPS bind,读取 objectGUID 和直接 `memberOf`,组名保持原样。
|
||||
当前不展开嵌套组或主组,不能视为已完成与 Authelia 的有效组集合等价验证。
|
||||
密码成功只进入待 MFA 事务;Gitea 仍使用上面已验收的 Go/Authelia 路径。
|
||||
|
||||
本轮开发验证通过 JVM 测试,并从 JVM 通过 CA/域名验证读取真实 AD RootDSE。
|
||||
2026-09-25 维护者已在 HTTPS 开发入口完成真实密码验证,成功进入待 MFA 页面,
|
||||
并反馈目录标识、邮箱及六个直接所属组的查询结果。此人类验收只覆盖 AD 第一因素与
|
||||
属性读取,不包括 MFA 或 Hydra 登录。新增路径尚未跑 Native;日常迭代不要求每轮原生编译。开发入口使用受限 Tailscale HTTPS,属于临时验收实例,不是生产入口。
|
||||
实现见 [iam-login PR #4](https://git.ddupan.top/panxiao81/iam-login/pulls/4),
|
||||
配置、边界与使用方式见
|
||||
[iam-login AD 接入文档(开发分支)](https://git.ddupan.top/panxiao81/iam-login/src/branch/feat/ad-login/docs/ad-login.md)。
|
||||
|
||||
@@ -180,9 +180,6 @@ manager 已增加显式 HTTPS/CA、auth role、目标 SA/audience 配置、Runna
|
||||
默认停用;controller 不自动创建身份或授予权限。真实受限 kubeconfig 启动 manager 的测试
|
||||
验证 TokenRequest、续期、跨 namespace/其他 SA 拒绝、RBAC 撤回恢复与 Bao audience 校验,
|
||||
三轮 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-认证会话)。
|
||||
|
||||
|
||||
@@ -119,14 +119,6 @@ controller、目标固定、finalizer 保留与生成 RBAC,真实 API server
|
||||
源码文档与 wiki 已同步边界和正式链接。认证尚未合并,不把本地验证等同于新 head 的远端 CI;
|
||||
未部署生产 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 存储故障复盘的来源边界
|
||||
|
||||
维护者报告 VyOS 到 sandbox 的 LB 故障并授权恢复。现场确认 LB 配置未在故障当天更改,
|
||||
|
||||
Reference in New Issue
Block a user