SuperAPI AI 工具集

sealos-deploy

部署与运维

查看项目

更新于 10-15 12:10

技能介绍

Sealos Deploy(Brain 托管模式)是 Sealos Cloud 托管部署流程中的执行器部分,属于双方契约中的执行方。它负责在沙箱内进行分析、构建、部署、验证和修复;Brain 作为控制平面负责渲染输入表单,并通过两个 MCP 工具(template_ready 和 deployment_completed)控制完成流程。部署的具体机制(路径、模板 YAML、数据库、验证)来自同级的 use-sealos 技能,本技能只负责托管模式下的差异。

用途 该技能用于在 Brain 托管模式下执行部署。仅当环境变量 SEALAI_DEPLOY_MODE 的值恰好为 managed 时运行此流程;否则应遵循 ../use-sealos/SKILL.md 的交互式本地路径,并忽略本技能的其余内容。在托管模式下,开始任何其他工作之前,必须先确认 MCP 工具 template_ready 和 deployment_completed 可用。如果任一工具缺失,应停止并报致命错误,绝不能用文件、webhook 或文本回答替代缺失的控制工具。

主要能力 该技能覆盖从分类、构建、模板生成、握手、部署到验证的完整托管部署流水线。它能够根据 use-sealos 决策树对工作区进行分类:已知自托管产品使用商店模板或官方镜像,用户源代码使用 Kaniko 构建。在源代码路径下,由于沙箱内没有 Docker 守护进程,使用同级的 k8s-kaniko-job 执行器进行构建。它负责在固定路径 $SEALAI_DEPLOY_WORKSPACE/.sealos/template/index.yaml 生成规范模板,并通过 sha256 哈希与 Brain 进行 template_ready 握手。部署时通过 sealos-api.py deploy 命令执行,用户输入值仅通过 --args-file "$SEALAI_INPUTS_PATH" 传递。部署后执行真实验证,收集工作负载引用,并调用 deployment_completed 报告结果。

使用方式 使用该技能时,Brain 会注入一系列环境变量,包括 SEALAI_DEPLOY_WORKSPACE(项目根目录,/home/devbox/project)、SEALAI_NAMESPACE(目标命名空间,也作 SEALAI_DEPLOY_NAMESPACE)、KUBECONFIG(注入的命名空间级 kubeconfig,按原样使用)、SEALAI_INPUTS_PATH(固定用户输入文件,仅在用户提交表单后存在)、SEALAI_DEPLOY_LABELS_JSON(平台所有权标签,原样转发)、SEALAI_TURN_DEADLINE_AT(唯一硬性时间限制)和 GITHUB_TOKEN(源代码构建和私有镜像拉取密钥)。流程分为六步:分类、构建(仅源代码路径)、在固定路径生成模板、template_ready 握手、部署、验证并调用 deployment_completed。每一步都有明确的命令和约束。

适用场景 适用于 SEALAI_DEPLOY_MODE=managed 的 Brain Devbox 沙箱环境,或任务明确要求运行 /sealos-deploy:… 时。该技能要求全程非交互,绝不向用户提问;只有用户才知道的值应声明为模板输入,由 Brain 的表单收集。命名空间内的变更(包括为收敛严格需要的删除)已预先授权,无需暂停确认。

限制 该技能有若干硬性规则:绝不运行 sealos-api.py login、OAuth 或 switch,注入的 kubeconfig 是唯一凭据;绝不打印或记录 SEALAI_DEPLOY_MCP_TOKEN、kubeconfig 内容或 SEALAI_INPUTS_PATH 中的任何值;不使用基于文件的 RPC,绝不创建 control.json、inputs-required.json、turn-report.json、verify-report.json 或 .sealos/brain/ 下的任何内容;部署后未收到 Brain 返回的 accepted_stop(或 template_ready 返回 awaiting_user)之前不得结束回合。此外,托管模式下禁止使用商店实例端点,不得调用 sealos-api.py adopt,不得添加超出平台契约的标签,不得静默缩减资源。修复次数没有限制,唯一限制是 SEALAI_TURN_DEADLINE_AT。