介绍工作流步骤定义中可以使用的 CUE 操作。

CUE(Configure Unified Execution)是一种强大的配置语言,KubeVela 使用它来定义和扩展工作流(Workflow)中的步骤。CUE 操作是 KubeVela 提供的一组内置功能,封装在 vela/op 包中,用于在工作流步骤中执行特定任务。这些操作允许平台工程师以声明式的方式自定义应用程序的部署流程,例如操作 Kubernetes 资源、发送 HTTP 请求、等待条件等。

在工作流步骤的定义过程中,可以使用的 CUE 操作符如下。

流程控制

op.#ConditionalWait - 等待条件满足

import "vela/op"

myRead: op.#Read & {
    value: {
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "test-app"
        }
    }
}

wait: op.#ConditionalWait & {
    continue: myRead.value.status.phase == "running"
    message:  "Waiting for deployment to be running"
}

说明:等待 test-app 的 Deployment 状态变为 "running"。

op.#Fail - 使工作流步骤失败

import "vela/op"

failStep: op.#Fail & {
    message: "Something went wrong"
}

数据控制

op.#Log - 输出日志或配置日志源

用途