Tekton Task CRD

tekton.dev/v1 kind=Task — defines a series of steps that launch specific build or delivery tools, ingest specific inputs (params, workspaces, resources), and produce specific outputs (results). Tasks are the reusable unit of execution in Tekton.

OpenAPI Specification

tekton-pipeline-openapi.json Raw ↑
{
  "swagger": "2.0",
  "info": {
    "description": "Tekton Pipeline",
    "title": "Tekton",
    "version": "v0.17.2"
  },
  "paths": {},
  "definitions": {
    "pod.AffinityAssistantTemplate": {
      "description": "AffinityAssistantTemplate holds pod specific configuration and is a subset of the generic pod Template",
      "type": "object",
      "properties": {
        "imagePullSecrets": {
          "description": "ImagePullSecrets gives the name of the secret used by the pod to pull the image if specified",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.LocalObjectReference"
          },
          "x-kubernetes-list-type": "atomic"
        },
        "nodeSelector": {
          "description": "NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/",
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "default": ""
          }
        },
        "priorityClassName": {
          "description": "If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.",
          "type": "string"
        },
        "securityContext": {
          "description": "SecurityContext sets the security context for the pod",
          "$ref": "#/definitions/v1.PodSecurityContext"
        },
        "serviceAccountName": {
          "description": "ServiceAccountName is the name of the ServiceAccount to use for the affinity assistant pod. If not specified, the affinity assistant will inherit the serviceAccountName from the PipelineRun's taskRunTemplate. If that is also not specified, the pod will use the namespace's default ServiceAccount. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/",
          "type": "string"
        },
        "tolerations": {
          "description": "If specified, the pod's tolerations.",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.Toleration"
          },
          "x-kubernetes-list-type": "atomic"
        }
      }
    },
    "pod.Template": {
      "description": "Template holds pod specific configuration",
      "type": "object",
      "properties": {
        "affinity": {
          "description": "If specified, the pod's scheduling constraints. See Pod.spec.affinity (API version: v1)",
          "$ref": "#/definitions/v1.Affinity"
        },
        "automountServiceAccountToken": {
          "description": "AutomountServiceAccountToken indicates whether pods running as this service account should have an API token automatically mounted.",
          "type": "boolean"
        },
        "dnsConfig": {
          "description": "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.",
          "$ref": "#/definitions/v1.PodDNSConfig"
        },
        "dnsPolicy": {
          "description": "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy.",
          "type": "string"
        },
        "enableServiceLinks": {
          "description": "EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true.",
          "type": "boolean"
        },
        "env": {
          "description": "List of environment variables that can be provided to the containers belonging to the pod.",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.EnvVar"
          },
          "x-kubernetes-list-type": "atomic",
          "x-kubernetes-patch-merge-key": "name",
          "x-kubernetes-patch-strategy": "merge"
        },
        "hostAliases": {
          "description": "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods.",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.HostAlias"
          },
          "x-kubernetes-list-type": "atomic"
        },
        "hostNetwork": {
          "description": "HostNetwork specifies whether the pod may use the node network namespace",
          "type": "boolean"
        },
        "hostUsers": {
          "description": "HostUsers indicates whether the pod will use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new user namespace is created for the pod. Setting false is useful to mitigating container breakout vulnerabilities such as allowing containers to run as root without their user having root privileges on the host. This field depends on the kubernetes feature gate UserNamespacesSupport being enabled.",
          "type": "boolean"
        },
        "imagePullSecrets": {
          "description": "ImagePullSecrets gives the name of the secret used by the pod to pull the image if specified",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.LocalObjectReference"
          },
          "x-kubernetes-list-type": "atomic"
        },
        "nodeSelector": {
          "description": "NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/",
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "default": ""
          }
        },
        "priorityClassName": {
          "description": "If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.",
          "type": "string"
        },
        "runtimeClassName": {
          "description": "RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md This is a beta feature as of Kubernetes v1.14.",
          "type": "string"
        },
        "schedulerName": {
          "description": "SchedulerName specifies the scheduler to be used to dispatch the Pod",
          "type": "string"
        },
        "securityContext": {
          "description": "SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty.  See type description for default values of each field. See Pod.spec.securityContext (API version: v1)",
          "$ref": "#/definitions/v1.PodSecurityContext"
        },
        "tolerations": {
          "description": "If specified, the pod's tolerations.",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.Toleration"
          },
          "x-kubernetes-list-type": "atomic"
        },
        "topologySpreadConstraints": {
          "description": "TopologySpreadConstraints controls how Pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains.",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.TopologySpreadConstraint"
          },
          "x-kubernetes-list-type": "atomic"
        },
        "volumes": {
          "description": "List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes See Pod.spec.volumes (API version: v1)",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.Volume"
          },
          "x-kubernetes-patch-merge-key": "name",
          "x-kubernetes-patch-strategy": "merge,retainKeys"
        }
      }
    },
    "v1.Artifact": {
      "description": "Artifact represents an artifact within a system, potentially containing multiple values associated with it.",
      "type": "object",
      "properties": {
        "buildOutput": {
          "description": "Indicate if the artifact is a build output or a by-product",
          "type": "boolean"
        },
        "name": {
          "description": "The artifact's identifying category name",
          "type": "string"
        },
        "values": {
          "description": "A collection of values related to the artifact",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.ArtifactValue"
          }
        }
      }
    },
    "v1.ArtifactValue": {
      "description": "ArtifactValue represents a specific value or data element within an Artifact.",
      "type": "object",
      "properties": {
        "digest": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "default": ""
          }
        },
        "uri": {
          "description": "Algorithm-specific digests for verifying the content (e.g., SHA256)",
          "type": "string"
        }
      }
    },
    "v1.Artifacts": {
      "description": "Artifacts represents the collection of input and output artifacts associated with a task run or a similar process. Artifacts in this context are units of data or resources that the process either consumes as input or produces as output.",
      "type": "object",
      "properties": {
        "inputs": {
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.Artifact"
          },
          "x-kubernetes-list-type": "atomic"
        },
        "outputs": {
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.Artifact"
          },
          "x-kubernetes-list-type": "atomic"
        }
      }
    },
    "v1.ChildStatusReference": {
      "description": "ChildStatusReference is used to point to the statuses of individual TaskRuns and Runs within this PipelineRun.",
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string"
        },
        "displayName": {
          "description": "DisplayName is a user-facing name of the pipelineTask that may be used to populate a UI.",
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "name": {
          "description": "Name is the name of the TaskRun or Run this is referencing.",
          "type": "string"
        },
        "pipelineTaskName": {
          "description": "PipelineTaskName is the name of the PipelineTask this is referencing.",
          "type": "string"
        },
        "whenExpressions": {
          "description": "WhenExpressions is the list of checks guarding the execution of the PipelineTask",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.WhenExpression"
          },
          "x-kubernetes-list-type": "atomic"
        }
      }
    },
    "v1.EmbeddedTask": {
      "description": "EmbeddedTask is used to define a Task inline within a Pipeline's PipelineTasks.",
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string"
        },
        "description": {
          "description": "Description is a user-facing description of the task that may be used to populate a UI.",
          "type": "string"
        },
        "displayName": {
          "description": "DisplayName is a user-facing name of the task that may be used to populate a UI.",
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "metadata": {
          "default": {},
          "$ref": "#/definitions/v1.PipelineTaskMetadata"
        },
        "params": {
          "description": "Params is a list of input parameters required to run the task. Params must be supplied as inputs in TaskRuns unless they declare a default value.",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.ParamSpec"
          }
        },
        "results": {
          "description": "Results are values that this Task can output",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.TaskResult"
          },
          "x-kubernetes-list-type": "atomic"
        },
        "sidecars": {
          "description": "Sidecars are run alongside the Task's step containers. They begin before the steps start and end after the steps complete.",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.Sidecar"
          },
          "x-kubernetes-list-type": "atomic"
        },
        "spec": {
          "description": "Spec is a specification of a custom task",
          "$ref": "#/definitions/k8s.io.apimachinery.pkg.runtime.RawExtension"
        },
        "stepTemplate": {
          "description": "StepTemplate can be used as the basis for all step containers within the Task, so that the steps inherit settings on the base container.",
          "$ref": "#/definitions/v1.StepTemplate"
        },
        "steps": {
          "description": "Steps are the steps of the build; each step is run sequentially with the source mounted into /workspace.",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.Step"
          },
          "x-kubernetes-list-type": "atomic"
        },
        "volumes": {
          "description": "Volumes is a collection of volumes that are available to mount into the steps of the build. See Pod.spec.volumes (API version: v1)",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.Volume"
          }
        },
        "workspaces": {
          "description": "Workspaces are the volumes that this Task requires.",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.WorkspaceDeclaration"
          },
          "x-kubernetes-list-type": "atomic"
        }
      }
    },
    "v1.IncludeParams": {
      "description": "IncludeParams allows passing in a specific combinations of Parameters into the Matrix.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Name the specified combination",
          "type": "string"
        },
        "params": {
          "description": "Params takes only `Parameters` of type `\"string\"` The names of the `params` must match the names of the `params` in the underlying `Task`",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.Param"
          }
        }
      }
    },
    "v1.Matrix": {
      "description": "Matrix is used to fan out Tasks in a Pipeline",
      "type": "object",
      "properties": {
        "include": {
          "description": "Include is a list of IncludeParams which allows passing in specific combinations of Parameters into the Matrix.",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.IncludeParams"
          }
        },
        "params": {
          "description": "Params is a list of parameters used to fan out the pipelineTask Params takes only `Parameters` of type `\"array\"` Each array element is supplied to the `PipelineTask` by substituting `params` of type `\"string\"` in the underlying `Task`. The names of the `params` in the `Matrix` must match the names of the `params` in the underlying `Task` that they will be substituting.",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.Param"
          }
        }
      }
    },
    "v1.Param": {
      "description": "Param declares an ParamValues to use for the parameter called name.",
      "type": "object",
      "required": [
        "name",
        "value"
      ],
      "properties": {
        "name": {
          "type": "string",
          "default": ""
        },
        "value": {
          "$ref": "#/definitions/v1.ParamValue"
        }
      }
    },
    "v1.ParamSpec": {
      "description": "ParamSpec defines arbitrary parameters needed beyond typed inputs (such as resources). Parameter values are provided by users as inputs on a TaskRun or PipelineRun.",
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "default": {
          "description": "Default is the value a parameter takes if no input value is supplied. If default is set, a Task may be executed without a supplied value for the parameter.",
          "$ref": "#/definitions/v1.ParamValue"
        },
        "description": {
          "description": "Description is a user-facing description of the parameter that may be used to populate a UI.",
          "type": "string"
        },
        "enum": {
          "description": "Enum declares a set of allowed param input values for tasks/pipelines that can be validated. If Enum is not set, no input validation is performed for the param.",
          "type": "array",
          "items": {
            "type": "string",
            "default": ""
          }
        },
        "name": {
          "description": "Name declares the name by which a parameter is referenced.",
          "type": "string",
          "default": ""
        },
        "properties": {
          "description": "Properties is the JSON Schema properties to support key-value pairs parameter.",
          "type": "object",
          "additionalProperties": {
            "default": {},
            "$ref": "#/definitions/v1.PropertySpec"
          }
        },
        "type": {
          "description": "Type is the user-specified type of the parameter. The possible types are currently \"string\", \"array\" and \"object\", and \"string\" is the default.",
          "type": "string"
        }
      }
    },
    "v1.ParamValue": {
      "description": "ParamValue is a type that can hold a single string, string array, or string map. Used in JSON unmarshalling so that a single JSON field can accept either an individual string or an array of strings.",
      "type": "object",
      "required": [
        "Type",
        "StringVal",
        "ArrayVal",
        "ObjectVal"
      ],
      "properties": {
        "ArrayVal": {
          "type": "array",
          "items": {
            "type": "string",
            "default": ""
          },
          "x-kubernetes-list-type": "atomic"
        },
        "ObjectVal": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "default": ""
          }
        },
        "StringVal": {
          "description": "Represents the stored type of ParamValues.",
          "type": "string",
          "default": ""
        },
        "Type": {
          "type": "string",
          "default": ""
        }
      }
    },
    "v1.Pipeline": {
      "description": "Pipeline describes a list of Tasks to execute. It expresses how outputs of tasks feed into inputs of subsequent tasks.",
      "type": "object",
      "properties": {
        "apiVersion": {
          "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
          "type": "string"
        },
        "kind": {
          "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
          "type": "string"
        },
        "metadata": {
          "default": {},
          "$ref": "#/definitions/v1.ObjectMeta"
        },
        "spec": {
          "description": "Spec holds the desired state of the Pipeline from the client",
          "default": {},
          "$ref": "#/definitions/v1.PipelineSpec"
        }
      }
    },
    "v1.PipelineList": {
      "description": "PipelineList contains a list of Pipeline",
      "type": "object",
      "required": [
        "items"
      ],
      "properties": {
        "apiVersion": {
          "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
          "type": "string"
        },
        "items": {
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.Pipeline"
          }
        },
        "kind": {
          "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
          "type": "string"
        },
        "metadata": {
          "default": {},
          "$ref": "#/definitions/v1.ListMeta"
        }
      }
    },
    "v1.PipelineRef": {
      "description": "PipelineRef can be used to refer to a specific instance of a Pipeline.",
      "type": "object",
      "properties": {
        "apiVersion": {
          "description": "API version of the referent",
          "type": "string"
        },
        "name": {
          "description": "Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names",
          "type": "string"
        }
      }
    },
    "v1.PipelineResult": {
      "description": "PipelineResult used to describe the results of a pipeline",
      "type": "object",
      "required": [
        "name",
        "value"
      ],
      "properties": {
        "description": {
          "description": "Description is a human-readable description of the result",
          "type": "string",
          "default": ""
        },
        "name": {
          "description": "Name the given name",
          "type": "string",
          "default": ""
        },
        "type": {
          "description": "Type is the user-specified type of the result. The possible types are 'string', 'array', and 'object', with 'string' as the default. 'array' and 'object' types are alpha features.",
          "type": "string"
        },
        "value": {
          "description": "Value the expression used to retrieve the value",
          "$ref": "#/definitions/v1.ParamValue"
        }
      }
    },
    "v1.PipelineRun": {
      "description": "PipelineRun represents a single execution of a Pipeline. PipelineRuns are how the graph of Tasks declared in a Pipeline are executed; they specify inputs to Pipelines such as parameter values and capture operational aspects of the Tasks execution such as service account and tolerations. Creating a PipelineRun creates TaskRuns for Tasks in the referenced Pipeline.",
      "type": "object",
      "properties": {
        "apiVersion": {
          "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
          "type": "string"
        },
        "kind": {
          "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
          "type": "string"
        },
        "metadata": {
          "default": {},
          "$ref": "#/definitions/v1.ObjectMeta"
        },
        "spec": {
          "default": {},
          "$ref": "#/definitions/v1.PipelineRunSpec"
        },
        "status": {
          "default": {},
          "$ref": "#/definitions/v1.PipelineRunStatus"
        }
      }
    },
    "v1.PipelineRunList": {
      "description": "PipelineRunList contains a list of PipelineRun",
      "type": "object",
      "required": [
        "items"
      ],
      "properties": {
        "apiVersion": {
          "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
          "type": "string"
        },
        "items": {
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.PipelineRun"
          }
        },
        "kind": {
          "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
          "type": "string"
        },
        "metadata": {
          "default": {},
          "$ref": "#/definitions/v1.ListMeta"
        }
      }
    },
    "v1.PipelineRunResult": {
      "description": "PipelineRunResult used to describe the results of a pipeline",
      "type": "object",
      "required": [
        "name",
        "value"
      ],
      "properties": {
        "name": {
          "description": "Name is the result's name as declared by the Pipeline",
          "type": "string",
          "default": ""
        },
        "value": {
          "description": "Value is the result returned from the execution of this PipelineRun",
          "$ref": "#/definitions/v1.ParamValue"
        }
      }
    },
    "v1.PipelineRunRunStatus": {
      "description": "PipelineRunRunStatus contains the name of the PipelineTask for this Run and the Run's Status",
      "type": "object",
      "properties": {
        "pipelineTaskName": {
          "description": "PipelineTaskName is the name of the PipelineTask.",
          "type": "string"
        },
        "status": {
          "description": "Status is the RunStatus for the corresponding Run",
          "$ref": "#/definitions/github.com.tektoncd.pipeline.pkg.apis.run.v1beta1.CustomRunStatus"
        },
        "whenExpressions": {
          "description": "WhenExpressions is the list of checks guarding the execution of the PipelineTask",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.WhenExpression"
          },
          "x-kubernetes-list-type": "atomic"
        }
      }
    },
    "v1.PipelineRunSpec": {
      "description": "PipelineRunSpec defines the desired state of PipelineRun",
      "type": "object",
      "properties": {
        "managedBy": {
          "description": "ManagedBy indicates which controller is responsible for reconciling this resource. If unset or set to \"tekton.dev/pipeline\", the default Tekton controller will manage this resource. This field is immutable.",
          "type": "string"
        },
        "params": {
          "description": "Params is a list of parameter names and values.",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.Param"
          }
        },
        "pipelineRef": {
          "$ref": "#/definitions/v1.PipelineRef"
        },
        "pipelineSpec": {
          "description": "Specifying PipelineSpec can be disabled by setting `disable-inline-spec` feature flag. See Pipeline.spec (API version: tekton.dev/v1)",
          "$ref": "#/definitions/v1.PipelineSpec"
        },
        "status": {
          "description": "Used for cancelling a pipelinerun (and maybe more later on)",
          "type": "string"
        },
        "taskRunSpecs": {
          "description": "TaskRunSpecs holds a set of runtime specs",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.PipelineTaskRunSpec"
          },
          "x-kubernetes-list-type": "atomic"
        },
        "taskRunTemplate": {
          "description": "TaskRunTemplate represent template of taskrun",
          "default": {},
          "$ref": "#/definitions/v1.PipelineTaskRunTemplate"
        },
        "timeouts": {
          "description": "Time after which the Pipeline times out. Currently three keys are accepted in the map pipeline, tasks and finally with Timeouts.pipeline \u003e= Timeouts.tasks + Timeouts.finally",
          "$ref": "#/definitions/v1.TimeoutFields"
        },
        "workspaces": {
          "description": "Workspaces holds a set of workspace bindings that must match names with those declared in the pipeline.",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.WorkspaceBinding"
          },
          "x-kubernetes-list-type": "atomic"
        }
      }
    },
    "v1.PipelineRunStatus": {
      "description": "PipelineRunStatus defines the observed state of PipelineRun",
      "type": "object",
      "properties": {
        "annotations": {
          "description": "Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.",
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "default": ""
          }
        },
        "childReferences": {
          "description": "list of TaskRun and Run names, PipelineTask names, and API versions/kinds for children of this PipelineRun.",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/v1.ChildStatusReference"
          },
          "x-kubernetes-list-type": "atomic"
        },
        "completionTime": {
          "description": "CompletionTime is the time the PipelineRun completed.",
          "$ref": "#/definitions/v1.Time"
        },
        "conditions": {
          "description": "Conditions the latest available observations of a resource's current state.",
          "type": "array",
          "items": {
            "default": {},
            "$ref": "#/definitions/knative.Condition"
          },
          "x-kubernetes-patch-merge-key": "type",
          "x-kubernetes-patch-strategy": "merge"
        },
        "finallyStartTime": {
          "description": "FinallyStartTime is when all non-finally tasks have been completed and only finally tasks are being executed.",
          "$ref": "#/definitions/v1.Time"
        },
        "observedGeneration": {
          "description": "Ob

# --- truncated at 32 KB (110 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tekton/refs/heads/main/openapi/tekton-pipeline-openapi.json