feat(gateway)!: drop HTTP listener, run outbound agent only

- delete GatewayHTTPServer/GatewayHandler, create_server, /healthz and
  /v1/channel; event_channel module removed
- load_config now requires CREATOR_PLATFORM_URL + CREATOR_GATEWAY_KEY
- run() wires Gateway into OutboundAgent; SIGINT/SIGTERM stop the agent
- deploy env example, install script, systemd unit docs and deployment
  docs updated to the outbound model; NATIVE_GATEWAY_ENDPOINT dead dev
  config removed
This commit is contained in:
2026-10-09 08:25:27 +08:00
parent 469b283ac2
commit d9e57c4900
17 changed files with 199 additions and 623 deletions
+4 -4
View File
@@ -88,14 +88,14 @@ docker compose config --quiet
- Go 使用 `LISTEN_ADDR`;联调须设置 `0.0.0.0:8082`。
- Vite 当前 `/api` 代理到 `127.0.0.1:8082`,端口 5100。Vite 必须加 `--host 0.0.0.0`,不能只给 localhost 地址。
- native Python gateway 使用 `LISTEN_ADDR=0.0.0.0:8081`,由非 root systemd user service 运行;稳定 `node_id` 从配置或主机身份加载。
- `scripts/dev-backend.mjs` 只启动 PostgreSQL 并检查 `NATIVE_GATEWAY_ENDPOINT`,不会启动浏览器容器。
- native Python gateway 由非 root systemd user service 运行,通过 `CREATOR_PLATFORM_URL` 与 `CREATOR_GATEWAY_KEY` 主动出站连接控制面 `/v1/agent`;稳定 `node_id` 从配置或主机身份加载。
- `scripts/dev-backend.mjs` 只启动 PostgreSQL 与热重载控制面,不会启动浏览器容器。
### 单节点执行步骤
1. 按部署说明在单节点安装已确认浏览器、Xvfb 和 `creatorhub-browser-gateway.service`。
2. 使用已有、经验证的 PostgreSQL 与凭据配置。不要重新生成现有主密钥;不要把秘密值粘贴到验收报告。
3. 按交付脚本启动单节点 native gateway;在控制面登记真实地址,并核对 `/v1/info` 返回的稳定节点身份。
3. 按交付脚本启动单节点 native gateway;在控制面「网关管理」创建条目并把签发的 access key 配置到网关,核对列表在线状态与节点版本。
4. 启动控制面及前端:
```bash
@@ -105,7 +105,7 @@ LISTEN_ADDR=0.0.0.0:8082 go run ./cmd/control-plane
npm --prefix web run dev -- --host 0.0.0.0
```
命令启动后,用 `ip -brief -4 addr` 记录当次实际局域网 IP。用户在另一台设备访问 `http://<C-IP>:5100`;开发者可查看 `http://<C-IP>:8082/healthz`。报告列出单节点 gateway 的实际 Endpoint。
命令启动后,用 `ip -brief -4 addr` 记录当次实际局域网 IP。用户在另一台设备访问 `http://<C-IP>:5100`;开发者可查看 `http://<C-IP>:8082/healthz`。报告记录单节点网关的在线状态与版本。
历史观察到的地址不构成可用性证据;实施当天必须重新核实 IP、监听地址和防火墙。