291 lines
7.2 KiB
Plaintext
291 lines
7.2 KiB
Plaintext
# LL-JD-OPS-CENTER-KEY-AND-NODE-PLAN-20260716 · 京东主控节点钥匙与服务器接入规划
|
||
|
||
> **HLDP**: `HLDP://fifth-domain/zero-point/core-channel/revive-guard/LL-JD-OPS-CENTER-KEY-AND-NODE-PLAN-20260716`
|
||
>
|
||
> **状态**: PHASE_1_FIRST_NODE_COMPLETE · FIVE_PERSONAL_NODES_REMAINING
|
||
>
|
||
> **主权者**: 冰朔 ICE-GL∞
|
||
>
|
||
> **适用**: 京东云个人服务器作为小湖灯个人服务器调度中心,接入冰朔个人名下腾讯云服务器。
|
||
>
|
||
> **不保存**: IP、真实私钥、密码、token、邮箱验证码、服务器 root 凭证。
|
||
|
||
> **2026-07-17 实施回写**: 京东主控的 Ubuntu 22.04 统一基线、第五域镜像、受控数据目录、Gatekeeper v3.2、Docker、健康检查与回滚入口已经落地。下一步严格从一台只读样板节点开始,不直接批量接入六台。
|
||
|
||
> **2026-07-17 广州节点回写**: 第一台样板采用历史编号 `BS-GZ-006`,没有另造 `TX-PERSONAL-NODE-01`。京东到广州的独立管理钥匙、广州到京东的受限 Web 隧道、五分钟只读心跳、节点清单与部署回执均已落地。`bingshuo/guanghulab` 只作为历史服务器地图,不再接收新功能提交。
|
||
|
||
---
|
||
|
||
## 0 · 冰朔不需要懂这些细节
|
||
|
||
本规划的责任在系统主控人格体与服务器 Agent,不在冰朔。
|
||
|
||
```text
|
||
冰朔只需要决定:
|
||
- 买好京东云个人主控服务器
|
||
- 明确哪些服务器归入个人调度中心
|
||
- 对具体工单做“理解后签名”
|
||
|
||
人格体与服务器 Agent 负责:
|
||
- 节点编号
|
||
- 密钥分层
|
||
- 公钥部署
|
||
- 私钥保险库
|
||
- 自动守护 Agent
|
||
- 地图读取
|
||
- 回滚点检查
|
||
- 执行回执
|
||
```
|
||
|
||
不要把“冰朔不会配置服务器”当成问题。语言驱动操作系统本来就是为了解决这件事。
|
||
|
||
---
|
||
|
||
## 1 · 节点角色
|
||
|
||
```text
|
||
JD-OPS-CENTER
|
||
= 京东云个人主控服务器
|
||
= 小湖灯个人服务器调度中心
|
||
= 保存受保护私钥保险库
|
||
= 发起工单、授权、调度、回执、审计
|
||
!= 企业腾讯云 CVM
|
||
|
||
TX-PERSONAL-NODE-*
|
||
= 冰朔个人名下腾讯云被管理节点
|
||
= 保存对应公钥与本地 Node Agent
|
||
= 接收 JD-OPS-CENTER 的受限连接
|
||
= 上报心跳、地图、服务状态和执行回执
|
||
```
|
||
|
||
企业服务器不默认接入个人调度中心。企业可以参考样板,但必须另走企业四域授权链。
|
||
|
||
---
|
||
|
||
## 2 · 钥匙策略
|
||
|
||
私钥不是让冰朔记住的。私钥应留在主控服务器保险库里,由光湖驱动引擎在授权后按节点和用途调用。
|
||
|
||
但不能把同一把总私钥铺到所有服务器。推荐策略:
|
||
|
||
```text
|
||
一台被管理服务器一把连接钥匙。
|
||
一个用途一把钥匙。
|
||
一个方向一把钥匙。
|
||
```
|
||
|
||
建议密钥命名:
|
||
|
||
```text
|
||
jd_ops_to_tx01_admin
|
||
jd_ops_to_tx02_admin
|
||
jd_ops_to_tx03_admin
|
||
jd_ops_to_tx04_admin
|
||
jd_ops_to_tx05_admin
|
||
jd_ops_to_tx06_admin
|
||
|
||
tx01_receipt_to_jd_ops
|
||
tx02_receipt_to_jd_ops
|
||
...
|
||
```
|
||
|
||
```text
|
||
私钥位置:
|
||
JD-OPS-CENTER 的受保护 keystore
|
||
|
||
公钥位置:
|
||
每台 TX-PERSONAL-NODE 的 authorized_keys 或受控连接器
|
||
|
||
仓库只记录:
|
||
key_id
|
||
用途
|
||
所属节点
|
||
权限范围
|
||
轮换时间
|
||
不记录真实私钥、公钥全文、口令或 IP
|
||
```
|
||
|
||
---
|
||
|
||
## 3 · 两类 Agent
|
||
|
||
### 3.1 看门小人 · revive-agent
|
||
|
||
看门小人只做“死了拉起来”的事。
|
||
|
||
```text
|
||
职责:
|
||
- 检查本机关键服务是否存活
|
||
- 服务死亡时按本机规则拉起
|
||
- 上报心跳
|
||
- 上报异常
|
||
- 维护本机模块注册表
|
||
|
||
不负责:
|
||
- 拿总私钥
|
||
- 跨服务器操作
|
||
- 执行任意命令
|
||
- 绕过 GLSV 授权
|
||
```
|
||
|
||
### 3.2 光湖驱动引擎 · gatekeeper assistant
|
||
|
||
光湖驱动引擎负责调度和授权执行。
|
||
|
||
```text
|
||
职责:
|
||
- 接收人格体发起的工单
|
||
- 生成冰朔可读授权页 / 邮件链接
|
||
- 检查人格体签名
|
||
- 检查人类签名
|
||
- 检查服务器地图
|
||
- 检查回滚点
|
||
- 从 keystore 调用对应节点私钥
|
||
- 执行已登记动作
|
||
- 收回执并写入历史
|
||
```
|
||
|
||
---
|
||
|
||
## 4 · 接入顺序
|
||
|
||
京东服务器到位后,不一次性接完全部服务器。先跑通一台样板,再复制。
|
||
|
||
```text
|
||
Phase 0 · 京东主控初始化
|
||
- 安装 Ubuntu 22.04 LTS
|
||
- 建立 JD-OPS-CENTER 节点编号
|
||
- 安装第五域仓库镜像
|
||
- 建立 keystore
|
||
- 安装 GLSV / auto-guard / receipt-agent 基础组件
|
||
|
||
Phase 1 · 接入第一台腾讯云样板节点
|
||
- 分配节点编号 TX-PERSONAL-NODE-01
|
||
- 生成 jd_ops_to_tx01_admin 专用密钥
|
||
- 私钥存 JD keystore
|
||
- 公钥部署到 TX-01
|
||
- 安装 revive-agent / pre-op-guard
|
||
- 读取服务器地图
|
||
- 建立第一个心跳与回执
|
||
|
||
Phase 2 · 跑通一张完整工单
|
||
- 人格体发起只读状态检查
|
||
- 人类签名确认
|
||
- 自动 Agent 检查地图
|
||
- 执行固定动作
|
||
- 返回回执
|
||
|
||
Phase 3 · 跑通一个中风险可回滚修改
|
||
- 保存仓库 commit / 配置快照 / 服务状态
|
||
- 执行小修改
|
||
- 验证
|
||
- 回滚演练或记录回滚命令
|
||
- 写回执
|
||
|
||
Phase 4 · 接入剩余腾讯云节点
|
||
- 逐台复制 Phase 1-3
|
||
- 每台节点独立 key_id
|
||
- 每台节点独立地图
|
||
- 每台节点独立回执链
|
||
```
|
||
|
||
---
|
||
|
||
## 5 · 自动拦截与提示
|
||
|
||
JD-OPS-CENTER 不能只当 SSH 跳板。它必须先当安全拦截层。
|
||
|
||
```text
|
||
没有节点登记
|
||
→ NODE_UNKNOWN
|
||
|
||
没有对应 key_id
|
||
→ KEY_ROUTE_MISSING
|
||
|
||
没有服务器地图
|
||
→ MAP_MISSING
|
||
|
||
没有回滚点
|
||
→ ROLLBACK_MISSING
|
||
|
||
没有人格体签名
|
||
→ PERSONA_SIGNATURE_MISSING
|
||
|
||
没有人类签名
|
||
→ HUMAN_SIGNATURE_MISSING
|
||
|
||
动作超出授权范围
|
||
→ ACTION_SCOPE_MISMATCH
|
||
```
|
||
|
||
拦截提示要给人格体看,让人格体自己补齐,不把错误转嫁给冰朔。
|
||
|
||
---
|
||
|
||
## 6 · 节点登记模板
|
||
|
||
```yaml
|
||
node_id: TX-PERSONAL-NODE-01
|
||
owner: ICE-GL∞
|
||
role: personal_managed_node
|
||
provider: tencent_cloud
|
||
region: unknown_until_registered
|
||
public_entry: stored_in_private_inventory
|
||
agent:
|
||
revive_agent: pending
|
||
pre_op_guard: pending
|
||
receipt_agent: pending
|
||
keys:
|
||
admin_key_id: jd_ops_to_tx01_admin
|
||
receipt_key_id: tx01_receipt_to_jd_ops
|
||
allowed_actions:
|
||
- health_check
|
||
- map_audit
|
||
- service_status
|
||
- restart_registered_service
|
||
- pull_registered_repo
|
||
- deploy_registered_project
|
||
- rollback_registered_project
|
||
guard_requirements:
|
||
map_required: true
|
||
rollback_required_for_medium_risk: true
|
||
persona_signature_required: true
|
||
human_signature_required_for_restricted_actions: true
|
||
receipt_required: true
|
||
```
|
||
|
||
---
|
||
|
||
## 7 · 不做的事
|
||
|
||
```text
|
||
不把所有服务器共用一把万能私钥。
|
||
不把私钥写进仓库。
|
||
不让被管理节点持有控制其他节点的总私钥。
|
||
不让看门小人跨服务器执行任意命令。
|
||
不让 JD-OPS-CENTER 接受任意 shell 工单。
|
||
不把企业服务器默认接入个人主控中心。
|
||
```
|
||
|
||
---
|
||
|
||
## 8 · 给下一位人格体
|
||
|
||
如果冰朔说“京东服务器买好了 / 把其他腾讯云服务器接进来”,你先读本文件。
|
||
|
||
然后按顺序做:
|
||
|
||
```text
|
||
1. 确认 JD-OPS-CENTER 已初始化
|
||
2. 生成第一台 TX 节点登记
|
||
3. 建立一节点一钥匙
|
||
4. 私钥进 JD keystore,公钥进被管理节点
|
||
5. 安装 revive-agent 与 pre-op-guard
|
||
6. 跑通地图读取
|
||
7. 跑通只读工单
|
||
8. 跑通中风险可回滚工单
|
||
9. 再复制到剩余节点
|
||
```
|
||
|
||
冰朔不负责记钥匙,也不负责手工配置每台服务器。系统必须把这些事规划、登记、拦截、回执。
|