docs: align control plane delivery status
Some checks are pending
ci / proto (push) Waiting to run
ci / test (ubuntu-latest) (push) Waiting to run
ci / test (windows-latest) (push) Waiting to run
ci / race (push) Waiting to run
ci / integration (push) Waiting to run

This commit is contained in:
youfak 2026-07-31 13:38:40 +08:00
parent 2c097f3e89
commit 7520dada47
5 changed files with 23 additions and 11 deletions

View File

@ -41,8 +41,9 @@ Proxy Pool 用 Controller 协调这些变化,并让 Gateway 数据面只消费
- **PostgreSQL 管理面**持久化配置版本、Upstream/Routing 管理状态、Admin
审计与 Outbox不保存 Proxy 明细或逐次提取记录。
- **Gateway 组件**HTTP 正向代理、HTTPS CONNECT、双向 Tunnel、重试、超时、
目的地址保护、本地快照存储和容量调度已有实现与定向测试,但尚无
`proxy-gateway` 命令和控制面客户端。
目的地址保护、本地快照存储、容量调度和 Worker 控制面 Register/Watch/ACK/
Runtime 会话组件已有实现与定向测试;`proxy-gateway` 命令、凭据分发和权威
Proxy/Routing Snapshot 发布仍待装配。
- **安全边界**Gateway、Distribution 与 Admin 使用各自的认证语义,并支持
CIDR、可信代理、严格请求解析和敏感信息最小化。

View File

@ -109,6 +109,7 @@ pp:{activity}:worker-snapshot-expiry ZSET workerID -> Snapshot 引用 expiry mil
pp:{activity}:worker-runtime HASH workerID -> 完整稀疏运行态报告
pp:{activity}:worker-runtime-expiry ZSET workerID -> report expiry milliseconds
pp:{activity}:owned:<digest> ZSET 单 Upstream 已分配 AVAILABLE Proxy
pp:{activity}:worker-owned:<digest> ZSET 单 Worker 可下发的已分配 Proxy
pp:{activity}:idem:<digest> STRING 带 TTL 的提取幂等结果
pp:{activity}:op:<digest> STRING 带 TTL 的内部操作结果
```
@ -117,6 +118,10 @@ Proxy 记录包含地址、状态、健康信息、硬过期时间、`usableUnti
所有权引用及 Distribution 返回所需的短期凭据。Redis 键、日志、指标和错误不得
包含密码或原始 `SecretRef`
`worker-owned` 的 score 是 ownership 租约到期时间,仅包含未进入 Drain 的 Proxy
分配、续租、Drain、所有权过期与 Proxy 硬过期均在相同 Redis 原子脚本内维护该索引。
它用于 Controller 构建 Worker Snapshot不被 Gateway 请求热路径读取。
### Provider Upsert
Go 层先完成上下文检查、批次校验、唯一键摘要、TTL/安全余量计算、凭据解析和

View File

@ -210,8 +210,10 @@ Prometheus 运行时指标,三监听器隔离已通过测试;业务指标仍
WorkerControlPlane 现已接入 Controller 生命周期Register、ACK 和 Runtime
报告均经 Redis 服务端 TTL 的 session/issued-snapshot/ACK 栅栏校验mTLS SPIFFE
身份、消息/流限制和有界停机已实现。Snapshot 下发流、Gateway 客户端与 Outcome
上报仍未实现。
身份、消息/流限制和有界停机已实现。`WatchSnapshots` 会持续发送并保持当前 epoch
的基础完整 SnapshotGateway 已具备 Register/Watch/ACK/Runtime 会话协调组件。
按 Worker 的可下发 ownership 索引已进入 Redis 原子脚本。权威 Proxy/Routing
payload 发布、凭据分发、Gateway 命令与 Outcome 上报仍未实现。
已新增公用 `domain/activitypool` 契约及并发安全内存参考实现Provider
Reconciler 通过 `UpsertFetched` 写入带供应商 TTL 和分配安全余量的批次;已覆盖
@ -247,8 +249,9 @@ Distribution 现通过公用 `admission.Admitter` 接入独立 `redisadmission`
Controller 多副本共享同一计数。Client 身份只以 SHA-256 摘要进入 Redis窗口切换
原子回收历史字段Redis 异常 fail-closed 并返回 503真实额度耗尽返回 429。
Gateway 请求热路径仍只使用本地准入,不增加 Redis/PostgreSQL 调用。
WorkerControlPlane gRPC 接收端、session 签发/心跳、Snapshot ACK
账本和健康执行链仍待完成,因此 Task 10 尚未全部完成。
WorkerControlPlane gRPC 接收端、session 签发/心跳、Snapshot ACK 账本、基础
Snapshot 流和 Gateway 会话客户端已完成;权威 Proxy/Routing 发布、凭据分发、
Outcome 和健康执行链仍待完成,因此 Task 10 尚未全部完成。
## Task 11: Checker and Health Reducer

View File

