Service System Plane
连接精确 lenso.system.v2 混合拓扑,同时避免把 Console 变成部署平面。
Service System Plane 描述一个 Lenso 应用中的 Host、Provider Service、
Autonomous Service、Module、Workload、合约与管理 Adapter 如何组合。当前混合
拓扑合约是 lenso.system.v2。
该拓扑不是 Service Mesh、业务请求 Router、进程启动器或生产部署记录。它是 Console 连接 System 时校验的精确图。
组合与拓扑职责不同
| 合约 | 职责 |
|---|---|
lenso.app.json |
应用组合与锁:应用修订、内容摘要、不可变 Module Release、依赖与 Implementation Binding。 |
lenso.system.v2 |
已连接拓扑:稳定对象身份、所有权、合约、Workload、Adapter 与关系。 |
| Management Binding | 该拓扑的精确 Console 权限,以及受支持的目标自有管理路径。 |
拓扑从已组合应用及其运行目标派生,不会扩大 App Composition,也不会选择生产 目标。
混合拓扑
System v2 明确区分每一种对象:
- Host 持有 Linked Module 与 Provider 运行时协调;
- Provider 把兼容性与进程 Metadata 保存在
lenso.service.v1,通过/lenso/provider/v1上的lenso.provider.v1提供精确lenso.module-release.v1Release,并支持 Rust 或 TypeScript; - Autonomous Service 使用 Rust
lenso.service.v2,持有自己的运行时与 Service Store; - Module 在 Linked 或 Service-backed 交付间保持业务身份;
- Workload 命名 Service 的一个可执行部分;
- 合约关系命名精确 Producer、Consumer、版本与 Tenancy 要求;
- 管理 Adapter 只公开声明的目标自有 Operation。
选择 Service 类型前请阅读 Service Capability Tiers。TypeScript does not provide Autonomous Service parity。
使用公开生命周期
Compose(组合)
生成可运行的 Support Desk 基础:
lenso app compose ./support-desk --blueprint support-desk --apply
Blueprint 包含 auth、notification-worker 与 support-api。Pack-backed
Support Ticket 与 Story 拓扑由产品级验收覆盖;该 Runner
会在启动前注册 Service-backed Provider。
Run locally(本地运行)
启动已组合 Host 与 auto-start Provider Service。加入现有 Console checkout 可运行 已连接本地路径:
cd ./support-desk
lenso dev up --console-root ../lenso-console
更底层的 lenso system dev 是 System Sandbox;它不会启动已组合的 Host 或
Console,也不会连接 Console。在 App Composition 模式下,它会在限定范围的
Sandbox Run 中启动所选 Service-backed Provider Workload 与 Local Control
Adapter。
Connect(连接)
使用 --console-root 时,lenso dev up 创建只限 loopback 的已签名 Enrollment,
组装 .lenso/console-connect.json,并在报告 System ready 前应用精确连接。如需
应用单独准备的本地 Bundle,请使用:
LENSO_CONSOLE_TOKEN='<operator-session-token>' \
lenso console connect \
--console-url http://127.0.0.1:3030 \
--bundle .lenso/console-connect.json
Console 保存连接前会校验每个活动 Enrollment、拓扑摘要、Management Binding 与已发布 Core Contract。本地 Path 只接受 loopback 目标,不是远程生产自助 路径。Bundle 还可以携带精确 Console Composition Artifact Effect;Token 与签名 材料不会输出,也不会存入 Bundle。
Status(状态)
通过 Console 或以下 API 读取已连接图:
GET /api/console/v1/system
System、Service、Module、Surface 与 Adapter Projection 报告
connected、unavailable、incompatible 或 unmanaged,并给出直接原因。
Workload Operational State 是独立维度。Local Control Adapter 不可用时,
Workload Observation 为 unknown,变更会被拒绝且不排队、不回退。
业务流量不进入 System Plane
Module Surface 通过 Surface Gateway 调用生成客户端。Console Service 重新校验 Console Actor、精确已连接 System、制品摘要、合约摘要与允许的 Operation ID, 再调用声明的 Business API;浏览器不会获得目标凭据。
Autonomous Service Data Plane 调用使用 direct HTTP/gRPC 或 Event Contracts。 它们不经过 Console,已建立的 Service 本地执行也不依赖 System Plane 可用性。
Console 权限保持狭窄
Console 可以连接精确拓扑、报告直接状态、加载符合条件的 Module Surface,并 调用受支持的目标自有 Operation。它不会:
- 创建、接管、删除、发布、部署、回滚或修复生产 Workload;
- 选择生产目标;
- 直接变更 Service Store;
- 把 Service 或 Adapter 凭据交给浏览器;
- 把拓扑状态合成为第二套应用总分。
生产交付仍由 Repository、Platform 与 Operator 持有。System Plane 可以描述 最终对象,但不会成为其运行时 Owner。
认证、Surface 与 Workload Control 参见 Lenso Console;集成 Support Desk 验收参见 示例。