docs: align development identity delivery evidence

This commit is contained in:
youfak 2026-08-07 20:12:18 +08:00
parent 25218e8d27
commit e318ddbb54
6 changed files with 15 additions and 9 deletions

View File

@ -178,8 +178,8 @@ Redis、PostgreSQL 和 Controller fixture 脚本会使用 Docker 启动隔离依
./scripts/test-controller.ps1 ./scripts/test-controller.ps1
``` ```
本地 Compose 还会启动 Controller、两个固定身份的 Gateway 和一个 Checker。首次启动前 本地 Compose 还会启动 Controller、两个从开发证书派生身份的 Gateway 和一个 Checker。
生成仅用于本机的 7 天 mTLS 证书;输出目录受 `.gitignore` 保护,脚本拒绝写入非空目录: 首次启动前生成仅用于本机的 7 天 mTLS 证书;输出目录受 `.gitignore` 保护,脚本拒绝写入非空目录:
```powershell ```powershell
./scripts/generate-local-controlplane-certs.ps1 ./scripts/generate-local-controlplane-certs.ps1

View File

@ -376,7 +376,7 @@ Gateway 热路径。`platform/logging` 以 JSON `slog` 输出进程级致命错
CI 另有独立 Deployment job在占位凭据下渲染 Compose并使用 `kubectl kustomize` CI 另有独立 Deployment job在占位凭据下渲染 Compose并使用 `kubectl kustomize`
渲染 Kubernetes base 和单副本 development mTLS Overlay它不启动容器、不访问真实存储或密钥。 渲染 Kubernetes base 和单副本 development mTLS Overlay它不启动容器、不访问真实存储或密钥。
development Overlay 已挂载独立 Controller/Gateway/Checker TLS Secret、启用 Checker 和最小 development Overlay 已挂载独立 Controller/Gateway/Checker TLS Secret、启用 Checker 和最小
网络策略,但固定 `gateway-a`、`checker-a` 身份且 HPA 锁为单副本,不能代替生产证书轮换。 网络策略,并从固定开发证书派生 `gateway-a`、`checker-a` 身份且 HPA 锁为单副本,不能代替生产证书轮换。
控制面 TLS 叶证书和信任根已在每次新握手时从文件加载,短暂文件不一致时保留最后一次有效材料; 控制面 TLS 叶证书和信任根已在每次新握手时从文件加载,短暂文件不一致时保留最后一次有效材料;
生产 Overlay 仍必须由工作负载身份系统提供每副本唯一 SPIFFE URI 和弹性身份注入。 生产 Overlay 仍必须由工作负载身份系统提供每副本唯一 SPIFFE URI 和弹性身份注入。

View File

@ -104,7 +104,7 @@ CI 已配置 Linux race job。PostgreSQL 18 和 Redis 8.2 的隔离 Adapter fixt
已经运行;本地 Compose 已声明 Controller、两个独立 Gateway 身份和一个 Checker 的 已经运行;本地 Compose 已声明 Controller、两个独立 Gateway 身份和一个 Checker 的
mTLS 运行拓扑并由配置、证书、命令装配和部署契约测试覆盖。Kubernetes base 刻意不直接 mTLS 运行拓扑并由配置、证书、命令装配和部署契约测试覆盖。Kubernetes base 刻意不直接
启用 Checker`development-mtls` Overlay 已为单副本 Controller、Gateway 和 Checker 启用 Checker`development-mtls` Overlay 已为单副本 Controller、Gateway 和 Checker
提供固定开发身份、mTLS Secret 挂载、最小出站 NetworkPolicy 与渲染/配置契约验证。 提供固定开发证书、运行时身份派生、mTLS Secret 挂载、最小出站 NetworkPolicy 与渲染/配置契约验证。
Controller、Gateway 与 Checker 的叶证书和信任根已在每个新 TLS 握手时重载,文件短暂 Controller、Gateway 与 Checker 的叶证书和信任根已在每个新 TLS 握手时重载,文件短暂
不一致时保留最后一次有效材料。生产环境仍必须通过独立 Overlay 为每个弹性 Worker 注入 不一致时保留最后一次有效材料。生产环境仍必须通过独立 Overlay 为每个弹性 Worker 注入
唯一 SPIFFE URI且容器端到端启动仍待具备镜像网络的环境验证。 唯一 SPIFFE URI且容器端到端启动仍待具备镜像网络的环境验证。
@ -127,7 +127,7 @@ Queue、配置、指标和部署契约分别锁定一次性 Extract、队列容
与 p99 告警;仍需代表性环境的流量压测和容量报告。 与 p99 告警;仍需代表性环境的流量压测和容量报告。
3. Provider 长期凭据回收与累计额度的生产运营策略仍需结合实际供应商合同、失效时间和 3. Provider 长期凭据回收与累计额度的生产运营策略仍需结合实际供应商合同、失效时间和
密钥平台完成演练。 密钥平台完成演练。
4. Kubernetes 的开发 mTLS Overlay 已覆盖单副本固定身份和 Checker 出站 4. Kubernetes 的开发 mTLS Overlay 已覆盖单副本开发证书身份派生和 Checker 出站
NetworkPolicy生产环境仍需要按工作负载身份系统提供证书轮换、每副本唯一 Worker ID NetworkPolicy生产环境仍需要按工作负载身份系统提供证书轮换、每副本唯一 Worker ID
与可弹性扩缩容的身份注入base 清单不假定或伪造这些能力。 与可弹性扩缩容的身份注入base 清单不假定或伪造这些能力。
5. Redis/PostgreSQL 故障转移、控制面断线恢复、Snapshot 回滚、Drain 回收和 Extract 5. Redis/PostgreSQL 故障转移、控制面断线恢复、Snapshot 回滚、Drain 回收和 Extract

