@vector-metis/cli
v0.1.12
Published
Metis application development CLI
Readme
@vector-metis/cli
智办应用开发 CLI,用于初始化应用工作目录、校验包、打包 MPK、上传前预检、安装/升级模拟和检查包元数据。
安装
npm install --global @vector-metis/cli
metis --version入口包会按当前操作系统和 CPU 架构安装对应的原生平台包,不执行运行时网络下载。
命令
metis init [目录]
metis pack <工作目录> --output <文件.mpk>
metis validate <工作目录或文件.mpk>
metis preflight <工作目录或文件.mpk> [--json]
metis simulate install <工作目录或文件.mpk> [选项]
metis simulate upgrade <工作目录或文件.mpk> [选项]
metis inspect <工作目录或文件.mpk>preflight --json 可直接接入 CI。simulate 默认展示平台自动选择的架构、节点、模型和共享存储,并支持高级覆盖;secret 值始终脱敏。
Manifest 挂载与 Overlay
应用运行时由平台为每个安装分配独立的 scope。Manifest 中的沙箱挂载使用 source + subpath:source 是
program、config、data、log、tmp 或 overlay 之一,subpath 是根目录内的规范化相对路径;应用不需要知道 Worker 的宿主路径。
常驻 service 必须在 manifest 中声明 lifecycle: {restart: unless-stopped};源 Compose 不得声明 restart 或 x-metis。
包内静态文件必须位于 overlay/ 下,挂载时使用 source: overlay 和 subpath:
services:
web:
mounts:
- {source: overlay, subpath: config.yaml, target: /etc/app/config.yaml, read_only: true}旧的完整路径 source、路径越界、绝对路径和可写 overlay 挂载会被校验拒绝;镜像声明的 volume target 必须有 manifest 绑定;CLI 不会自动改写旧包。
Web 公开路径
平台鉴权是默认和推荐方式,metis init 不生成公开路径。公开内容、回调或应用自有外部身份页面可在唯一 HTTP endpoint 上声明 public_paths: [/public]。validate/pack 会拒绝非规范、重复或互相覆盖的路径;inspect 显示规范排序后的声明。/ 表示整个入口公开,不应作为省去授权配置的捷径。
Apache-2.0,见仓库中的 LICENSE。
