Skip to documentation
OrbitMeshDocs
Browse documentation
Docs/Runtime and Control

RUNTIME AND CONTROL

Node Enrollment Platform

Node Enrollment Platform 负责把任意支持的主机加入 OrbitMesh。
View source

1. 定位

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. 安装脚本步骤

  1. 检测 OS。
  2. 检测 CPU 架构。
  3. 检测 root 权限。
  4. 安装基础依赖。
  5. 下载 orbitmesh CLI 和 orbitmeshd daemon。
  6. 写入 Edge Runtime systemd。
  7. 使用 token 注册 Node。
  8. 拉取 Desired State。
  9. 根据 Runtime Install Profile 安装 runtime 依赖。
  10. 应用 runtime config。
  11. 启动服务。
  12. 上报部署结果。

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.dev Worker 安装入口。
  • enrollment token 校验。
  • Edge Runtime 下载地址。
  • systemd unit。
  • deploy-result API。
  • runtime install profile。

10. 验收标准

  • Ubuntu VPS 执行命令后 Node 自动上线。
  • token 过期后安装失败。
  • token 重复使用策略符合配置。
  • 安装失败能在 Console 看到失败步骤。
  • Edge Runtime 重启后 Node 仍受控。
OrbitMesh DocumentationContent follows the repository's main branch.