View File

@ -9,7 +9,7 @@
|---|---|---|---| |---|---|---|---|
| ARCH-001 | 数据面 Worker 与控制面 Controller 分离 | 1-70 | 包、协议和部署拓扑已分离Controller 已运行 Worker Register/Watch/ACK/Runtime/Outcome 与 Checker Observation gRPC并发布 Proxy/Gateway Routing/按引用去重凭据完整快照Checker 任务流已具备有界领取、租约栅栏和任务期凭据契约。Gateway 已将快照编译为同版本动态 View并由独立进程维护控制面会话。`proxy-checker` 与 Redis BASIC/EGRESS/TARGET 共享任务运行态、`proxy-loadgen` 有界 HTTP/CONNECT/Extract 校验场景均已实现 | | ARCH-001 | 数据面 Worker 与控制面 Controller 分离 | 1-70 | 包、协议和部署拓扑已分离Controller 已运行 Worker Register/Watch/ACK/Runtime/Outcome 与 Checker Observation gRPC并发布 Proxy/Gateway Routing/按引用去重凭据完整快照Checker 任务流已具备有界领取、租约栅栏和任务期凭据契约。Gateway 已将快照编译为同版本动态 View并由独立进程维护控制面会话。`proxy-checker` 与 Redis BASIC/EGRESS/TARGET 共享任务运行态、`proxy-loadgen` 有界 HTTP/CONNECT/Extract 校验场景均已实现 |
| ARCH-002 | 热路径只做认证、本地路由和网络转发 | 1-70, 380-430 | Gateway bootstrap 集成测试验证启动期控制面会话与快照就绪HTTP 请求只走本地 Snapshot/DispatchOutcome 仅写入有界非阻塞本地队列,代表性性能剖析待完成 | | ARCH-002 | 热路径只做认证、本地路由和网络转发 | 1-70, 380-430 | Gateway bootstrap 集成测试验证启动期控制面会话与快照就绪HTTP 请求只走本地 Snapshot/DispatchOutcome 仅写入有界非阻塞本地队列,代表性性能剖析待完成 |
| ARCH-003 | Gateway、Distribution、Admin、Metrics 独立入口 | 8904-8958 | Controller 命令已装配 Distribution/Admin/Metrics 三个独立监听及联动停机Gateway 命令已装配代理与 Metrics 监听。本地 Compose 已声明 Controller/Gateway/Checker mTLS 拓扑Kubernetes `development-mtls` Overlay 已通过渲染与配置契约验证单副本固定身份链路,生产工作负载身份仍待环境实现 | | ARCH-003 | Gateway、Distribution、Admin、Metrics 独立入口 | 8904-8958 | Controller 命令已装配 Distribution/Admin/Metrics 三个独立监听及联动停机Gateway 命令已装配代理与 Metrics 监听。本地 Compose 已声明 Controller/Gateway/Checker mTLS 拓扑Kubernetes `development-mtls` Overlay 已通过渲染与配置契约验证单副本开发证书身份派生链路,生产工作负载身份仍待环境实现 |
| ARCH-004 | Controller 集中 Provider 获取与切换 | 1403-1580 | Redis Leader、动态 Provider Supervisor 与 Bootstrap 生产装配已完成;静态配置与 Admin 管理态共同决定 Provider 启停,停用策略以 Upstream revision 栅栏驱动既有 ownership DrainRouting 切换会向本进程 Worker 快照流广播完整刷新,多副本按定时刷新与权威 HMAC 指纹/revision 栅栏收敛并拒绝旧配置换主 | | ARCH-004 | Controller 集中 Provider 获取与切换 | 1403-1580 | Redis Leader、动态 Provider Supervisor 与 Bootstrap 生产装配已完成;静态配置与 Admin 管理态共同决定 Provider 启停,停用策略以 Upstream revision 栅栏驱动既有 ownership DrainRouting 切换会向本进程 Worker 快照流广播完整刷新,多副本按定时刷新与权威 HMAC 指纹/revision 栅栏收敛并拒绝旧配置换主 |
| ARCH-005 | 100k QPS 峰值使用多 Worker 集群 | 当前会话 | 未验证设计目标;待代表性集群负载报告 | | ARCH-005 | 100k QPS 峰值使用多 Worker 集群 | 当前会话 | 未验证设计目标;待代表性集群负载报告 |

View File

