docs(devlevel): 固化 L1 native 独立执行边界
This commit is contained in:
@@ -101,6 +101,23 @@ trans D601:/home/ubuntu/workspace/unidesk-dev git remote -v
|
||||
- 使用目标 provider、pod 或 Windows route 的最小闭环证明;
|
||||
- 只有证据显示 client 侧无法规避边界时,才进入 provider-gateway 变更流程。
|
||||
|
||||
## L1 Native 执行边界
|
||||
|
||||
- L1 只使用 host 上的 native API、Worker、Web 和必要基础依赖:
|
||||
- 服务从 owning YAML 解析固定 workspace、端口、状态目录和依赖;
|
||||
- 启动、停止、重启、状态和日志统一走项目受控 lifecycle CLI;
|
||||
- `--over-api` 直接调用该 native API,不经过 Kubernetes Service 或集群 workload。
|
||||
- L1 在任何情况下都不依赖 CI/CD、GitOps、Argo、Kubernetes、镜像发布或
|
||||
集群 rollout:
|
||||
- 正常启动、首次拉起、配置变更、合并后复测和故障处理都不等待这些系统;
|
||||
- 不用这些系统更新、修复或验收 L1 运行面;
|
||||
- 必须依赖集群对象的验证属于 L2。
|
||||
- L1 始终使用本机小回环:
|
||||
- 通过 owning YAML 固定 native 端口完成 API、Worker、Workflow 和 Web 回归;
|
||||
- 同 host 可使用 YAML probe host,跨 host 使用 YAML 固定 native host;
|
||||
- 公共入口状态独立记录,不能成为 L1 业务门禁;
|
||||
- L1 任务不进入 CI/CD、Kubernetes 和 public-edge 调查或操作。
|
||||
|
||||
## L1 受控 CLI 即时修复
|
||||
|
||||
- 执行 L1 开发、诊断或验收时,发现项目受控 CLI 存在问题即可在当前任务内即时修改:
|
||||
|
||||
+21
-11
@@ -102,9 +102,18 @@ HWLAB v0.2/v0.3 仓库内 `docs/reference/spec-*`,以及已收编的 `cloud-wo
|
||||
- development `NC01/v03` 前端/API 入口为 `https://lab-dev.hwpod.com`;
|
||||
- production release lane `NC01/production` 的正式入口为 `https://lab.hwpod.com`。
|
||||
- HWPOD L1 Native 是独立于 Cloud Web 的运行面:
|
||||
- API、Temporal worker、Web、固定端口和公网入口必须从 `config/hwlab-node-lanes.yaml#lanes.<lane>.targets.<node>.nativeDevelopment.hwpod` 读取;
|
||||
- API、Temporal worker、Web 和固定端口必须从 owning YAML 读取:
|
||||
- `config/hwlab-node-lanes.yaml#lanes.<lane>.targets.<node>.nativeDevelopment.hwpod`;
|
||||
- 启停和状态统一使用 `hwlab nodes native-development hwpod api|worker|web`;
|
||||
- 公网验收统一使用 `web-probe native-readiness --node <node> --lane <lane> --profile hwpod`;
|
||||
- L1 API、worker 和 Web 是 NC01 host 上的 native 进程:
|
||||
- 任何情况下都不依赖 CI/CD、GitOps、Argo、Kubernetes 或集群 rollout;
|
||||
- 正常启动、首次拉起、配置变更、合并后复测和故障处理均适用;
|
||||
- CLI `--over-api` 直接调用 owning YAML 固定端口上的 native API:
|
||||
- 同 host 回归使用 YAML probe host;
|
||||
- 禁止改走 Cloud API 或 Kubernetes Service;
|
||||
- L1 只验收本机 API、worker、Web 小回环:
|
||||
- 公网入口与 public-edge 是独立可选检查;
|
||||
- 不得成为 L1 启动、执行或完成条件;
|
||||
- HWPOD Web 无业务登录页时,由 owning YAML profile 声明 `authentication: none`,不得改用临时 Playwright 脚本或弱化浏览器错误断言。
|
||||
- Windows HWPOD-NODE 的连接入口和制品入口属于不同合同:
|
||||
- WebSocket 注册入口来自节点 YAML 的桌面连接配置;
|
||||
@@ -196,16 +205,17 @@ Workbench 浏览器回归需求以 UniDesk OA [PJ2026-010401 Web工作台](../..
|
||||
- 端口被同一 L1 服务的旧进程占用时,只能通过项目 CLI 停止或重启该服务;
|
||||
- 端口被其他服务占用时,禁止停止、接管或复用其他服务;
|
||||
- 必须先确认空闲端口,再修改 `config/hwlab-node-lanes.yaml#lanes.<lane>.targets.<node>.nativeDevelopment.workbench` 中本服务的端口;
|
||||
- API、Worker、Web 的启动、状态和固定 HTTPS 入口继续由同一 YAML 与 `hwlab nodes native-development workbench` 解析;
|
||||
- API、Worker、Web 的启动和状态继续由同一 YAML 与 `hwlab nodes native-development workbench` 解析;
|
||||
- 禁止用命令行参数、临时环境变量或代码 fallback 形成第二端口真相;
|
||||
- 端口退让后固定 HTTPS 域名保持不变,并从该域名执行 `web-probe native-readiness`,确认页面、DOM、交互和浏览器错误均通过后再向用户披露入口。
|
||||
- L1 Native 公网暴露与降级:
|
||||
- `nativeDevelopment.<application>.publicExposure` 声明首选固定 HTTPS origin;
|
||||
- HTTPS 因 public-edge、TLS、DNS 或出网故障不可用时,必须降级到同一 owning YAML 解析出的固定公网 HTTP IP:port,并继续 L1;
|
||||
- 固定 HTTP 降级入口必须保持业务认证,禁止随机端口、localhost、临时 URL、第二代理或第二业务路径;
|
||||
- 降级后先验证公网 readiness,再通过同一 Workbench API、Worker、Kafka SSE 与 Web 路径完成原验收;端口监听或 HTTP 200 不能替代业务验收;
|
||||
- HTTPS 故障独立登记为非阻塞公共面 issue,不得等待回复或恢复后才继续业务;
|
||||
- 公共面恢复后从固定 HTTPS origin 复测,并撤回 HTTP 降级状态。
|
||||
- 端口退让后从 owning YAML 的 native probe host 和固定端口执行
|
||||
`web-probe native-readiness`,确认页面、DOM、交互和浏览器错误均通过。
|
||||
- L1 Native 暴露边界:
|
||||
- `nativeDevelopment.<application>.publicExposure` 只描述独立公共入口;
|
||||
- 公网域名、TLS、public-edge 和固定公网入口不进入 L1 启动、执行、回归和
|
||||
完成条件;
|
||||
- L1 不调查、等待或操作公共面的 CI/CD、GitOps、Argo、Kubernetes、镜像或
|
||||
rollout;
|
||||
- 只有用户明确要求 L2 或独立公共面运维时,才进入对应专项流程。
|
||||
|
||||
- Workbench L1 API 与 Kafka SSE 验收:
|
||||
- API 进程存活入口固定为 `/health/live`;
|
||||
|
||||
Reference in New Issue
Block a user