mcpField
K
kestra-ops

kestra-ops

github.com/kestra-io云与 DevOps18114 次安装7 周前更新
代码仓库

关于 kestra-ops

kestra-ops 是一项通过 `kestractl` 执行日常 Kestra 运维的技能。它指导流程与命名空间管理、执行状态检查及 CLI 上下文配置,并强调部署前验证和生产操作防护。

主要功能

  1. 01列出、检查和验证流程
  2. 02部署流程并运行执行
  3. 03检查执行状态
  4. 04管理命名空间及其文件
  5. 05配置和切换 CLI 上下文
  6. 06部署前验证

适用场景

  1. 01部署前验证流程
  2. 02运行流程并检查结果
  3. 03向命名空间上传文件
  4. 04切换 Kestra 环境

安装

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

$npx skills add https://github.com/kestra-io/agent-skills --skill kestra-ops

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

详细介绍

Kestra 运维技能

使用此技能通过 kestractl 执行日常 Kestra 运维操作。

使用时机

当请求涉及以下内容时,使用此技能:

  • 列出、检查、验证或部署 flows
  • 触发执行并检查执行状态
  • 管理命名空间或命名空间文件(nsfiles)
  • 配置或切换 Kestra CLI 上下文

Kestra 2.0 迁移 — 委派处理。 对于 Kestra 1.3 → 2.0 迁移或升级请求(就绪情况检查、kestra-migrate 警告、flows 在 2.0 上解析失败):在已安装的 Agent 技能中搜索名为 migrate-kestra-2 的技能,不限用户技能的安装位置(项目级或用户级)。如果找到,请使用该技能:它会引导迁移并调用 kestra-ops 执行 kestractl 子操作。如果未安装,请提示用户安装,然后委派:

npx skills add kestra-io/agent-skills@migrate-kestra-2

必需输入

  • 目标环境或上下文(dev、staging、prod)
  • 主机 URL、租户和身份验证方式(通常为令牌)
  • 命名空间、flow ID、执行 ID 和/或本地文件路径
  • 输出偏好(便于阅读的 table,或用于自动化的 json)

前置条件

  • 已安装且可执行 kestractl
  • 已准备好访问令牌和租户信息
  • ~/.kestractl/config.yaml 中存在有效上下文,或通过环境变量/标志提供相关值

配置优先级

按优先级从高到低解析配置:

  1. 命令标志(--host、--tenant、--token、--output)
  2. 环境变量(KESTRACTL_HOST、KESTRACTL_TENANT、KESTRACTL_TOKEN、KESTRACTL_OUTPUT)
  3. 配置文件(~/.kestractl/config.yaml)
  4. 内置默认值

常见设置:

kestractl config add dev http://localhost:8080 main --token DEV_TOKEN
kestractl config add prod https://prod.kestra.io production --token PROD_TOKEN
kestractl config use dev
kestractl config show

标准工作流

  1. 解析并确认目标上下文。
  2. 首先执行只读发现操作。
  3. 在部署前验证制品。
  4. 使用显式标志执行所请求的操作。
  5. 验证结果(必要时对运行操作使用 --wait)。
  6. 返回简洁的运维报告,说明结果和后续操作。

命令模式

Flows:

kestractl flows list my.namespace
kestractl flows get my.namespace my-flow
kestractl flows validate ./flows/
kestractl flows deploy ./flows/ --namespace prod.namespace --override --fail-fast

执行:

kestractl executions run my.namespace my-flow --wait
kestractl executions get 2TLGqHrXC9k8BczKJe5djX

命名空间:

kestractl namespaces list
kestractl namespaces list --query my.namespace

命名空间文件:

kestractl nsfiles list my.namespace --path workflows/ --recursive
kestractl nsfiles get my.namespace workflows/example.yaml --revision 3
kestractl nsfiles upload my.namespace ./assets resources --override --fail-fast
kestractl nsfiles delete my.namespace workflows --recursive

安全防护

  • 执行写操作(deploy、upload、delete)前,确认生产环境上下文。
  • 优先在 flows deploy 前执行 flows validate。
  • 使用 --output json 提高脚本和自动化的可靠性。
  • 避免在共享日志中使用 --verbose,因为这可能会暴露凭据。
  • 对具有破坏性的 nsfiles 操作,确认路径范围,并仅在有意为之时使用 --force。

响应格式

  • 使用的上下文(主机、租户、上下文名称)
  • 已执行的命令(按只读操作和写操作分组)
  • 结果(成功/失败及关键 ID)
  • 风险、回滚说明和后续操作

示例提示词

  • “使用 kestra-ops 在启用 fail-fast 的情况下验证并部署 ./flows 中的所有 flows 到 prod.namespace,然后报告变更内容。”
  • “使用 kestra-ops 在 my.namespace 中运行 my-flow,等待完成,并总结执行状态。”
  • “使用 kestra-ops 将 ./assets 上传到命名空间文件中的 resources 路径,启用覆盖,然后递归列出已上传的文件。”

评论

支持 Markdown