feat(native): add JD read-only anchor HTTP service
This commit is contained in:
parent
22b834eb79
commit
f31c33e77a
7 changed files with 476 additions and 4 deletions
|
|
@ -0,0 +1,59 @@
|
|||
# ADR-0171 · 京东原生服务等价分阶段门禁
|
||||
|
||||
## 状态
|
||||
|
||||
Accepted for staged verification. Production native cutover remains `0`.
|
||||
|
||||
## 为什么不能把“原生内核已常驻”当成“服务器部署完成”
|
||||
|
||||
JD-FD-PRIMARY 在原生光湖 OS 常驻时已经证明:
|
||||
|
||||
- GOSK/GHAL 在物理机启动;
|
||||
- Linux 内核与 Linux 用户态不在场;
|
||||
- 五域、代码对象、分支回执和人格索引可从原生盘面读写;
|
||||
- 受保护的人类授权恢复能力有效。
|
||||
|
||||
但现有公共代码频道和导航服务由 Linux 上的 Forgejo、Node 服务及反向 SSH 前门共同提供。
|
||||
原生常驻时这条 Linux 数据面消失,`/code/` 与公共导航锚点都返回 `502`。因此内核常驻和
|
||||
生产服务等价是两个独立的二值门。
|
||||
|
||||
## 分阶段目标
|
||||
|
||||
1. `NATIVE_ANCHOR_HTTP_QEMU`
|
||||
- GHAL 直接处理 TCP/IPv4;
|
||||
- 原生端口 `3922` 回应 `GET /v1/anchor`;
|
||||
- 返回唯一锚点 `GLW-PUBLIC-NAV-ANCHOR-001`;
|
||||
- 不引入 Linux 用户态或通用套接字库。
|
||||
2. `NATIVE_ANCHOR_HTTP_PHYSICAL`
|
||||
- 京东物理机原生启动;
|
||||
- 由服务器外部节点完成 TCP、校验和与正文回读;
|
||||
- 同一窗口验证受保护恢复。
|
||||
3. `PUBLIC_FRONT_DOOR_NATIVE_ANCHOR`
|
||||
- `https://guanghulab.com/api/ai/v1/anchor` 在京东原生常驻时仍返回 `200`;
|
||||
- 返回值必须与唯一公共锚点一致;
|
||||
- 不允许把用户的个人腾讯云服务器静默改成生产承载节点。
|
||||
4. `NATIVE_CODE_CHANNEL_READ_ONLY`
|
||||
- 原生数据面可读取仓库对象、引用和提交;
|
||||
- 先提供只读发现能力,再设计带授权的写入。
|
||||
5. `NATIVE_CODE_CHANNEL_MUTATION`
|
||||
- HLDP 意图、授权、对象写入、分支移动和回执形成闭环。
|
||||
6. `PRODUCTION_NATIVE_CUTOVER`
|
||||
- 公共导航与代码频道全部通过物理公网门禁;
|
||||
- 回滚路径与服务器自有回执可读;
|
||||
- 才允许恢复原生默认启动。
|
||||
|
||||
## 当前实现边界
|
||||
|
||||
本阶段实现的是一个有界的只读 TCP 投影,不是通用 TCP/IP 栈,也不是 Forgejo 替代品。
|
||||
它从收到的帧派生对端 MAC、IP、端口和确认号,直接构造 SYN-ACK 与带 FIN 的 HTTP 200
|
||||
响应。它与现有 ICMP 控制/恢复通道并存。
|
||||
|
||||
当前正文包含稳定的唯一入口映射。它尚未在原生常驻期间自动拉取 REPO-012 的新版本,
|
||||
因此“公共导航自动更新”仍需后续的原生锚点快照同步或带认证的增量更新协议。
|
||||
|
||||
## 安全决定
|
||||
|
||||
- 京东的无人值守默认启动继续保持 Linux 维护位;
|
||||
- 原生候选保留为非默认的一次性门禁入口;
|
||||
- 物理原生门禁失败时立即走已经证明的受保护恢复路径;
|
||||
- 不用协议文件、QEMU 结果或端口发包冒充公网服务等价。
|
||||
Loading…
Reference in a new issue