mcpField
O
olares-market

olares-market

github.com/beclab云与 DevOps5.3k200 次安装今天更新
代码仓库

关于 olares-market

olares-market 是用于管理 Olares 应用目录与生命周期的命令行技能,面向部署和维护应用的用户。它涵盖目录发现、安装状态跟踪及图表管理。

主要功能

  1. 01浏览目录与已安装应用
  2. 02安装、升级和克隆应用
  3. 03停止、恢复、重启或卸载应用
  4. 04查看应用生命周期状态
  5. 05上传、下载和删除图表

适用场景

  1. 01查看当前用户已安装的应用
  2. 02跟踪应用安装或升级结果
  3. 03部署上传的应用图表
  4. 04暂停或移除指定应用

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/beclab/olares --skill olares-market

安装后在 Claude Code 中输入/olares-market确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
olares-market-chart-download.md
olares-market-chart-publish.md
olares-market-lifecycle-add.md
olares-market-lifecycle-remove.md
olares-market-list.md
olares-market-restart.md
olares-market-watch.md

详细介绍

market(App-store v2)

**共享入口:**加载 ../olares-shared/SKILL.md,了解套件路由、活动配置文件选择、平台入口点,以及认证继续/停止门槛。仅在确实需要登录、切换配置文件、存储令牌或恢复认证时,才加载其中的认证参考。

使用 olares-cli market <verb> --help 获取权威语法。

适用场景

  • 浏览目录或查看“我的应用”。
  • 安装、升级、卸载、克隆、停止、恢复、重启或取消应用。
  • 检查生命周期状态或管理已上传的 chart。

思维模型:market 负责应用商店层面的生命周期和库存(安装/升级/推送 chart)。对于运行时 K8s 对象、设置或指标,请转到同级工具。

模型应用与其他应用一样在此安装——对于固定模型,使用 install;对于在表单中选择模型的引擎底座,使用 clone。不同之处在于后续操作:olares-router 会检测到该应用,并创建将请求路由到它的网关提供方;随后由它负责模型自身的下载、引擎状态和卡片。

快捷操作

任务阅读首条命令
安装目录中的应用并确认何时启动监视和诊断路由olares-cli market install <app> --watch --watch-timeout 1m -o json,然后读取 .status
查看此用户已安装的应用本文件olares-cli market list --mine -o json
跟踪某个应用的生命周期本文件olares-cli market status <app>
移除、暂停应用,或停止正在进行的操作卸载、停止、恢复、取消olares-cli market status <app> -o json,查看操作是否已完成
将你构建的 chart 部署到此 Olares发布 chartolares-cli market upload ./chart.tgz,然后执行 olares-cli market install <name> -s upload

--watch 会轮询,因此超时表示“尚未到达终态”,而非失败;running 表示每个入口都能响应 TCP 请求,并不代表应用可正常工作。安装出错时通常会进入 downloadFailed,而不是 installFailed——常见故障(镜像标签不存在、无法访问注册表)会在拉取阶段、安装开始之前发生——而这一差异决定了哪些操作可以解除故障:downloadFailed 只接受全新的 install,而 installFailed 接受 uninstall。

.status 用于判断命令结果,.finalState 表示应用最终状态,且只有前者与动词无关。使用 --watch 时,当条目按当前动词的预期状态完成后,.status 会变为 success;因此脚本应检查该值和退出代码。只有在状态本身很重要时,才值得读取 .finalState——但 running 仅是 install、upgrade 和 restart 的完成状态;成功的 stop 会进入 stopped,成功的 uninstall 会进入 uninstalled,因此照搬安装示例中的 running 检查会把这两种操作都误判为失败。不使用 --watch 时,不会有 .finalState,而 .status 为 accepted,这表示服务端已接受请求,并不表示应用已启动。

动词索引

类别动词触发时查阅
目录 + 清单list、get、categories、statuslist、--mine 和状态
生命周期 — 安装应用install、upgrade、clone这三个命令都接受 -s 和 --compute-mode,而 clone 的新名称是 .targetApp — install、upgrade、clone
生命周期 — 卸载或暂停应用uninstall、stop、resume、cancel都不接受 -s;如果应用正在执行操作,uninstall 会先取消;取消 resuming / upgrading 需要 Olares 1.12.7+ — uninstall、stop、resume、cancel
重启restartrestart、计算绑定和基线监控
图表upload、delete两者都会将存储桶固定为 upload;已发布版本的字节内容不可变 — 发布图表
图表download读取端,也是三个命令中唯一接受 -s 的命令 — 下载图表
监控 / 卡住的操作生命周期 --watch、status --watch监控和诊断路由

来源解析(跨命令)

  • market.olares 是公共目录,也是浏览和支持来源选择的生命周期动词的默认来源。
  • upload 是 Local Sources 存储桶。upload 和 delete 始终使用它;download 默认使用它。
  • cli 和 studio 是用于只读清单的旧版 / 开发来源。
  • --all-sources 是只读的。uninstall、stop、resume 和 restart 会解析用户的状态行,而不是接受来源。
  • 只有在状态行已消失或无法读取,且用户明确知道来源时,才传入 cancel --source。

应用生命周期 / 状态机

在解读状态、转换、失败 TTL、串行下载或 running 时,加载共享的应用状态模型。

State 和 OpType 相互独立。执行变更后,在 OpType 发生变化之前,旧的、看似终态的状态可能仍然可见。因此,执行变更的监控器必须先观察到请求的操作,才能判定成功;如果状态行消失,uninstall 也可能成功。status 和 cancel 则有意不受操作类型限制。

清单查询决策

  • “我的应用” → market list --mine;其中包括有用的过渡状态和失败状态行,而不只是已完成的安装。
  • 查询单个应用的生命周期 → market status <app>。
  • 查询运行中的应用 → market status --all-sources,然后筛选 STATE=running。
  • 浏览目录 → market list。

安全与升级处理

  • 将用户明确提出的生命周期请求视为已授权的任务范围。在已授权的部署 / 调试循环中,无需反复确认 install、upgrade、restart、uninstall 和全新安装。
  • 如果应用 / 来源不明确、删除操作扩大到用户数据,或操作超出已授权任务范围,则再次询问。
  • 计算绑定来自 settings compute list;不要编造节点 / 设备标识符。
  • 生命周期操作卡住时,需要跨命令诊断:先检查状态,再使用 olares-doctor 检查 Pod、事件、日志、镜像和资源。
  • 如果凭据、必需的环境值、计算选项或目标应用 / 来源不明确,请停止操作。身份验证失败时,遵循共享的身份验证门控流程。

评论

支持 Markdown