From 6f5b813a8918d00438ca019326df362e8a006b92 Mon Sep 17 00:00:00 2001 From: panxiao81 Date: Fri, 25 Sep 2026 21:03:40 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20=E7=BA=A0=E6=AD=A3=20controller=20?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E7=9A=84=20Pod=20=E9=83=A8=E7=BD=B2=E5=81=87?= =?UTF-8?q?=E8=AE=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/postgresql-tenant-operator.md | 17 +++++++++++------ verification.md | 9 ++++++--- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/services/postgresql-tenant-operator.md b/services/postgresql-tenant-operator.md index 8f83efe..31d7e01 100644 --- a/services/postgresql-tenant-operator.md +++ b/services/postgresql-tenant-operator.md @@ -170,13 +170,18 @@ Database 供应或 ESO。源码模块文档与 wiki 已关联,见 Kubernetes 认证会话的后续实现位于 [PR #13](https://git.ddupan.top/panxiao81/ayatori/pulls/13),提交 -[dcf9ab5](https://git.ddupan.top/panxiao81/ayatori/commit/dcf9ab50dffab2740b1801a560d47b1a857374b1),尚未合并。 -使用官方 SDK 登录与 LifetimeWatcher,不自行实现续期算法;重新登录重读指定 SA token, -缺失或空文件不回退其他身份,续期失败及停止时清空本地 token。真实 envtest/OpenBao 测试 -验证 TokenReview、续期、撤销恢复与 namespace/audience 拒绝,三轮 race、本地全量测试和 -两种 lint 通过。manager 配置、生命周期/健康检查装配与生产 auth 配置仍未接入,不代表已部署。 +[f0aa86f](https://git.ddupan.top/panxiao81/ayatori/commit/f0aa86f67673fbfb5f182f3ce35679c614be968d),尚未合并。 +维护者指出并纠正了首版的 Pod 文件假设:controller 可以是 systemd service;Kubernetes auth +仍是正确路径,但应复用 manager 的标准 kubeconfig/in-cluster 配置,通过 RBAC 授权的指定 +ServiceAccount TokenRequest 申请短期 JWT。集群内外共用同一客户端路径,不另建机器身份。 +重新登录重新申请 JWT,申请失败不回退投射文件或静态 token;官方 SDK 负责 Bao 登录与 +LifetimeWatcher,续期失败及停止时清空本地 token。kubeconfig 的签发、更新与撤销属于部署管理。 +manager 已增加显式 HTTPS/CA、auth role、目标 SA/audience 配置、Runnable 与 readiness, +默认停用;controller 不自动创建身份或授予权限。真实受限 kubeconfig 启动 manager 的测试 +验证 TokenRequest、续期、跨 namespace/其他 SA 拒绝、RBAC 撤回恢复与 Bao audience 校验, +三轮 race、本地全量测试和两种 lint 通过。生产 auth 配置与 Database 供应尚未接入,不代表已部署。 具体使用边界见该提交的 -[认证会话说明](https://git.ddupan.top/panxiao81/ayatori/src/commit/dcf9ab50dffab2740b1801a560d47b1a857374b1/docs/database/README.md#openbao-kubernetes-认证会话)。 +[认证会话说明](https://git.ddupan.top/panxiao81/ayatori/src/commit/f0aa86f67673fbfb5f182f3ce35679c614be968d/docs/database/README.md#openbao-kubernetes-认证会话)。 - operator 管理实例内的租户资源,不运行 PostgreSQL/OpenBao,也不管理 VM、存储、备份或 OpenBao PKI。 - 应用密码写入 OpenBao,不进入 CR、Event 或日志;ESO 负责向 Kubernetes 消费者投射。 diff --git a/verification.md b/verification.md index 2c6ff33..3e5aeb7 100644 --- a/verification.md +++ b/verification.md @@ -111,10 +111,13 @@ controller、目标固定、finalizer 保留与生成 RBAC,真实 API server 维护者批准后合并 [PR #12](https://git.ddupan.top/panxiao81/ayatori/pulls/12),合并提交 [22ab72e](https://git.ddupan.top/panxiao81/ayatori/commit/22ab72ec60dd5a0bf852e4563e107597dd56e81f)。 后续 Kubernetes 认证与短期会话续期已提交为 -[dcf9ab5](https://git.ddupan.top/panxiao81/ayatori/commit/dcf9ab50dffab2740b1801a560d47b1a857374b1), +[f0aa86f](https://git.ddupan.top/panxiao81/ayatori/commit/f0aa86f67673fbfb5f182f3ce35679c614be968d), 由 [PR #13](https://git.ddupan.top/panxiao81/ayatori/pulls/13) 跟踪 CI 与 review。 -本地全量测试、三轮真实 OpenBao/TokenReview race 测试及两种 lint 通过;源码模块文档与 wiki -已同步边界和正式链接。认证尚未合并或装配到 manager,不把本地验证等同于远端 CI 或服务上线。 +首版依赖投射 SA 文件的假设已按维护者意见撤除:集群外 kubeconfig 与集群内配置共用 manager +客户端,通过受限 TokenRequest 获取登录 JWT。manager 显式配置、Runnable 与 readiness 已装配; +三轮真实 API/OpenBao race、本地全量测试与两种 lint 通过,覆盖 RBAC 撤回/恢复和越权拒绝。 +源码文档与 wiki 已同步边界和正式链接。认证尚未合并,不把本地验证等同于新 head 的远端 CI; +未部署生产 auth/RBAC,也未接入 Database 供应或 ESO 交付。 ## 2026-09-25 sandbox 存储故障复盘的来源边界