关于 kestra-ops
kestra-ops 是一项通过 `kestractl` 执行日常 Kestra 运维的技能。它指导流程与命名空间管理、执行状态检查及 CLI 上下文配置,并强调部署前验证和生产操作防护。
主要功能
- 01列出、检查和验证流程
- 02部署流程并运行执行
- 03检查执行状态
- 04管理命名空间及其文件
- 05配置和切换 CLI 上下文
- 06部署前验证
适用场景
- 01部署前验证流程
- 02运行流程并检查结果
- 03向命名空间上传文件
- 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中存在有效上下文,或通过环境变量/标志提供相关值
配置优先级
按优先级从高到低解析配置:
- 命令标志(
--host、--tenant、--token、--output) - 环境变量(
KESTRACTL_HOST、KESTRACTL_TENANT、KESTRACTL_TOKEN、KESTRACTL_OUTPUT) - 配置文件(
~/.kestractl/config.yaml) - 内置默认值
常见设置:
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
标准工作流
- 解析并确认目标上下文。
- 首先执行只读发现操作。
- 在部署前验证制品。
- 使用显式标志执行所请求的操作。
- 验证结果(必要时对运行操作使用
--wait)。 - 返回简洁的运维报告,说明结果和后续操作。
命令模式
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