模块安装
安装链接模块、服务支持的模块版本、目录条目、控制台捆绑包和服务计划。
安装模块是主机本地操作员操作。发现和安装 是故意分开的。
对于这种分裂的发现方面,请阅读 模块目录。
lenso module install 是业务能力入口点。释放或
目录条目决定该功能是否来自链接的 Rust 代码,
服务Provider、捆绑的主机模块或未来的沙箱。 Lenso服务 install 是较低级别的:它连接Provider进程,但它不是
用户请求模块功能的主要方式。
链接的第一方模块
第一方链接模块按名称安装:
lenso module install auth
lenso module install auth-password
lenso module install auth-device
auth-password 和 auth-device 取决于 auth。Runtime Console公开
通过模块元数据声明依赖关系,以便操作员可以了解为什么
模块尚未准备好。
配置文件可以改变安装效果:
lenso module install auth --profile redis-session-cache
Redis 会话配置文件启用了 auth Redis 功能,REDIS_URL 写道,
并将 auth.session_cache=redis 记录为运行时默认值。
模块发布
通过其模块发布工件安装打包的业务模块:
lenso module release inspect dist/lenso-service/support-suite-provider/modules/support-ticket/lenso.module-release.json
lenso module install dist/lenso-service/support-suite-provider/modules/support-ticket/lenso.module-release.json \
--base-url http://127.0.0.1:4110/lenso/service/v1
对于source: service,模块发布指向提供者服务
包或服务Manifest。对于source: linked,同样的发布协议可以
启用链接的 Rust 代码:
{
"protocol": "lenso.module-release.v1",
"name": "auth-password",
"version": "0.1.0",
"source": "linked"
}
lenso.module.v1 是独立模块合约。它之前命名模块
发布/Provider关注点:
{
"protocol": "lenso.module.v1",
"name": "support-ticket",
"version": "0.1.0",
"source": "service"
}
主机仍然拥有安装状态、队列、重试、Runtime Story 和控制台 证据。
通过 Service Manifest 安装拥有该 Module 的 Service:
lenso service install http://127.0.0.1:4110/lenso/service/v1/manifest
安装后,reconcile Host,并使用
lenso service doctor <provider> --json 验证 Provider。
安装写了什么
服务/模块安装通道写入主机本地文件:
| 文件 | 目的 |
|---|---|
.env |
记录 CLI 管理的 Service Provider 条目和声明的环境值 |
.lenso/module-installs.json |
卸载使用的安装回执 |
.lenso/module-services.json |
模块声明的服务命令 |
.lenso/console/extensions/<module>/ |
复制同源控制台包 |
.lenso/console/extensions/registry.json |
托管控制台扩展注册表 |
Manifest中的安装命令已计划但不会运行,除非操作员 选择加入:
lenso service install https://example.com/lenso/service/v1/manifest
目录是发现
可用模块仅使用发现数据。它不会安装模块,直到 操作员运行安装操作。
Runtime Console的可用模块视图按顺序读取:
- 显式
.envLENSO_MODULE_CATALOG_FILE=<path> - 已配置的 Service Provider
- 内置
builtin:lenso-official-module-catalog
内置目录是新主机的默认发现源。它不是 隐藏的安装数据库。
Runtime Console 安装流程
Runtime Console可以通过以下方式写入相同的主机本地安装状态:
POST /admin/data/available-modules/{module}/install
这仍然是主机拥有的安装。浏览器没有安装npm 打包或将第三方代码编译到官方控制台包中。
Doctor 与卸载
检查已安装的服务支持模块状态:
lenso module doctor
lenso module doctor billing
删除主机本地Service Provider和控制台注册表项:
lenso module uninstall billing
卸载仅保留模块拥有的数据。它删除主机的本地安装 状态;它不会删除Service数据库或业务记录。