@ -2,12 +2,16 @@
## 2026-08-07 ## 2026-08-07
- 控制面 mTLS 身份新增公共 `tlsreload.ResolveSPIFFEIdentity`Gateway 和 Checker 在
`PROXY_POOL_AUTO_IDENTITY=true` 时只接受与信任域、环境和角色精确匹配的唯一 SPIFFE URI
并在显式 ID 不匹配时拒绝启动。Compose 与 Kubernetes 开发 mTLS Overlay 已移除手工 ID
改由挂载证书派生;定向 Go、文档、Compose、Kustomize 与严格配置校验均通过。
- Gateway 静态 `routing.action: direct` 已贯通严格配置、控制面协议、完整 Snapshot、 - Gateway 静态 `routing.action: direct` 已贯通严格配置、控制面协议、完整 Snapshot、
HTTP/CONNECT 转发和目标地址策略。直连请求不会申请 Proxy 容量、创建粘性绑定或上报 HTTP/CONNECT 转发和目标地址策略。直连请求不会申请 Proxy 容量、创建粘性绑定或上报
Proxy Outcome`onUnavailable.action: direct` 仍保留为代理无候选时的独立回退语义。 Proxy Outcome`onUnavailable.action: direct` 仍保留为代理无候选时的独立回退语义。
- Loadgen 固定速率模式已修复截止时排队令牌的记账:`generated = requests + dropped` - Loadgen 固定速率模式已修复截止时排队令牌的记账:`generated = requests + dropped`
防止报告将未执行的请求误记为已发送。 防止报告将未执行的请求误记为已发送。
- Compose 已启用 Controller、两个固定身份 Gateway 和 Checker 的本地 mTLS 控制面; - Compose 已启用 Controller、两个从开发证书派生身份 Gateway 和 Checker 的本地 mTLS 控制面;
PowerShell/.NET 证书生成器输出 7 天 Controller DNS SAN 与角色隔离的 SPIFFE URI PowerShell/.NET 证书生成器输出 7 天 Controller DNS SAN 与角色隔离的 SPIFFE URI
私钥目录被 Git 忽略。Checker 新增 `/livez`、`/readyz`、`/metrics`,首次成功领取任务 私钥目录被 Git 忽略。Checker 新增 `/livez`、`/readyz`、`/metrics`,首次成功领取任务
批次后才 Ready后续领取失败会撤销 Ready。 批次后才 Ready后续领取失败会撤销 Ready。

View File

@ -52,7 +52,9 @@
收敛。Health Scheduler 现以相同 revision 合并配置与管理态启用状态,管理态停用会停止 收敛。Health Scheduler 现以相同 revision 合并配置与管理态启用状态,管理态停用会停止
该 Upstream 的新 BASIC/EGRESS/TARGET 任务,停用 Routing 仅停止其新 TARGET 任务。 该 Upstream 的新 BASIC/EGRESS/TARGET 任务,停用 Routing 仅停止其新 TARGET 任务。
Gateway 请求生命周期直方图、Grafana 仪表盘、指标契约检查和 p99 延迟告警已完成; Gateway 请求生命周期直方图、Grafana 仪表盘、指标契约检查和 p99 延迟告警已完成;
后续以真实容器、集群故障演练和代表性负载报告完成运行态验证闭环。 Gateway/Checker 现可通过 `PROXY_POOL_AUTO_IDENTITY=true` 从唯一角色 SPIFFE URI
派生逻辑与缺省实例 IDCompose 与开发 mTLS Overlay 已使用该公共路径。后续以真实容器、
集群故障演练和代表性负载报告完成运行态验证闭环。
## 串并行关系 ## 串并行关系
@ -76,7 +78,7 @@
代理配置,未能在本机完成 Compose 容器端到端启动。 代理配置,未能在本机完成 Compose 容器端到端启动。
- Controller、Gateway、Checker、Loadgen、Provider Fleet、WorkerControlPlane、业务指标和 - Controller、Gateway、Checker、Loadgen、Provider Fleet、WorkerControlPlane、业务指标和
Redis 故障边界均有实现与定向测试。Kubernetes `development-mtls` Overlay 已静态验证 Redis 故障边界均有实现与定向测试。Kubernetes `development-mtls` Overlay 已静态验证
单副本固定身份链路;真实容器故障转移、生产工作负载身份与代表性集群压测仍属于后续验证范围。 单副本开发证书身份派生链路;真实容器故障转移、生产工作负载身份与代表性集群压测仍属于后续验证范围。
- `implementation-plan.md` 当前完成 73/75 个验收项;验收勾选数不等同于生产就绪度。 - `implementation-plan.md` 当前完成 73/75 个验收项;验收勾选数不等同于生产就绪度。
Compose 本地 mTLS 控制面运行链已实现并通过配置、证书、单元与构建验证;受本机 Docker Compose 本地 mTLS 控制面运行链已实现并通过配置、证书、单元与构建验证;受本机 Docker
Desktop 镜像 HTTPS 代理缺失影响,容器端到端启动仍待具备镜像网络的环境复核。 Desktop 镜像 HTTPS 代理缺失影响,容器端到端启动仍待具备镜像网络的环境复核。