@ -49,7 +49,9 @@
- `WorkerControlPlane`Register、已签发 Snapshot 的 ACK 和完整稀疏 Runtime
报告已通过 gRPC、Memory 与 Redis 8.2 契约验证session、ACK、报告均使用 Redis
服务端 TTL负向 ACK 会关闭 Runtime 写入栅栏。Controller 已装配 loopback
plaintext fixture 与 SPIFFE mTLS 服务端Snapshot 流、Gateway 客户端、Outcome 和
plaintext fixture 与 SPIFFE mTLS 服务端;基础 Snapshot 流和 Gateway 的
Register/Watch/ACK/Runtime 会话协调已实现。Redis 以 Worker 可下发 ownership
索引支持后续 payload 构建;权威 Proxy/Routing payload、凭据分发、Outcome 和
Checker 尚未闭环。
- `PostgreSQL 管理面`:已定义 `adminstate` 事务 seam、并发安全 MemoryStore、
公用契约、100 并发 Routing CAS、租约 Outbox 和只含六张管理表的 Schemapgx
@ -92,8 +94,9 @@ CI 已配置 Linux race job。PostgreSQL 18 和 Redis 8.2 的隔离 Adapter fixt
5. Worker Register/ACK/Runtime gRPC 接收路径、Redis 服务端 TTL 会话生命周期、
SPIFFE mTLS 校验和 Controller 生命周期接线已完成Redis Provider Leader、
分布式请求额度、Distribution Client 限制和 Provider 状态丢失重建已完成。
6. Worker 网络快照流、Gateway Snapshot 客户端和 Outcome 上报仍待完成Redis
ownership drain/ACK/过期回收已完成。
6. Worker 基础网络快照流和 Gateway Snapshot 客户端已完成;权威 Proxy/Routing
payload、凭据分发与 Outcome 上报仍待完成。Redis ownership drain/ACK/过期回收
及按 Worker 的可下发索引已完成。
7. Checker 调度、探测器和健康 reducer。
8. Admin/Distribution 细粒度授权和审计查询Distribution 分布式限流已完成。
9. 真实 Compose/Kubernetes 集成、故障演练和代表性集群负载测试。

View File

@ -7,7 +7,7 @@
| ID | 最终需求 | 来源 | 验证证据 |
|---|---|---|---|
| ARCH-001 | 数据面 Worker 与控制面 Controller 分离 | 1-70 | 包、协议和部署拓扑已分离Controller 已运行 Worker Register/ACK/Runtime gRPC 接收Gateway/Checker/Loadgen 构建产物及 Snapshot 下发待实现 |
| ARCH-001 | 数据面 Worker 与控制面 Controller 分离 | 1-70 | 包、协议和部署拓扑已分离Controller 已运行 Worker Register/Watch/ACK/Runtime gRPCGateway 已有会话客户端组件Gateway/Checker/Loadgen 构建产物及权威 Snapshot payload 发布待实现 |
| ARCH-002 | 热路径只做认证、本地路由和网络转发 | 1-70, 380-430 | Snapshot/Dispatch 及依赖边界已验证;完整 Gateway 进程与代表性性能剖析待完成 |
| ARCH-003 | Gateway、Distribution、Admin、Metrics 独立入口 | 8904-8958 | Controller 命令已装配 Distribution/Admin/Metrics 三个独立监听及联动停机Gateway 生产入口待装配 |
| ARCH-004 | Controller 集中 Provider 获取与切换 | 1403-1580 | Redis Leader、动态 Provider Supervisor 与 Bootstrap 生产装配已完成Admin disable/reload 驱动取消替换,多副本按权威 HMAC 指纹和 revision 栅栏收敛并拒绝旧配置换主Routing 切换到 Drain 的编排待完成 |
@ -46,7 +46,7 @@
| PROXY-002 | 唯一键包含 scheme、host、port、username、credentialVersion | 6655-6727, 8605-8678 | 去重单测 |
| PROXY-003 | TTL 来源优先级明确并统一 UTC | 681-747, 8655-8678 | TTL 表驱动测试 |
| CAP-001 | Gateway 分配使用 Reserved -> Active 原子转换 | 1203-1467, 8530-8597 | 固定 Max 下打包 CAS 与 1,000 并发不超卖已完成;动态降容和完整生命周期证据待完成 |
| CAP-002 | 补池依据 Available Slots不只看 Proxy 数量 | 1203-1402, 8530-8597 | `AvailableSlots`、显式 minimum/target 水位、pending 槽位和迟滞 Reconciler 已测试Worker session/ACK/sequence/TTL/ownership fence 与 WorkerControlPlane Register/ACK/Runtime 接收已通过内存、Redis 8.2 和 gRPC 测试Snapshot 下发、目标健康和 Gateway reserve 策略仍待完成 |
| CAP-002 | 补池依据 Available Slots不只看 Proxy 数量 | 1203-1402, 8530-8597 | `AvailableSlots`、显式 minimum/target 水位、pending 槽位和迟滞 Reconciler 已测试Worker session/ACK/sequence/TTL/ownership fence、基础 Snapshot 流及 Gateway 会话组件已通过内存、Redis 8.2 和 gRPC 测试;权威 payload、目标健康和 Gateway reserve 策略仍待完成 |
| CAP-003 | pool.maxSize 包括 FETCHED/CHECKING/AVAILABLE/SUSPECT/DRAINING 与 pending expected | 3001-3533, 6642-6680 | `FetchBudget` 100 并发额度预占测试 |
| CAP-004 | TTL safety margin 内禁止新分配 | 173-220, 6728-6741 | 时钟测试 |
| CAP-005 | 多 Worker 不在热路径访问 Redis 计数 | 1403-1467 | Gateway 包依赖审计、Snapshot/Dispatch 测试 |