RUNTIME AND CONTROL
Node Enrollment Platform
Node Enrollment Platform 负责把任意支持的主机加入 OrbitMesh。
View source1. 定位
Node Enrollment Platform 负责把任意支持的主机加入 OrbitMesh。
目标:
用户不手写配置,不手动复制密钥,不手动注册 Node。
主机可以是:
- VPS。
- NAS。
- OpenWrt。
- Linux Server。
- 家庭宽带机器。
- 公司服务器。
- Managed Node。
2. 部署对象
部署对象是 Node,不是 Gateway。
Node 可以启用多个 Capability Binding:
traffic.entry。traffic.exit。traffic.relay。mesh.node。gateway.http。tunnel.endpoint。
MVP 只启用 Traffic 相关角色。
3. 用户流程
Console
|
Enroll Node
|
Select initial capability intent
|
Generate Enrollment Token
|
Copy Install Command
|
Run on host
|
Node Online
4. 安装命令
Enrollment Token 可以携带初始 capability intent。安装入口不按 role 拆分。
curl -fsSL https://install.orbitmesh.dev | \
sudo env ORBITMESH_DEPLOYMENT_TOKEN=om_dt_xxx sh
当 Control Plane 或下载前缀不是生产默认值时,命令可以追加环境变量:
curl -fsSL https://install.orbitmesh.dev | \
sudo env \
ORBITMESH_CONTROL_PLANE_URL=https://api.orbitmesh.dev \
ORBITMESH_EDGE_RUNTIME_DOWNLOAD_PREFIX=https://downloads.orbitmesh.dev/edge-runtime/latest \
ORBITMESH_DEPLOYMENT_TOKEN=om_dt_xxx \
sh
5. 安装脚本步骤
- 检测 OS。
- 检测 CPU 架构。
- 检测 root 权限。
- 安装基础依赖。
- 下载 orbitmesh CLI 和 orbitmeshd daemon。
- 写入 Edge Runtime systemd。
- 使用 token 注册 Node。
- 拉取 Desired State。
- 根据 Runtime Install Profile 安装 runtime 依赖。
- 应用 runtime config。
- 启动服务。
- 上报部署结果。
Installer 只安装 OrbitMesh Edge Runtime。具体 runtime 依赖由 orbitmeshd 根据 desired state 和 install profile 管理。
6. 支持系统
MVP:
- Ubuntu 22.04。
- Ubuntu 24.04。
- Debian 12。
后续:
- Rocky Linux。
- AlmaLinux。
- OpenWrt。
- Docker。
- Kubernetes。
7. Enrollment Token
要求:
- expires_at 默认 30 分钟。
- used_at 非空后不可再次使用,除非显式支持重复注册策略。
- token_hash 存储。
- 绑定 tenant_id。
- 可携带 initial capability intent。
- 可携带 node source type。
Initial capability intent examples:
traffic.entry
traffic.exit
traffic.entry+traffic.exit
mesh.node
tunnel.endpoint
8. 部署结果
Edge Runtime 上报:
{
"node_id": "node_123",
"status": "success",
"os": "ubuntu",
"arch": "amd64",
"edge_runtime_version": "0.1.0",
"runtime_statuses": [
{
"runtime": "sing-box",
"runtime_version": "1.x",
"status": "running"
}
]
}
失败时:
{
"status": "failed",
"step": "install_runtime",
"error": "download failed"
}
9. MVP 开发任务
install.orbitmesh.devWorker 安装入口。- enrollment token 校验。
- Edge Runtime 下载地址。
- systemd unit。
- deploy-result API。
- runtime install profile。
10. 验收标准
- Ubuntu VPS 执行命令后 Node 自动上线。
- token 过期后安装失败。
- token 重复使用策略符合配置。
- 安装失败能在 Console 看到失败步骤。
- Edge Runtime 重启后 Node 仍受控。