Back to Pipeline

API Reference

docs/pipeline-api.md

1.15.0264.3 KB
Original Source
<!-- --- title: Pipeline API linkTitle: Pipeline API weight: 404 --- -->

API Reference

Packages

resolution.tekton.dev/v1alpha1

Resource Types

ResolutionRequest

ResolutionRequest is an object for requesting the content of a Tekton resource like a pipeline.yaml.

FieldDescriptionDefaultValidation
apiVersion stringresolution.tekton.dev/v1alpha1
kind stringResolutionRequest
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec ResolutionRequestSpecSpec holds the information for the request part of the resource request.Optional: {}
status ResolutionRequestStatusStatus communicates the state of the request and, ultimately,
the content of the resolved resource.Optional: {}

ResolutionRequestSpec

ResolutionRequestSpec are all the fields in the spec of the ResolutionRequest CRD.

Appears in:

FieldDescriptionDefaultValidation
params object (keys:string, values:string)Parameters are the runtime attributes passed to
the resolver to help it figure out how to resolve the
resource being requested. For example: repo URL, commit SHA,
path to file, the kind of authentication to leverage, etc.Optional: {}

ResolutionRequestStatus

ResolutionRequestStatus are all the fields in a ResolutionRequest's status subresource.

Appears in:

FieldDescriptionDefaultValidation
observedGeneration integerObservedGeneration is the 'Generation' of the Service that
was last processed by the controller.Optional: {}
conditions ConditionsConditions the latest available observations of a resource's current state.Optional: {}
annotations object (keys:string, values:string)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.
data stringData is a string representation of the resolved content
of the requested resource in-lined into the ResolutionRequest
object.
refSource RefSourceRefSource is the source reference of the remote data that records where the remote
file came from including the url, digest and the entrypoint.Schemaless: {}

ResolutionRequestStatusFields

ResolutionRequestStatusFields are the ResolutionRequest-specific fields for the status subresource.

Appears in:

FieldDescriptionDefaultValidation
data stringData is a string representation of the resolved content
of the requested resource in-lined into the ResolutionRequest
object.
refSource RefSourceRefSource is the source reference of the remote data that records where the remote
file came from including the url, digest and the entrypoint.Schemaless: {}

resolution.tekton.dev/v1beta1

Resource Types

ResolutionRequest

ResolutionRequest is an object for requesting the content of a Tekton resource like a pipeline.yaml.

FieldDescriptionDefaultValidation
apiVersion stringresolution.tekton.dev/v1beta1
kind stringResolutionRequest
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec ResolutionRequestSpecSpec holds the information for the request part of the resource request.Optional: {}
status ResolutionRequestStatusStatus communicates the state of the request and, ultimately,
the content of the resolved resource.Optional: {}

ResolutionRequestSpec

ResolutionRequestSpec are all the fields in the spec of the ResolutionRequest CRD.

Appears in:

FieldDescriptionDefaultValidation
params Param arrayParameters are the runtime attributes passed to
the resolver to help it figure out how to resolve the
resource being requested. For example: repo URL, commit SHA,
path to file, the kind of authentication to leverage, etc.Optional: {}
url stringURL is the runtime url passed to the resolver
to help it figure out how to resolver the resource being
requested.
This is currently at an ALPHA stability level and subject to
alpha API compatibility policies.Optional: {}

ResolutionRequestStatus

ResolutionRequestStatus are all the fields in a ResolutionRequest's status subresource.

Appears in:

FieldDescriptionDefaultValidation
observedGeneration integerObservedGeneration is the 'Generation' of the Service that
was last processed by the controller.Optional: {}
conditions ConditionsConditions the latest available observations of a resource's current state.Optional: {}
annotations object (keys:string, values:string)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.
data stringData is a string representation of the resolved content
of the requested resource in-lined into the ResolutionRequest
object.
source RefSourceDeprecated: Use RefSource insteadSchemaless: {}
refSource RefSourceRefSource is the source reference of the remote data that records the url, digest
and the entrypoint.Schemaless: {}

ResolutionRequestStatusFields

ResolutionRequestStatusFields are the ResolutionRequest-specific fields for the status subresource.

Appears in:

FieldDescriptionDefaultValidation
data stringData is a string representation of the resolved content
of the requested resource in-lined into the ResolutionRequest
object.
source RefSourceDeprecated: Use RefSource insteadSchemaless: {}
refSource RefSourceRefSource is the source reference of the remote data that records the url, digest
and the entrypoint.Schemaless: {}

tekton.dev/unversioned

Package pod contains non-versioned pod configuration

Volumes

Underlying type: Volume

Appears in:

FieldDescriptionDefaultValidation
name stringname of the volume.
Must be a DNS_LABEL and unique within the pod.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
hostPath HostPathVolumeSourcehostPath represents a pre-existing file or directory on the host
machine that is directly exposed to the container. This is generally
used for system agents or other privileged things that are allowed
to see the host machine. Most containers will NOT need this.
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpathOptional: {}
emptyDir EmptyDirVolumeSourceemptyDir represents a temporary directory that shares a pod's lifetime.
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydirOptional: {}
gcePersistentDisk GCEPersistentDiskVolumeSourcegcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdiskOptional: {}
awsElasticBlockStore AWSElasticBlockStoreVolumeSourceawsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstoreOptional: {}
gitRepo GitRepoVolumeSourcegitRepo represents a git repository at a particular revision.
Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.Optional: {}
secret SecretVolumeSourcesecret represents a secret that should populate this volume.
More info: https://kubernetes.io/docs/concepts/storage/volumes#secretOptional: {}
nfs NFSVolumeSourcenfs represents an NFS mount on the host that shares a pod's lifetime
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfsOptional: {}
iscsi ISCSIVolumeSourceiscsi represents an ISCSI Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
More info: https://kubernetes.io/docs/concepts/storage/volumes/#iscsiOptional: {}
glusterfs GlusterfsVolumeSourceglusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.Optional: {}
persistentVolumeClaim PersistentVolumeClaimVolumeSourcepersistentVolumeClaimVolumeSource represents a reference to a
PersistentVolumeClaim in the same namespace.
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaimsOptional: {}
rbd RBDVolumeSourcerbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.Optional: {}
flexVolume FlexVolumeSourceflexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.Optional: {}
cinder CinderVolumeSourcecinder represents a cinder volume attached and mounted on kubelets host machine.
Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.mdOptional: {}
cephfs CephFSVolumeSourcecephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.Optional: {}
flocker FlockerVolumeSourceflocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.Optional: {}
downwardAPI DownwardAPIVolumeSourcedownwardAPI represents downward API about the pod that should populate this volumeOptional: {}
fc FCVolumeSourcefc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.Optional: {}
azureFile AzureFileVolumeSourceazureFile represents an Azure File Service mount on the host and bind mount to the pod.
Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
are redirected to the file.csi.azure.com CSI driver.Optional: {}
configMap ConfigMapVolumeSourceconfigMap represents a configMap that should populate this volumeOptional: {}
vsphereVolume VsphereVirtualDiskVolumeSourcevsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
are redirected to the csi.vsphere.vmware.com CSI driver.Optional: {}
quobyte QuobyteVolumeSourcequobyte represents a Quobyte mount on the host that shares a pod's lifetime.
Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.Optional: {}
azureDisk AzureDiskVolumeSourceazureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
are redirected to the disk.csi.azure.com CSI driver.Optional: {}
photonPersistentDisk PhotonPersistentDiskVolumeSourcephotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
projected ProjectedVolumeSourceprojected items for all in one resources secrets, configmaps, and downward API
portworxVolume PortworxVolumeSourceportworxVolume represents a portworx volume attached and mounted on kubelets host machine.
Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
is on.Optional: {}
scaleIO ScaleIOVolumeSourcescaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.Optional: {}
storageos StorageOSVolumeSourcestorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.Optional: {}
csi CSIVolumeSourcecsi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.Optional: {}
ephemeral EphemeralVolumeSourceephemeral represents a volume that is handled by a cluster storage driver.
The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
and deleted when the pod is removed.
Use this if:
a) the volume is only needed while the pod runs,
b) features of normal volumes like restoring from snapshot or capacity
tracking are needed,
c) the storage driver is specified through a storage class, and
d) the storage driver supports dynamic volume provisioning through
a PersistentVolumeClaim (see EphemeralVolumeSource for more
information on the connection between this volume type
and PersistentVolumeClaim).
Use PersistentVolumeClaim or one of the vendor-specific
APIs for volumes that persist for longer than the lifecycle
of an individual pod.
Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
be used that way - see the documentation of the driver for
more information.
A pod can use both types of ephemeral volumes and
persistent volumes at the same time.Optional: {}
image ImageVolumeSourceimage represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine.
The volume is resolved at pod startup depending on which PullPolicy value is provided:
  • Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
  • Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
  • IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails. The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro) and non-executable files (noexec). Sub path mounts for containers are not supported (spec.containers[].volumeMounts.subpath) before 1.33. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type. | | Optional: {} |

tekton.dev/v1

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Package v1 contains API Schema definitions for the pipeline v1 API group

Resource Types

Algorithm

Underlying type: string

Algorithm Standard cryptographic hash algorithm

Appears in:

Artifact

Artifact represents an artifact within a system, potentially containing multiple values associated with it.

Appears in:

FieldDescriptionDefaultValidation
name stringThe artifact's identifying category name
values ArtifactValue arrayA collection of values related to the artifact
buildOutput booleanIndicate if the artifact is a build output or a by-product

ArtifactValue

ArtifactValue represents a specific value or data element within an Artifact.

Appears in:

FieldDescriptionDefaultValidation
digest object (keys:Algorithm, values:string)
uri string

Artifacts

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.

Appears in:

FieldDescriptionDefaultValidation
inputs Artifact array
outputs Artifact array

ChildStatusReference

ChildStatusReference is used to point to the statuses of individual TaskRuns and Runs within this PipelineRun.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the TaskRun or Run this is referencing.
displayName stringDisplayName is a user-facing name of the pipelineTask that may be
used to populate a UI.
pipelineTaskName stringPipelineTaskName is the name of the PipelineTask this is referencing.
whenExpressions WhenExpression arrayWhenExpressions is the list of checks guarding the execution of the PipelineTaskOptional: {}

Combination

Underlying type: object

Combination is a map, mainly defined to hold a single combination from a Matrix with key as param.Name and value as param.Value

Appears in:

EmbeddedTask

EmbeddedTask is used to define a Task inline within a Pipeline's PipelineTasks.

Appears in:

FieldDescriptionDefaultValidation
spec RawExtensionSpec is a specification of a custom taskOptional: {}
metadata PipelineTaskMetadataRefer to Kubernetes API documentation for fields of metadata.Optional: {}
params ParamSpecsParams 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.Optional: {}
displayName stringDisplayName is a user-facing name of the task that may be
used to populate a UI.Optional: {}
description stringDescription is a user-facing description of the task that may be
used to populate a UI.Optional: {}
steps Step arraySteps are the steps of the build; each step is run sequentially with the
source mounted into /workspace.
volumes VolumesVolumes is a collection of volumes that are available to mount into the
steps of the build.
See Pod.spec.volumes (API version: v1)Schemaless: {}
stepTemplate StepTemplateStepTemplate can be used as the basis for all step containers within the
Task, so that the steps inherit settings on the base container.
sidecars Sidecar arraySidecars are run alongside the Task's step containers. They begin before
the steps start and end after the steps complete.
workspaces WorkspaceDeclaration arrayWorkspaces are the volumes that this Task requires.
results TaskResult arrayResults are values that this Task can output

Matrix

Matrix is used to fan out Tasks in a Pipeline

Appears in:

FieldDescriptionDefaultValidation
params ParamsParams 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.

OnErrorType

Underlying type: string

OnErrorType defines a list of supported exiting behavior of a container on error

Appears in:

FieldDescription
stopAndFailStopAndFail indicates exit the taskRun if the container exits with non-zero exit code
continueContinue indicates continue executing the rest of the steps irrespective of the container exit code

Param

Param declares an ParamValues to use for the parameter called name.

Appears in:

FieldDescriptionDefaultValidation
name string
value ParamValueSchemaless: {}

ParamSpec

ParamSpec defines arbitrary parameters needed beyond typed inputs (such as resources). Parameter values are provided by users as inputs on a TaskRun or PipelineRun.

Appears in:

FieldDescriptionDefaultValidation
name stringName declares the name by which a parameter is referenced.
type ParamTypeType is the user-specified type of the parameter. The possible types
are currently "string", "array" and "object", and "string" is the default.Optional: {}
description stringDescription is a user-facing description of the parameter that may be
used to populate a UI.Optional: {}
properties object (keys:string, values:PropertySpec)Properties is the JSON Schema properties to support key-value pairs parameter.Optional: {}
default ParamValueDefault 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.Schemaless: {}
Optional: {}
enum string arrayEnum 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.Optional: {}

ParamSpecs

Underlying type: ParamSpec

ParamSpecs is a list of ParamSpec

Appears in:

FieldDescriptionDefaultValidation
name stringName declares the name by which a parameter is referenced.
type ParamTypeType is the user-specified type of the parameter. The possible types
are currently "string", "array" and "object", and "string" is the default.Optional: {}
description stringDescription is a user-facing description of the parameter that may be
used to populate a UI.Optional: {}
properties object (keys:string, values:PropertySpec)Properties is the JSON Schema properties to support key-value pairs parameter.Optional: {}
default ParamValueDefault 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.Schemaless: {}
Optional: {}
enum string arrayEnum 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.Optional: {}

ParamType

Underlying type: string

ParamType indicates the type of an input parameter; Used to distinguish between a single string and an array of strings.

Appears in:

FieldDescription
string
array
object

ParamValue

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.

Appears in:

FieldDescriptionDefaultValidation
Type ParamType
StringVal string
ArrayVal string array
ObjectVal object (keys:string, values:string)

Params

Underlying type: Param

Params is a list of Param

Appears in:

FieldDescriptionDefaultValidation
name string
value ParamValueSchemaless: {}

Pipeline

Pipeline describes a list of Tasks to execute. It expresses how outputs of tasks feed into inputs of subsequent tasks.

FieldDescriptionDefaultValidation
apiVersion stringtekton.dev/v1
kind stringPipeline
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec PipelineSpecSpec holds the desired state of the Pipeline from the clientOptional: {}

PipelineRef

PipelineRef can be used to refer to a specific instance of a Pipeline.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names
apiVersion stringAPI version of the referentOptional: {}
ResolverRef ResolverRefResolverRef allows referencing a Pipeline in a remote location
like a git repo. This field is only supported when the alpha
feature gate is enabled.Optional: {}

PipelineResult

Underlying type: struct{Name string "json:"name""; Type ResultsType "json:"type,omitempty""; Description string "json:"description""; Value ResultValue "json:"value""}

PipelineResult used to describe the results of a pipeline

Appears in:

PipelineRun

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.

FieldDescriptionDefaultValidation
apiVersion stringtekton.dev/v1
kind stringPipelineRun
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec PipelineRunSpecOptional: {}
status PipelineRunStatusOptional: {}

PipelineRunResult

PipelineRunResult used to describe the results of a pipeline

Appears in:

FieldDescriptionDefaultValidation
name stringName is the result's name as declared by the Pipeline
value ResultValueValue is the result returned from the execution of this PipelineRunSchemaless: {}

PipelineRunSpec

PipelineRunSpec defines the desired state of PipelineRun

Appears in:

FieldDescriptionDefaultValidation
pipelineRef PipelineRefOptional: {}
pipelineSpec PipelineSpecSpecifying PipelineSpec can be disabled by setting
disable-inline-spec feature flag.
See Pipeline.spec (API version: tekton.dev/v1)Schemaless: {}
Optional: {}
params ParamsParams is a list of parameter names and values.
status PipelineRunSpecStatusUsed for cancelling a pipelinerun (and maybe more later on)Optional: {}
timeouts TimeoutFieldsTime after which the Pipeline times out.
Currently three keys are accepted in the map
pipeline, tasks and finally
with Timeouts.pipeline >= Timeouts.tasks + Timeouts.finallyOptional: {}
taskRunTemplate PipelineTaskRunTemplateTaskRunTemplate represent template of taskrunOptional: {}
workspaces WorkspaceBinding arrayWorkspaces holds a set of workspace bindings that must match names
with those declared in the pipeline.Optional: {}
taskRunSpecs PipelineTaskRunSpec arrayTaskRunSpecs holds a set of runtime specsOptional: {}
managedBy stringManagedBy 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.Optional: {}

PipelineRunSpecStatus

Underlying type: string

PipelineRunSpecStatus defines the pipelinerun spec status the user can provide

Appears in:

PipelineRunStatus

PipelineRunStatus defines the observed state of PipelineRun

Appears in:

FieldDescriptionDefaultValidation
observedGeneration integerObservedGeneration is the 'Generation' of the Service that
was last processed by the controller.Optional: {}
conditions ConditionsConditions the latest available observations of a resource's current state.Optional: {}
annotations object (keys:string, values:string)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.
startTime TimeStartTime is the time the PipelineRun is actually started.
completionTime TimeCompletionTime is the time the PipelineRun completed.
results PipelineRunResult arrayResults are the list of results written out by the pipeline task's containersOptional: {}
pipelineSpec PipelineSpecPipelineSpec contains the exact spec used to instantiate the run.
See Pipeline.spec (API version: tekton.dev/v1)Schemaless: {}
skippedTasks SkippedTask arraylist of tasks that were skipped due to when expressions evaluating to falseOptional: {}
childReferences ChildStatusReference arraylist of TaskRun and Run names, PipelineTask names, and API versions/kinds for children of this PipelineRun.Optional: {}
finallyStartTime TimeFinallyStartTime is when all non-finally tasks have been completed and only finally tasks are being executed.Optional: {}
provenance ProvenanceProvenance contains some key authenticated metadata about how a software artifact was built (what sources, what inputs/outputs, etc.).Optional: {}
spanContext object (keys:string, values:string)SpanContext contains tracing span context fields

PipelineRunStatusFields

PipelineRunStatusFields holds the fields of PipelineRunStatus' status. This is defined separately and inlined so that other types can readily consume these fields via duck typing.

Appears in:

FieldDescriptionDefaultValidation
startTime TimeStartTime is the time the PipelineRun is actually started.
completionTime TimeCompletionTime is the time the PipelineRun completed.
results PipelineRunResult arrayResults are the list of results written out by the pipeline task's containersOptional: {}
pipelineSpec PipelineSpecPipelineSpec contains the exact spec used to instantiate the run.
See Pipeline.spec (API version: tekton.dev/v1)Schemaless: {}
skippedTasks SkippedTask arraylist of tasks that were skipped due to when expressions evaluating to falseOptional: {}
childReferences ChildStatusReference arraylist of TaskRun and Run names, PipelineTask names, and API versions/kinds for children of this PipelineRun.Optional: {}
finallyStartTime TimeFinallyStartTime is when all non-finally tasks have been completed and only finally tasks are being executed.Optional: {}
provenance ProvenanceProvenance contains some key authenticated metadata about how a software artifact was built (what sources, what inputs/outputs, etc.).Optional: {}
spanContext object (keys:string, values:string)SpanContext contains tracing span context fields

PipelineSpec

PipelineSpec defines the desired state of Pipeline.

Appears in:

FieldDescriptionDefaultValidation
displayName stringDisplayName is a user-facing name of the pipeline that may be
used to populate a UI.Optional: {}
description stringDescription is a user-facing description of the pipeline that may be
used to populate a UI.Optional: {}
tasks PipelineTask arrayTasks declares the graph of Tasks that execute when this Pipeline is run.
params ParamSpecsParams declares a list of input parameters that must be supplied when
this Pipeline is run.
workspaces PipelineWorkspaceDeclaration arrayWorkspaces declares a set of named workspaces that are expected to be
provided by a PipelineRun.Optional: {}
results PipelineResult arrayResults are values that this pipeline can output once runOptional: {}
finally PipelineTask arrayFinally declares the list of Tasks that execute just before leaving the Pipeline
i.e. either after all Tasks are finished executing successfully
or after a failure which would result in ending the Pipeline

PipelineTask

PipelineTask defines a task in a Pipeline, passing inputs from both Params and from the output of previous tasks.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of this task within the context of a Pipeline. Name is
used as a coordinate with the from and runAfter fields to establish
the execution order of tasks relative to one another.
displayName stringDisplayName is the display name of this task within the context of a Pipeline.
This display name may be used to populate a UI.Optional: {}
description stringDescription is the description of this task within the context of a Pipeline.
This description may be used to populate a UI.Optional: {}
taskRef TaskRefTaskRef is a reference to a task definition.Optional: {}
taskSpec EmbeddedTaskTaskSpec is a specification of a task
Specifying TaskSpec can be disabled by setting
disable-inline-spec feature flag.
See Task.spec (API version: tekton.dev/v1)Schemaless: {}
Optional: {}
when WhenExpressionsWhen is a list of when expressions that need to be true for the task to runOptional: {}
retries integerRetries represents how many times this task should be retried in case of task failure: ConditionSucceeded set to FalseOptional: {}
runAfter string arrayRunAfter is the list of PipelineTask names that should be executed before
this Task executes. (Used to force a specific ordering in graph execution.)Optional: {}
params ParamsParameters declares parameters passed to this task.Optional: {}
matrix MatrixMatrix declares parameters used to fan out this task.Optional: {}
workspaces WorkspacePipelineTaskBinding arrayWorkspaces maps workspaces from the pipeline spec to the workspaces
declared in the Task.Optional: {}
timeout DurationDuration after which the TaskRun times out. Defaults to 1 hour.
Refer Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDurationOptional: {}
pipelineRef PipelineRefPipelineRef is a reference to a pipeline definition.
This is an alpha field. You must set the "enable-api-fields" feature flag
to "alpha" for this field to be supported. When enabled, the referenced
Pipeline is executed as a child PipelineRun owned by the parent PipelineRun.Optional: {}
pipelineSpec PipelineSpecPipelineSpec is a specification of a pipeline.
This is an alpha field. You must set the "enable-api-fields" feature flag
to "alpha" for this field to be supported. When enabled, the embedded
Pipeline is executed as a child PipelineRun owned by the parent PipelineRun.
Specifying PipelineSpec can be disabled by setting
disable-inline-spec feature flag.
See Pipeline.spec (API version: tekton.dev/v1)Schemaless: {}
Optional: {}
onError PipelineTaskOnErrorTypeOnError defines the exiting behavior of a PipelineRun on error
can be set to [ continue | stopAndFail ]Optional: {}

PipelineTaskMetadata

PipelineTaskMetadata contains the labels or annotations for an EmbeddedTask

Appears in:

FieldDescriptionDefaultValidation
labels object (keys:string, values:string)Optional: {}
annotations object (keys:string, values:string)Optional: {}

PipelineTaskOnErrorType

Underlying type: string

PipelineTaskOnErrorType defines a list of supported failure handling behaviors of a PipelineTask on error

Appears in:

FieldDescription
stopAndFailPipelineTaskStopAndFail indicates to stop and fail the PipelineRun if the PipelineTask fails
continuePipelineTaskContinue indicates to continue executing the rest of the DAG when the PipelineTask fails

PipelineTaskRunSpec

PipelineTaskRunSpec can be used to configure specific specs for a concrete Task

Appears in:

FieldDescriptionDefaultValidation
pipelineTaskName string
serviceAccountName string
podTemplate PodTemplate
stepSpecs TaskRunStepSpec array
sidecarSpecs TaskRunSidecarSpec array
metadata PipelineTaskMetadataRefer to Kubernetes API documentation for fields of metadata.Optional: {}
computeResources ResourceRequirementsCompute resources to use for this TaskRun
timeout DurationDuration after which the TaskRun times out. Overrides the timeout specified
on the Task's spec if specified. Takes lower precedence to PipelineRun's
spec.timeouts.tasks
Refer Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDurationOptional: {}

PipelineTaskRunTemplate

PipelineTaskRunTemplate is used to specify run specifications for all Task in pipelinerun.

Appears in:

FieldDescriptionDefaultValidation
podTemplate PodTemplateOptional: {}
serviceAccountName stringOptional: {}

PipelineWorkspaceDeclaration

Underlying type: struct{Name string "json:"name""; Description string "json:"description,omitempty""; Optional bool "json:"optional,omitempty""}

PipelineWorkspaceDeclaration creates a named slot in a Pipeline that a PipelineRun is expected to populate with a workspace binding.

Appears in:

PropertySpec

PropertySpec defines the struct for object keys

Appears in:

FieldDescriptionDefaultValidation
type ParamType

Provenance

Provenance contains metadata about resources used in the TaskRun/PipelineRun such as the source from where a remote build definition was fetched. This field aims to carry minimum amoumt of metadata in *Run status so that Tekton Chains can capture them in the provenance.

Appears in:

FieldDescriptionDefaultValidation
refSource RefSourceRefSource identifies the source where a remote task/pipeline came from.
featureFlags FeatureFlagsFeatureFlags identifies the feature flags that were used during the task/pipeline run

Ref

Ref can be used to refer to a specific instance of a StepAction.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the referenced step
ResolverRef ResolverRefResolverRef allows referencing a StepAction in a remote location
like a git repo.Optional: {}

RefSource

RefSource contains the information that can uniquely identify where a remote built definition came from i.e. Git repositories, Tekton Bundles in OCI registry and hub.

Appears in:

FieldDescriptionDefaultValidation
uri stringURI indicates the identity of the source of the build definition.
Example: "https://github.com/tektoncd/catalog"
digest object (keys:string, values:string)Digest is a collection of cryptographic digests for the contents of the artifact specified by URI.
Example: {"sha1": "f99d13e554ffcb696dee719fa85b695cb5b0f428"}
entryPoint stringEntryPoint identifies the entry point into the build. This is often a path to a
build definition file and/or a target label within that file.
Example: "task/git-clone/0.10/git-clone.yaml"

ResolverName

Underlying type: string

ResolverName is the name of a resolver from which a resource can be requested.

Appears in:

ResolverRef

ResolverRef can be used to refer to a Pipeline or Task in a remote location like a git repo. This feature is in beta and these fields are only available when the beta feature gate is enabled.

Appears in:

FieldDescriptionDefaultValidation
resolver ResolverNameResolver is the name of the resolver that should perform
resolution of the referenced Tekton resource, such as "git".Optional: {}
params ParamsParams contains the parameters used to identify the
referenced Tekton resource. Example entries might include
"repo" or "path" but the set of params ultimately depends on
the chosen resolver.Optional: {}

ResultsType

Underlying type: string

ResultsType indicates the type of a result; Used to distinguish between a single string and an array of strings. Note that there is ResultType used to find out whether a RunResult is from a task result or not, which is different from this ResultsType.

Appears in:

FieldDescription
string
array
object

RetriesStatus

Underlying type: TaskRunStatus

Appears in:

FieldDescriptionDefaultValidation
Status Status
TaskRunStatusFields TaskRunStatusFieldsTaskRunStatusFields inlines the status fields.

Sidecar

Sidecar has nearly the same data structure as Step but does not have the ability to timeout.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the Sidecar specified as a DNS_LABEL.
Each Sidecar in a Task must have a unique name (DNS_LABEL).
Cannot be updated.
image stringImage reference name.
More info: https://kubernetes.io/docs/concepts/containers/imagesOptional: {}
command string arrayEntrypoint array. Not executed within a shell.
The image's ENTRYPOINT is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the Sidecar's environment. If a variable
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shellOptional: {}
args string arrayArguments to the entrypoint.
The image's CMD is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the Sidecar's environment. If a variable
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shellOptional: {}
workingDir stringSidecar's working directory.
If not specified, the container runtime's default will be used, which
might be configured in the container image.
Cannot be updated.Optional: {}
ports ContainerPort arrayList of ports to expose from the Sidecar. Exposing a port here gives
the system additional information about the network connections a
container uses, but is primarily informational. Not specifying a port here
DOES NOT prevent that port from being exposed. Any port which is
listening on the default "0.0.0.0" address inside a container will be
accessible from the network.
Cannot be updated.Optional: {}
envFrom EnvFromSource arrayList of sources to populate environment variables in the Sidecar.
The keys defined within a source must be a C_IDENTIFIER. All invalid keys
will be reported as an event when the container is starting. When a key exists in multiple
sources, the value associated with the last source will take precedence.
Values defined by an Env with a duplicate key will take precedence.
Cannot be updated.Optional: {}
env EnvVar arrayList of environment variables to set in the Sidecar.
Cannot be updated.Optional: {}
computeResources ResourceRequirementsComputeResources required by this Sidecar.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/Optional: {}
volumeMounts VolumeMount arrayVolumes to mount into the Sidecar's filesystem.
Cannot be updated.Optional: {}
volumeDevices VolumeDevice arrayvolumeDevices is the list of block devices to be used by the Sidecar.Optional: {}
livenessProbe ProbePeriodic probe of Sidecar liveness.
Container will be restarted if the probe fails.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probesOptional: {}
readinessProbe ProbePeriodic probe of Sidecar service readiness.
Container will be removed from service endpoints if the probe fails.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probesOptional: {}
startupProbe ProbeStartupProbe indicates that the Pod the Sidecar is running in has successfully initialized.
If specified, no other probes are executed until this completes successfully.
If this probe fails, the Pod will be restarted, just as if the livenessProbe failed.
This can be used to provide different probe parameters at the beginning of a Pod's lifecycle,
when it might take a long time to load data or warm a cache, than during steady-state operation.
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probesOptional: {}
lifecycle LifecycleActions that the management system should take in response to Sidecar lifecycle events.
Cannot be updated.Optional: {}
terminationMessagePath stringOptional: Path at which the file to which the Sidecar's termination message
will be written is mounted into the Sidecar's filesystem.
Message written is intended to be brief final status, such as an assertion failure message.
Will be truncated by the node if greater than 4096 bytes. The total message length across
all containers will be limited to 12kb.
Defaults to /dev/termination-log.
Cannot be updated.Optional: {}
terminationMessagePolicy TerminationMessagePolicyIndicate how the termination message should be populated. File will use the contents of
terminationMessagePath to populate the Sidecar status message on both success and failure.
FallbackToLogsOnError will use the last chunk of Sidecar log output if the termination
message file is empty and the Sidecar exited with an error.
The log output is limited to 2048 bytes or 80 lines, whichever is smaller.
Defaults to File.
Cannot be updated.Optional: {}
imagePullPolicy PullPolicyImage pull policy.
One of Always, Never, IfNotPresent.
Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/containers/images#updating-imagesOptional: {}
securityContext SecurityContextSecurityContext defines the security options the Sidecar should be run with.
If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.
More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/Optional: {}
stdin booleanWhether this Sidecar should allocate a buffer for stdin in the container runtime. If this
is not set, reads from stdin in the Sidecar will always result in EOF.
Default is false.Optional: {}
stdinOnce booleanWhether the container runtime should close the stdin channel after it has been opened by
a single attach. When stdin is true the stdin stream will remain open across multiple attach
sessions. If stdinOnce is set to true, stdin is opened on Sidecar start, is empty until the
first client attaches to stdin, and then remains open and accepts data until the client disconnects,
at which time stdin is closed and remains closed until the Sidecar is restarted. If this
flag is false, a container processes that reads from stdin will never receive an EOF.
Default is falseOptional: {}
tty booleanWhether this Sidecar should allocate a TTY for itself, also requires 'stdin' to be true.
Default is false.Optional: {}
script stringScript is the contents of an executable file to execute.
If Script is not empty, the Step cannot have an Command or Args.Optional: {}
workspaces WorkspaceUsage arrayThis is an alpha field. You must set the "enable-api-fields" feature flag to "alpha"
for this field to be supported.
Workspaces is a list of workspaces from the Task that this Sidecar wants
exclusive access to. Adding a workspace to this list means that any
other Step or Sidecar that does not also request this Workspace will
not have access to it.Optional: {}
restartPolicy ContainerRestartPolicyRestartPolicy refers to kubernetes RestartPolicy. It can only be set for an
initContainer and must have it's policy set to "Always". It is currently
left optional to help support Kubernetes versions prior to 1.29 when this feature
was introduced.Optional: {}

SidecarState

SidecarState reports the results of running a sidecar in a Task.

Appears in:

FieldDescriptionDefaultValidation
waiting ContainerStateWaitingDetails about a waiting containerOptional: {}
running ContainerStateRunningDetails about a running containerOptional: {}
terminated ContainerStateTerminatedDetails about a terminated containerOptional: {}
name string
container string
imageID string

SkippedTask

SkippedTask is used to describe the Tasks that were skipped due to their When Expressions evaluating to False. This is a struct because we are looking into including more details about the When Expressions that caused this Task to be skipped.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the Pipeline Task name
reason SkippingReasonReason is the cause of the PipelineTask being skipped.
whenExpressions WhenExpression arrayWhenExpressions is the list of checks guarding the execution of the PipelineTaskOptional: {}

SkippingReason

Underlying type: string

SkippingReason explains why a PipelineTask was skipped.

Appears in:

FieldDescription
When Expressions evaluated to falseWhenExpressionsSkip means the task was skipped due to at least one of its when expressions evaluating to false
Parent Tasks were skippedParentTasksSkip means the task was skipped because its parent was skipped
PipelineRun was stoppingStoppingSkip means the task was skipped because the pipeline run is stopping
PipelineRun was gracefully cancelledGracefullyCancelledSkip means the task was skipped because the pipeline run has been gracefully cancelled
PipelineRun was gracefully stoppedGracefullyStoppedSkip means the task was skipped because the pipeline run has been gracefully stopped
Results were missingMissingResultsSkip means the task was skipped because it's missing necessary results
PipelineRun timeout has been reachedPipelineTimedOutSkip means the task was skipped because the PipelineRun has passed its overall timeout.
PipelineRun Tasks timeout has been reachedTasksTimedOutSkip means the task was skipped because the PipelineRun has passed its Timeouts.Tasks.
PipelineRun Finally timeout has been reachedFinallyTimedOutSkip means the task was skipped because the PipelineRun has passed its Timeouts.Finally.
Matrix Parameters have an empty arrayEmptyArrayInMatrixParams means the task was skipped because Matrix parameters contain empty array.
NoneNone means the task was not skipped

Step

Step runs a subcomponent of a Task

Appears in:

FieldDescriptionDefaultValidation
name stringName of the Step specified as a DNS_LABEL.
Each Step in a Task must have a unique name.
displayName stringDisplayName is a user-facing name of the step that may be
used to populate a UI.Optional: {}
image stringDocker image name.
More info: https://kubernetes.io/docs/concepts/containers/imagesOptional: {}
command string arrayEntrypoint array. Not executed within a shell.
The image's ENTRYPOINT is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shellOptional: {}
args string arrayArguments to the entrypoint.
The image's CMD is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shellOptional: {}
workingDir stringStep's working directory.
If not specified, the container runtime's default will be used, which
might be configured in the container image.
Cannot be updated.Optional: {}
envFrom EnvFromSource arrayList of sources to populate environment variables in the Step.
The keys defined within a source must be a C_IDENTIFIER. All invalid keys
will be reported as an event when the Step is starting. When a key exists in multiple
sources, the value associated with the last source will take precedence.
Values defined by an Env with a duplicate key will take precedence.
Cannot be updated.Optional: {}
env EnvVar arrayList of environment variables to set in the Step.
Cannot be updated.Optional: {}
computeResources ResourceRequirementsComputeResources required by this Step.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/Optional: {}
volumeMounts VolumeMount arrayVolumes to mount into the Step's filesystem.
Cannot be updated.Optional: {}
volumeDevices VolumeDevice arrayvolumeDevices is the list of block devices to be used by the Step.Optional: {}
imagePullPolicy PullPolicyImage pull policy.
One of Always, Never, IfNotPresent.
Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/containers/images#updating-imagesOptional: {}
securityContext SecurityContextSecurityContext defines the security options the Step should be run with.
If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.
More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/Optional: {}
script stringScript is the contents of an executable file to execute.
If Script is not empty, the Step cannot have an Command and the Args will be passed to the Script.Optional: {}
timeout DurationTimeout is the time after which the step times out. Defaults to never.
Refer to Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDurationOptional: {}
workspaces WorkspaceUsage arrayThis is an alpha field. You must set the "enable-api-fields" feature flag to "alpha"
for this field to be supported.
Workspaces is a list of workspaces from the Task that this Step wants
exclusive access to. Adding a workspace to this list means that any
other Step or Sidecar that does not also request this Workspace will
not have access to it.Optional: {}
onError OnErrorTypeOnError defines the exiting behavior of a container on error
can be set to [ continue | stopAndFail ]
stdoutConfig StepOutputConfigStores configuration for the stdout stream of the step.Optional: {}
stderrConfig StepOutputConfigStores configuration for the stderr stream of the step.Optional: {}
ref RefContains the reference to an existing StepAction.Optional: {}
params ParamsParams declares parameters passed to this step action.Optional: {}
results StepResult arrayResults declares StepResults produced by the Step.
It can be used in an inlined Step when used to store Results to $(step.results.resultName.path).
It cannot be used when referencing StepActions using [v1.Step.Ref].
The Results declared by the StepActions will be stored here instead.Optional: {}
when StepWhenExpressionsWhen is a list of when expressions that need to be true for the task to runOptional: {}

StepOutputConfig

StepOutputConfig stores configuration for a step output stream.

Appears in:

FieldDescriptionDefaultValidation
path stringPath to duplicate stdout stream to on container's local filesystem.Optional: {}

StepResult

StepResult used to describe the Results of a Step.

Appears in:

FieldDescriptionDefaultValidation
name stringName the given name
type ResultsTypeThe possible types are 'string', 'array', and 'object', with 'string' as the default.Optional: {}
properties object (keys:string, values:PropertySpec)Properties is the JSON Schema properties to support key-value pairs results.Optional: {}
description stringDescription is a human-readable description of the resultOptional: {}

StepState

StepState reports the results of running a step in a Task.

Appears in:

FieldDescriptionDefaultValidation
waiting ContainerStateWaitingDetails about a waiting containerOptional: {}
running ContainerStateRunningDetails about a running containerOptional: {}
terminated ContainerStateTerminatedDetails about a terminated containerOptional: {}
name string
container string
imageID string
results TaskRunStepResult array
provenance Provenance
terminationReason string
inputs TaskRunStepArtifact array
outputs TaskRunStepArtifact array

StepTemplate

StepTemplate is a template for a Step

Appears in:

FieldDescriptionDefaultValidation
image stringImage reference name.
More info: https://kubernetes.io/docs/concepts/containers/imagesOptional: {}
command string arrayEntrypoint array. Not executed within a shell.
The image's ENTRYPOINT is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the Step's environment. If a variable
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shellOptional: {}
args string arrayArguments to the entrypoint.
The image's CMD is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the Step's environment. If a variable
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shellOptional: {}
workingDir stringStep's working directory.
If not specified, the container runtime's default will be used, which
might be configured in the container image.
Cannot be updated.Optional: {}
envFrom EnvFromSource arrayList of sources to populate environment variables in the Step.
The keys defined within a source must be a C_IDENTIFIER. All invalid keys
will be reported as an event when the Step is starting. When a key exists in multiple
sources, the value associated with the last source will take precedence.
Values defined by an Env with a duplicate key will take precedence.
Cannot be updated.Optional: {}
env EnvVar arrayList of environment variables to set in the Step.
Cannot be updated.Optional: {}
computeResources ResourceRequirementsComputeResources required by this Step.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/Optional: {}
volumeMounts VolumeMount arrayVolumes to mount into the Step's filesystem.
Cannot be updated.Optional: {}
volumeDevices VolumeDevice arrayvolumeDevices is the list of block devices to be used by the Step.Optional: {}
imagePullPolicy PullPolicyImage pull policy.
One of Always, Never, IfNotPresent.
Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/containers/images#updating-imagesOptional: {}
securityContext SecurityContextSecurityContext defines the security options the Step should be run with.
If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.
More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/Optional: {}

Task

Task represents a collection of sequential steps that are run as part of a Pipeline using a set of inputs and producing a set of outputs. Tasks execute when TaskRuns are created that provide the input parameters and resources and output resources the Task requires.

FieldDescriptionDefaultValidation
apiVersion stringtekton.dev/v1
kind stringTask
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec TaskSpecSpec holds the desired state of the Task from the clientOptional: {}

TaskBreakpoints

TaskBreakpoints defines the breakpoint config for a particular Task

Appears in:

FieldDescriptionDefaultValidation
onFailure stringif enabled, pause TaskRun on failure of a step
failed step will not exitOptional: {}
beforeSteps string arrayOptional: {}

TaskKind

Underlying type: string

TaskKind defines the type of Task used by the pipeline.

Appears in:

FieldDescription
TaskNamespacedTaskKind indicates that the task type has a namespaced scope.

TaskRef

TaskRef can be used to refer to a specific instance of a task.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names
kind TaskKindTaskKind indicates the Kind of the Task:
  1. Namespaced Task when Kind is set to "Task". If Kind is "", it defaults to "Task".
  2. Custom Task when Kind is non-empty and APIVersion is non-empty | | | | apiVersion string | API version of the referent Note: A Task with non-empty APIVersion and Kind is considered a Custom Task | | Optional: {} | | ResolverRef ResolverRef | ResolverRef allows referencing a Task in a remote location like a git repo. This field is only supported when the alpha feature gate is enabled. | | Optional: {} |

TaskResult

TaskResult used to describe the results of a task

Appears in:

FieldDescriptionDefaultValidation
name stringName the given name
type ResultsTypeType is the user-specified type of the result. The possible type
is currently "string" and will support "array" in following work.Optional: {}
properties object (keys:string, values:PropertySpec)Properties is the JSON Schema properties to support key-value pairs results.Optional: {}
description stringDescription is a human-readable description of the resultOptional: {}
value ResultValueValue the expression used to retrieve the value of the result from an underlying Step.Schemaless: {}
Optional: {}

TaskRun

TaskRun represents a single execution of a Task. TaskRuns are how the steps specified in a Task are executed; they specify the parameters and resources used to run the steps in a Task.

FieldDescriptionDefaultValidation
apiVersion stringtekton.dev/v1
kind stringTaskRun
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec TaskRunSpecOptional: {}
status TaskRunStatusOptional: {}

TaskRunDebug

TaskRunDebug defines the breakpoint config for a particular TaskRun

Appears in:

FieldDescriptionDefaultValidation
breakpoints TaskBreakpointsOptional: {}

TaskRunResult

TaskRunResult used to describe the results of a task

Appears in:

FieldDescriptionDefaultValidation
name stringName the given name
type ResultsTypeType is the user-specified type of the result. The possible type
is currently "string" and will support "array" in following work.Optional: {}
value ResultValueValue the given value of the resultSchemaless: {}

TaskRunSidecarSpec

TaskRunSidecarSpec is used to override the values of a Sidecar in the corresponding Task.

Appears in:

FieldDescriptionDefaultValidation
name stringThe name of the Sidecar to override.
computeResources ResourceRequirementsThe resource requirements to apply to the Sidecar.

TaskRunSpec

TaskRunSpec defines the desired state of TaskRun

Appears in:

FieldDescriptionDefaultValidation
debug TaskRunDebugOptional: {}
params ParamsOptional: {}
serviceAccountName stringOptional: {}
taskRef TaskRefno more than one of the TaskRef and TaskSpec may be specified.Optional: {}
taskSpec TaskSpecSpecifying TaskSpec can be disabled by setting
disable-inline-spec feature flag.
See Task.spec (API version: tekton.dev/v1)Schemaless: {}
Optional: {}
status TaskRunSpecStatusUsed for cancelling a TaskRun (and maybe more later on)Optional: {}
statusMessage TaskRunSpecStatusMessageStatus message for cancellation.Optional: {}
retries integerRetries represents how many times this TaskRun should be retried in the event of task failure.Optional: {}
timeout DurationTime after which one retry attempt times out. Defaults to 1 hour.
Refer Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDurationOptional: {}
podTemplate PodTemplatePodTemplate holds pod specific configuration
workspaces WorkspaceBinding arrayWorkspaces is a list of WorkspaceBindings from volumes to workspaces.Optional: {}
stepSpecs TaskRunStepSpec arraySpecs to apply to Steps in this TaskRun.
If a field is specified in both a Step and a StepSpec,
the value from the StepSpec will be used.
This field is only supported when the alpha feature gate is enabled.Optional: {}
sidecarSpecs TaskRunSidecarSpec arraySpecs to apply to Sidecars in this TaskRun.
If a field is specified in both a Sidecar and a SidecarSpec,
the value from the SidecarSpec will be used.
This field is only supported when the alpha feature gate is enabled.Optional: {}
computeResources ResourceRequirementsCompute resources to use for this TaskRun
managedBy stringManagedBy 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.Optional: {}

TaskRunSpecStatus

Underlying type: string

TaskRunSpecStatus defines the TaskRun spec status the user can provide

Appears in:

TaskRunSpecStatusMessage

Underlying type: string

TaskRunSpecStatusMessage defines human readable status messages for the TaskRun.

Appears in:

FieldDescription
TaskRun cancelled as the PipelineRun it belongs to has been cancelled.TaskRunCancelledByPipelineMsg indicates that the PipelineRun of which this
TaskRun was a part of has been cancelled.
TaskRun cancelled as the PipelineRun it belongs to has timed out.TaskRunCancelledByPipelineTimeoutMsg indicates that the TaskRun was cancelled because the PipelineRun running it timed out.

TaskRunStatus

TaskRunStatus defines the observed state of TaskRun

Appears in:

FieldDescriptionDefaultValidation
observedGeneration integerObservedGeneration is the 'Generation' of the Service that
was last processed by the controller.Optional: {}
conditions ConditionsConditions the latest available observations of a resource's current state.Optional: {}
annotations object (keys:string, values:string)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.
podName stringPodName is the name of the pod responsible for executing this task's steps.
startTime TimeStartTime is the time the build is actually started.
completionTime TimeCompletionTime is the time the build completed.
steps StepState arraySteps describes the state of each build step container.Optional: {}
retriesStatus RetriesStatusRetriesStatus contains the history of TaskRunStatus in case of a retry in order to keep record of failures.
All TaskRunStatus stored in RetriesStatus will have no date within the RetriesStatus as is redundant.Schemaless: {}
Optional: {}
results TaskRunResult arrayResults are the list of results written out by the task's containersOptional: {}
artifacts ArtifactsArtifacts are the list of artifacts written out by the task's containersOptional: {}
sidecars SidecarState arrayThe list has one entry per sidecar in the manifest. Each entry is
represents the imageid of the corresponding sidecar.
taskSpec TaskSpecTaskSpec contains the Spec from the dereferenced Task definition used to instantiate this TaskRun.
provenance ProvenanceProvenance contains some key authenticated metadata about how a software artifact was built (what sources, what inputs/outputs, etc.).Optional: {}
spanContext object (keys:string, values:string)SpanContext contains tracing span context fields

TaskRunStatusFields

TaskRunStatusFields holds the fields of TaskRun's status. This is defined separately and inlined so that other types can readily consume these fields via duck typing.

Appears in:

FieldDescriptionDefaultValidation
podName stringPodName is the name of the pod responsible for executing this task's steps.
startTime TimeStartTime is the time the build is actually started.
completionTime TimeCompletionTime is the time the build completed.
steps StepState arraySteps describes the state of each build step container.Optional: {}
retriesStatus RetriesStatusRetriesStatus contains the history of TaskRunStatus in case of a retry in order to keep record of failures.
All TaskRunStatus stored in RetriesStatus will have no date within the RetriesStatus as is redundant.Schemaless: {}
Optional: {}
results TaskRunResult arrayResults are the list of results written out by the task's containersOptional: {}
artifacts ArtifactsArtifacts are the list of artifacts written out by the task's containersOptional: {}
sidecars SidecarState arrayThe list has one entry per sidecar in the manifest. Each entry is
represents the imageid of the corresponding sidecar.
taskSpec TaskSpecTaskSpec contains the Spec from the dereferenced Task definition used to instantiate this TaskRun.
provenance ProvenanceProvenance contains some key authenticated metadata about how a software artifact was built (what sources, what inputs/outputs, etc.).Optional: {}
spanContext object (keys:string, values:string)SpanContext contains tracing span context fields

TaskRunStepSpec

TaskRunStepSpec is used to override the values of a Step in the corresponding Task.

Appears in:

FieldDescriptionDefaultValidation
name stringThe name of the Step to override.
computeResources ResourceRequirementsThe resource requirements to apply to the Step.

TaskSpec

TaskSpec defines the desired state of Task.

Appears in:

FieldDescriptionDefaultValidation
params ParamSpecsParams 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.Optional: {}
displayName stringDisplayName is a user-facing name of the task that may be
used to populate a UI.Optional: {}
description stringDescription is a user-facing description of the task that may be
used to populate a UI.Optional: {}
steps Step arraySteps are the steps of the build; each step is run sequentially with the
source mounted into /workspace.
volumes VolumesVolumes is a collection of volumes that are available to mount into the
steps of the build.
See Pod.spec.volumes (API version: v1)Schemaless: {}
stepTemplate StepTemplateStepTemplate can be used as the basis for all step containers within the
Task, so that the steps inherit settings on the base container.
sidecars Sidecar arraySidecars are run alongside the Task's step containers. They begin before
the steps start and end after the steps complete.
workspaces WorkspaceDeclaration arrayWorkspaces are the volumes that this Task requires.
results TaskResult arrayResults are values that this Task can output

TimeoutFields

TimeoutFields allows granular specification of pipeline, task, and finally timeouts

Appears in:

FieldDescriptionDefaultValidation
pipeline DurationPipeline sets the maximum allowed duration for execution of the entire pipeline. The sum of individual timeouts for tasks and finally must not exceed this value.
tasks DurationTasks sets the maximum allowed duration of this pipeline's tasks
finally DurationFinally sets the maximum allowed duration of this pipeline's finally

Volumes

Underlying type: Volume

Appears in:

FieldDescriptionDefaultValidation
name stringname of the volume.
Must be a DNS_LABEL and unique within the pod.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
hostPath HostPathVolumeSourcehostPath represents a pre-existing file or directory on the host
machine that is directly exposed to the container. This is generally
used for system agents or other privileged things that are allowed
to see the host machine. Most containers will NOT need this.
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpathOptional: {}
emptyDir EmptyDirVolumeSourceemptyDir represents a temporary directory that shares a pod's lifetime.
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydirOptional: {}
gcePersistentDisk GCEPersistentDiskVolumeSourcegcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdiskOptional: {}
awsElasticBlockStore AWSElasticBlockStoreVolumeSourceawsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstoreOptional: {}
gitRepo GitRepoVolumeSourcegitRepo represents a git repository at a particular revision.
Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.Optional: {}
secret SecretVolumeSourcesecret represents a secret that should populate this volume.
More info: https://kubernetes.io/docs/concepts/storage/volumes#secretOptional: {}
nfs NFSVolumeSourcenfs represents an NFS mount on the host that shares a pod's lifetime
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfsOptional: {}
iscsi ISCSIVolumeSourceiscsi represents an ISCSI Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
More info: https://kubernetes.io/docs/concepts/storage/volumes/#iscsiOptional: {}
glusterfs GlusterfsVolumeSourceglusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.Optional: {}
persistentVolumeClaim PersistentVolumeClaimVolumeSourcepersistentVolumeClaimVolumeSource represents a reference to a
PersistentVolumeClaim in the same namespace.
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaimsOptional: {}
rbd RBDVolumeSourcerbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.Optional: {}
flexVolume FlexVolumeSourceflexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.Optional: {}
cinder CinderVolumeSourcecinder represents a cinder volume attached and mounted on kubelets host machine.
Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.mdOptional: {}
cephfs CephFSVolumeSourcecephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.Optional: {}
flocker FlockerVolumeSourceflocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.Optional: {}
downwardAPI DownwardAPIVolumeSourcedownwardAPI represents downward API about the pod that should populate this volumeOptional: {}
fc FCVolumeSourcefc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.Optional: {}
azureFile AzureFileVolumeSourceazureFile represents an Azure File Service mount on the host and bind mount to the pod.
Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
are redirected to the file.csi.azure.com CSI driver.Optional: {}
configMap ConfigMapVolumeSourceconfigMap represents a configMap that should populate this volumeOptional: {}
vsphereVolume VsphereVirtualDiskVolumeSourcevsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
are redirected to the csi.vsphere.vmware.com CSI driver.Optional: {}
quobyte QuobyteVolumeSourcequobyte represents a Quobyte mount on the host that shares a pod's lifetime.
Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.Optional: {}
azureDisk AzureDiskVolumeSourceazureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
are redirected to the disk.csi.azure.com CSI driver.Optional: {}
photonPersistentDisk PhotonPersistentDiskVolumeSourcephotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
projected ProjectedVolumeSourceprojected items for all in one resources secrets, configmaps, and downward API
portworxVolume PortworxVolumeSourceportworxVolume represents a portworx volume attached and mounted on kubelets host machine.
Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
is on.Optional: {}
scaleIO ScaleIOVolumeSourcescaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.Optional: {}
storageos StorageOSVolumeSourcestorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.Optional: {}
csi CSIVolumeSourcecsi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.Optional: {}
ephemeral EphemeralVolumeSourceephemeral represents a volume that is handled by a cluster storage driver.
The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
and deleted when the pod is removed.
Use this if:
a) the volume is only needed while the pod runs,
b) features of normal volumes like restoring from snapshot or capacity
tracking are needed,
c) the storage driver is specified through a storage class, and
d) the storage driver supports dynamic volume provisioning through
a PersistentVolumeClaim (see EphemeralVolumeSource for more
information on the connection between this volume type
and PersistentVolumeClaim).
Use PersistentVolumeClaim or one of the vendor-specific
APIs for volumes that persist for longer than the lifecycle
of an individual pod.
Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
be used that way - see the documentation of the driver for
more information.
A pod can use both types of ephemeral volumes and
persistent volumes at the same time.Optional: {}
image ImageVolumeSourceimage represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine.
The volume is resolved at pod startup depending on which PullPolicy value is provided:
  • Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
  • Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
  • IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails. The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro) and non-executable files (noexec). Sub path mounts for containers are not supported (spec.containers[].volumeMounts.subpath) before 1.33. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type. | | Optional: {} |

WhenExpression

WhenExpression allows a PipelineTask to declare expressions to be evaluated before the Task is run to determine whether the Task should be executed or skipped

Appears in:

FieldDescriptionDefaultValidation
input stringInput is the string for guard checking which can be a static input or an output from a parent Task
operator OperatorOperator that represents an Input's relationship to the values
values string arrayValues is an array of strings, which is compared against the input, for guard checking
It must be non-empty
cel stringCEL is a string of Common Language Expression, which can be used to conditionally execute
the task based on the result of the expression evaluation
More info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.mdOptional: {}

WhenExpressions

Underlying type: WhenExpression

WhenExpressions are used to specify whether a Task should be executed or skipped All of them need to evaluate to True for a guarded Task to be executed.

Appears in:

FieldDescriptionDefaultValidation
input stringInput is the string for guard checking which can be a static input or an output from a parent Task
operator OperatorOperator that represents an Input's relationship to the values
values string arrayValues is an array of strings, which is compared against the input, for guard checking
It must be non-empty
cel stringCEL is a string of Common Language Expression, which can be used to conditionally execute
the task based on the result of the expression evaluation
More info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.mdOptional: {}

WorkspaceBinding

WorkspaceBinding maps a Task's declared workspace to a Volume.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the workspace populated by the volume.
subPath stringSubPath is optionally a directory on the volume which should be used
for this binding (i.e. the volume will be mounted at this sub directory).Optional: {}
volumeClaimTemplate PersistentVolumeClaimVolumeClaimTemplate is a template for a claim that will be created in the same namespace.
The PipelineRun controller is responsible for creating a unique claim for each instance of PipelineRun.
See PersistentVolumeClaim (API version: v1)Schemaless: {}
Optional: {}
persistentVolumeClaim PersistentVolumeClaimVolumeSourcePersistentVolumeClaimVolumeSource represents a reference to a
PersistentVolumeClaim in the same namespace. Either this OR EmptyDir can be used.Optional: {}
emptyDir EmptyDirVolumeSourceEmptyDir represents a temporary directory that shares a Task's lifetime.
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
Either this OR PersistentVolumeClaim can be used.Optional: {}
configMap ConfigMapVolumeSourceConfigMap represents a configMap that should populate this workspace.Optional: {}
secret SecretVolumeSourceSecret represents a secret that should populate this workspace.Optional: {}
projected ProjectedVolumeSourceProjected represents a projected volume that should populate this workspace.Optional: {}
csi CSIVolumeSourceCSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.Optional: {}

WorkspaceDeclaration

WorkspaceDeclaration is a declaration of a volume that a Task requires.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name by which you can bind the volume at runtime.
description stringDescription is an optional human readable description of this volume.Optional: {}
mountPath stringMountPath overrides the directory that the volume will be made available at.Optional: {}
readOnly booleanReadOnly dictates whether a mounted volume is writable. By default this
field is false and so mounted volumes are writable.
optional booleanOptional marks a Workspace as not being required in TaskRuns. By default
this field is false and so declared workspaces are required.

WorkspacePipelineTaskBinding

WorkspacePipelineTaskBinding describes how a workspace passed into the pipeline should be mapped to a task's declared workspace.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the workspace as declared by the task
workspace stringWorkspace is the name of the workspace declared by the pipelineOptional: {}
subPath stringSubPath is optionally a directory on the volume which should be used
for this binding (i.e. the volume will be mounted at this sub directory).Optional: {}

WorkspaceUsage

WorkspaceUsage is used by a Step or Sidecar to declare that it wants isolated access to a Workspace defined in a Task.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the workspace this Step or Sidecar wants access to.
mountPath stringMountPath is the path that the workspace should be mounted to inside the Step or Sidecar,
overriding any MountPath specified in the Task's WorkspaceDeclaration.

tekton.dev/v1alpha1

Package v1alpha1 contains API Schema definitions for the run v1alpha1 API group

Resource Types

Authority

The Authority block defines the keys for validating signatures.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name for this authority.
key KeyRefKey contains the public key to validate the resource.

EmbeddedRunSpec

EmbeddedRunSpec allows custom task definitions to be embedded

Appears in:

FieldDescriptionDefaultValidation
metadata PipelineTaskMetadataRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec RawExtensionSpec is a specification of a custom taskOptional: {}

HashAlgorithm

Underlying type: string

HashAlgorithm defines the hash algorithm used for the public key

Appears in:

FieldDescription
sha224
sha256
sha384
sha512
``

KeyRef

KeyRef defines the reference to a public key

Appears in:

FieldDescriptionDefaultValidation
secretRef SecretReferenceSecretRef sets a reference to a secret with the key.Optional: {}
data stringData contains the inline public key.Optional: {}
kms stringKMS contains the KMS url of the public key
Supported formats differ based on the KMS system used.
One example of a KMS url could be:
gcpkms://projects/[PROJECT]/locations/[LOCATION]>/keyRings/[KEYRING]/cryptoKeys/[KEY]/cryptoKeyVersions/[KEY_VERSION]
For more examples please refer https://docs.sigstore.dev/cosign/kms_support.
Note that the KMS is not supported yet.Optional: {}
hashAlgorithm HashAlgorithmHashAlgorithm always defaults to sha256 if the algorithm hasn't been explicitly setOptional: {}

ModeType

Underlying type: string

ModeType indicates the type of a mode for VerificationPolicy

Appears in:

FieldDescription
warn
enforce

PipelineResource

PipelineResource describes a resource that is an input to or output from a Task.

Deprecated: Unused, preserved only for backwards compatibility

FieldDescriptionDefaultValidation
apiVersion stringtekton.dev/v1alpha1
kind stringPipelineResource
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec PipelineResourceSpecSpec holds the desired state of the PipelineResource from the client
status PipelineResourceStatusStatus is used to communicate the observed state of the PipelineResource from
the controller, but was unused as there is no controller for PipelineResource.Optional: {}

PipelineResourceSpec

PipelineResourceSpec defines an individual resources used in the pipeline.

Deprecated: Unused, preserved only for backwards compatibility

Appears in:

FieldDescriptionDefaultValidation
description stringDescription is a user-facing description of the resource that may be
used to populate a UI.Optional: {}
type PipelineResourceType
params ResourceParam array
secrets SecretParam arraySecrets to fetch to populate some of resource fieldsOptional: {}

PipelineResourceStatus

PipelineResourceStatus does not contain anything because PipelineResources on their own do not have a status

Deprecated: Unused, preserved only for backwards compatibility

Appears in:

ResourceParam

ResourceParam declares a string value to use for the parameter called Name, and is used in the specific context of PipelineResources.

Deprecated: Unused, preserved only for backwards compatibility

Appears in:

FieldDescriptionDefaultValidation
name string
value string

ResourcePattern

ResourcePattern defines the pattern of the resource source

Appears in:

FieldDescriptionDefaultValidation
pattern stringPattern defines a resource pattern. Regex is created to filter resources based on Pattern
Example patterns:
GitHub resource: https://github.com/tektoncd/catalog.git, https://github.com/tektoncd/*
Bundle resource: gcr.io/tekton-releases/catalog/upstream/git-clone, gcr.io/tekton-releases/catalog/upstream/*
Hub resource: https://artifacthub.io/*,

Run

Run represents a single execution of a Custom Task.

FieldDescriptionDefaultValidation
apiVersion stringtekton.dev/v1alpha1
kind stringRun
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec RunSpecOptional: {}
status RunStatusOptional: {}

RunSpec

RunSpec defines the desired state of Run

Appears in:

FieldDescriptionDefaultValidation
ref TaskRefOptional: {}
spec EmbeddedRunSpecSpec is a specification of a custom taskOptional: {}
params ParamsOptional: {}
status RunSpecStatusUsed for cancelling a run (and maybe more later on)Optional: {}
statusMessage RunSpecStatusMessageStatus message for cancellation.Optional: {}
retries integerUsed for propagating retries count to custom tasksOptional: {}
serviceAccountName stringOptional: {}
podTemplate PodTemplatePodTemplate holds pod specific configurationOptional: {}
timeout DurationTime after which the custom-task times out.
Refer Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDurationOptional: {}
workspaces WorkspaceBinding arrayWorkspaces is a list of WorkspaceBindings from volumes to workspaces.Optional: {}

RunSpecStatus

Underlying type: string

RunSpecStatus defines the taskrun spec status the user can provide

Appears in:

FieldDescription
RunCancelledRunSpecStatusCancelled indicates that the user wants to cancel the run,
if not already cancelled or terminated

RunSpecStatusMessage

Underlying type: string

RunSpecStatusMessage defines human readable status messages for the TaskRun.

Appears in:

FieldDescription
Run cancelled as the PipelineRun it belongs to has been cancelled.RunCancelledByPipelineMsg indicates that the PipelineRun of which part this Run was
has been cancelled.
Run cancelled as the PipelineRun it belongs to has timed out.RunCancelledByPipelineTimeoutMsg indicates that the Run was cancelled because the PipelineRun running it timed out.

SecretParam

SecretParam indicates which secret can be used to populate a field of the resource

Deprecated: Unused, preserved only for backwards compatibility

Appears in:

FieldDescriptionDefaultValidation
fieldName string
secretKey string
secretName string

StepAction

StepAction represents the actionable components of Step. The Step can only reference it from the cluster or using remote resolution.

FieldDescriptionDefaultValidation
apiVersion stringtekton.dev/v1alpha1
kind stringStepAction
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec StepActionSpecSpec holds the desired state of the Step from the clientOptional: {}

StepActionSpec

StepActionSpec contains the actionable components of a step.

Appears in:

FieldDescriptionDefaultValidation
description stringDescription is a user-facing description of the stepaction that may be
used to populate a UI.Optional: {}
image stringImage reference name to run for this StepAction.
More info: https://kubernetes.io/docs/concepts/containers/imagesOptional: {}
command string arrayEntrypoint array. Not executed within a shell.
The image's ENTRYPOINT is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shellOptional: {}
args string arrayArguments to the entrypoint.
The image's CMD is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shellOptional: {}
env EnvVar arrayList of environment variables to set in the container.
Cannot be updated.Optional: {}
script stringScript is the contents of an executable file to execute.
If Script is not empty, the Step cannot have an Command and the Args will be passed to the Script.Optional: {}
workingDir stringStep's working directory.
If not specified, the container runtime's default will be used, which
might be configured in the container image.
Cannot be updated.Optional: {}
params ParamSpecsParams is a list of input parameters required to run the stepAction.
Params must be supplied as inputs in Steps unless they declare a defaultvalue.Optional: {}
results StepResult arrayResults are values that this StepAction can outputOptional: {}
securityContext SecurityContextSecurityContext defines the security options the Step should be run with.
If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.
More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
The value set in StepAction will take precedence over the value from Task.Optional: {}
volumeMounts VolumeMount arrayVolumes to mount into the Step's filesystem.
Cannot be updated.Optional: {}

VerificationPolicy

VerificationPolicy defines the rules to verify Tekton resources. VerificationPolicy can config the mapping from resources to a list of public keys, so when verifying the resources we can use the corresponding public keys.

FieldDescriptionDefaultValidation
apiVersion stringtekton.dev/v1alpha1
kind stringVerificationPolicy
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec VerificationPolicySpecSpec holds the desired state of the VerificationPolicy.

VerificationPolicySpec

VerificationPolicySpec defines the patterns and authorities.

Appears in:

FieldDescriptionDefaultValidation
resources ResourcePattern arrayResources defines the patterns of resources sources that should be subject to this policy.
For example, we may want to apply this Policy from a certain GitHub repo.
Then the ResourcesPattern should be valid regex. E.g. If using gitresolver, and we want to config keys from a certain git repo.
ResourcesPattern can be https://github.com/tektoncd/catalog.git, we will use regex to filter out those resources.
authorities Authority arrayAuthorities defines the rules for validating signatures.
mode ModeTypeMode controls whether a failing policy will fail the taskrun/pipelinerun, or only log the warnings
enforce - fail the taskrun/pipelinerun if verification fails (default)
warn - don't fail the taskrun/pipelinerun if verification fails but log warningsOptional: {}

tekton.dev/v1beta1

Package v1beta1 contains API Schema definitions for the customrun v1beta1 API group

Resource Types

Algorithm

Underlying type: string

Algorithm Standard cryptographic hash algorithm

Appears in:

Args

Underlying type: string array

Appears in:

Artifact

Artifact represents an artifact within a system, potentially containing multiple values associated with it.

Appears in:

FieldDescriptionDefaultValidation
name stringThe artifact's identifying category name
values ArtifactValue arrayA collection of values related to the artifact
buildOutput booleanIndicate if the artifact is a build output or a by-product

ArtifactValue

ArtifactValue represents a specific value or data element within an Artifact.

Appears in:

FieldDescriptionDefaultValidation
digest object (keys:Algorithm, values:string)
uri string

ChildStatusReference

ChildStatusReference is used to point to the statuses of individual TaskRuns and Runs within this PipelineRun.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the TaskRun or Run this is referencing.
displayName stringDisplayName is a user-facing name of the pipelineTask that may be
used to populate a UI.
pipelineTaskName stringPipelineTaskName is the name of the PipelineTask this is referencing.
whenExpressions WhenExpression arrayWhenExpressions is the list of checks guarding the execution of the PipelineTaskOptional: {}

CloudEventCondition

Underlying type: string

CloudEventCondition is a string that represents the condition of the event.

Appears in:

FieldDescription
UnknownCloudEventConditionUnknown means that the condition for the event to be
triggered was not met yet, or we don't know the state yet.
SentCloudEventConditionSent means that the event was sent successfully
FailedCloudEventConditionFailed means that there was one or more attempts to
send the event, and none was successful so far.

CloudEventDelivery

CloudEventDelivery is the target of a cloud event along with the state of delivery.

Appears in:

FieldDescriptionDefaultValidation
target stringTarget points to an addressable
status CloudEventDeliveryState

CloudEventDeliveryState

CloudEventDeliveryState reports the state of a cloud event to be sent.

Appears in:

FieldDescriptionDefaultValidation
condition CloudEventConditionCurrent status
sentAt TimeSentAt is the time at which the last attempt to send the event was madeOptional: {}
message stringError is the text of error (if any)
retryCount integerRetryCount is the number of attempts of sending the cloud event

Combination

Underlying type: object

Combination is a map, mainly defined to hold a single combination from a Matrix with key as param.Name and value as param.Value

Appears in:

ConfigSource

ConfigSource contains the information that can uniquely identify where a remote built definition came from i.e. Git repositories, Tekton Bundles in OCI registry and hub.

Appears in:

FieldDescriptionDefaultValidation
uri stringURI indicates the identity of the source of the build definition.
Example: "https://github.com/tektoncd/catalog"
digest object (keys:string, values:string)Digest is a collection of cryptographic digests for the contents of the artifact specified by URI.
Example: {"sha1": "f99d13e554ffcb696dee719fa85b695cb5b0f428"}
entryPoint stringEntryPoint identifies the entry point into the build. This is often a path to a
build definition file and/or a target label within that file.
Example: "task/git-clone/0.10/git-clone.yaml"

CustomRun

CustomRun represents a single execution of a Custom Task.

FieldDescriptionDefaultValidation
apiVersion stringtekton.dev/v1beta1
kind stringCustomRun
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec CustomRunSpecOptional: {}
status CustomRunStatusOptional: {}

CustomRunSpec

CustomRunSpec defines the desired state of CustomRun

Appears in:

FieldDescriptionDefaultValidation
customRef TaskRefOptional: {}
customSpec EmbeddedCustomRunSpecSpec is a specification of a custom taskOptional: {}
params ParamsOptional: {}
status CustomRunSpecStatusUsed for cancelling a customrun (and maybe more later on)Optional: {}
statusMessage CustomRunSpecStatusMessageStatus message for cancellation.Optional: {}
retries integerUsed for propagating retries count to custom tasksOptional: {}
serviceAccountName stringOptional: {}
timeout DurationTime after which the custom-task times out.
Refer Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDurationOptional: {}
workspaces WorkspaceBinding arrayWorkspaces is a list of WorkspaceBindings from volumes to workspaces.Optional: {}

CustomRunSpecStatus

Underlying type: string

CustomRunSpecStatus defines the taskrun spec status the user can provide

Appears in:

FieldDescription
RunCancelledCustomRunSpecStatusCancelled indicates that the user wants to cancel the run,
if not already cancelled or terminated

CustomRunSpecStatusMessage

Underlying type: string

CustomRunSpecStatusMessage defines human readable status messages for the TaskRun.

Appears in:

FieldDescription
CustomRun cancelled as the PipelineRun it belongs to has been cancelled.CustomRunCancelledByPipelineMsg indicates that the PipelineRun of which part this CustomRun was
has been cancelled.
CustomRun cancelled as the PipelineRun it belongs to has timed out.CustomRunCancelledByPipelineTimeoutMsg indicates that the Run was cancelled because the PipelineRun running it timed out.

EmbeddedCustomRunSpec

EmbeddedCustomRunSpec allows custom task definitions to be embedded

Appears in:

FieldDescriptionDefaultValidation
metadata PipelineTaskMetadataRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec RawExtensionSpec is a specification of a custom taskOptional: {}

EmbeddedTask

EmbeddedTask is used to define a Task inline within a Pipeline's PipelineTasks.

Appears in:

FieldDescriptionDefaultValidation
spec RawExtensionSpec is a specification of a custom taskOptional: {}
metadata PipelineTaskMetadataRefer to Kubernetes API documentation for fields of metadata.Optional: {}
resources TaskResourcesResources is a list input and output resource to run the task
Resources are represented in TaskRuns as bindings to instances of
PipelineResources.
Deprecated: Unused, preserved only for backwards compatibilityOptional: {}
params ParamSpecsParams 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.Optional: {}
displayName stringDisplayName is a user-facing name of the task that may be
used to populate a UI.Optional: {}
description stringDescription is a user-facing description of the task that may be
used to populate a UI.Optional: {}
steps Step arraySteps are the steps of the build; each step is run sequentially with the
source mounted into /workspace.
volumes VolumesVolumes is a collection of volumes that are available to mount into the
steps of the build.
See Pod.spec.volumes (API version: v1)Schemaless: {}
stepTemplate StepTemplateStepTemplate can be used as the basis for all step containers within the
Task, so that the steps inherit settings on the base container.
sidecars Sidecar arraySidecars are run alongside the Task's step containers. They begin before
the steps start and end after the steps complete.
workspaces WorkspaceDeclaration arrayWorkspaces are the volumes that this Task requires.
results TaskResult arrayResults are values that this Task can output

Matrix

Matrix is used to fan out Tasks in a Pipeline

Appears in:

FieldDescriptionDefaultValidation
params ParamsParams 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.

OnErrorType

Underlying type: string

OnErrorType defines a list of supported exiting behavior of a container on error

Appears in:

FieldDescription
stopAndFailStopAndFail indicates exit the taskRun if the container exits with non-zero exit code
continueContinue indicates continue executing the rest of the steps irrespective of the container exit code

Param

Param declares an ParamValues to use for the parameter called name.

Appears in:

FieldDescriptionDefaultValidation
name string
value ParamValueSchemaless: {}

ParamSpec

ParamSpec defines arbitrary parameters needed beyond typed inputs (such as resources). Parameter values are provided by users as inputs on a TaskRun or PipelineRun.

Appears in:

FieldDescriptionDefaultValidation
name stringName declares the name by which a parameter is referenced.
type ParamTypeType is the user-specified type of the parameter. The possible types
are currently "string", "array" and "object", and "string" is the default.Optional: {}
description stringDescription is a user-facing description of the parameter that may be
used to populate a UI.Optional: {}
properties object (keys:string, values:PropertySpec)Properties is the JSON Schema properties to support key-value pairs parameter.Optional: {}
default ParamValueDefault 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.Schemaless: {}
Optional: {}
enum string arrayEnum 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.Optional: {}

ParamSpecs

Underlying type: ParamSpec

ParamSpecs is a list of ParamSpec

Appears in:

FieldDescriptionDefaultValidation
name stringName declares the name by which a parameter is referenced.
type ParamTypeType is the user-specified type of the parameter. The possible types
are currently "string", "array" and "object", and "string" is the default.Optional: {}
description stringDescription is a user-facing description of the parameter that may be
used to populate a UI.Optional: {}
properties object (keys:string, values:PropertySpec)Properties is the JSON Schema properties to support key-value pairs parameter.Optional: {}
default ParamValueDefault 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.Schemaless: {}
Optional: {}
enum string arrayEnum 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.Optional: {}

ParamType

Underlying type: string

ParamType indicates the type of an input parameter; Used to distinguish between a single string and an array of strings.

Appears in:

FieldDescription
string
array
object

ParamValue

ParamValue is a type that can hold a single string or string array. Used in JSON unmarshalling so that a single JSON field can accept either an individual string or an array of strings.

Appears in:

FieldDescriptionDefaultValidation
Type ParamType
StringVal string
ArrayVal string array
ObjectVal object (keys:string, values:string)

Params

Underlying type: Param

Params is a list of Param

Appears in:

FieldDescriptionDefaultValidation
name string
value ParamValueSchemaless: {}

Pipeline

Pipeline describes a list of Tasks to execute. It expresses how outputs of tasks feed into inputs of subsequent tasks.

Deprecated: Please use v1.Pipeline instead.

FieldDescriptionDefaultValidation
apiVersion stringtekton.dev/v1beta1
kind stringPipeline
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec PipelineSpecSpec holds the desired state of the Pipeline from the clientOptional: {}

PipelineDeclaredResource

PipelineDeclaredResource is used by a Pipeline to declare the types of the PipelineResources that it will required to run and names which can be used to refer to these PipelineResources in PipelineTaskResourceBindings.

Deprecated: Unused, preserved only for backwards compatibility

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name that will be used by the Pipeline to refer to this resource.
It does not directly correspond to the name of any PipelineResources Task
inputs or outputs, and it does not correspond to the actual names of the
PipelineResources that will be bound in the PipelineRun.
type PipelineResourceTypeType is the type of the PipelineResource.
optional booleanOptional declares the resource as optional.
optional: true - the resource is considered optional
optional: false - the resource is considered required (default/equivalent of not specifying it)

PipelineRef

PipelineRef can be used to refer to a specific instance of a Pipeline.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names
apiVersion stringAPI version of the referentOptional: {}
bundle stringBundle url reference to a Tekton Bundle.
Deprecated: Please use ResolverRef with the bundles resolver instead.
The field is staying there for go client backward compatibility, but is not used/allowed anymore.Optional: {}
ResolverRef ResolverRefResolverRef allows referencing a Pipeline in a remote location
like a git repo. This field is only supported when the alpha
feature gate is enabled.Optional: {}

PipelineResourceBinding

PipelineResourceBinding connects a reference to an instance of a PipelineResource with a PipelineResource dependency that the Pipeline has declared

Deprecated: Unused, preserved only for backwards compatibility

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the PipelineResource in the Pipeline's declaration
resourceRef PipelineResourceRefResourceRef is a reference to the instance of the actual PipelineResource
that should be usedOptional: {}
resourceSpec PipelineResourceSpecResourceSpec is specification of a resource that should be created and
consumed by the taskOptional: {}

PipelineResourceRef

PipelineResourceRef can be used to refer to a specific instance of a Resource

Deprecated: Unused, preserved only for backwards compatibility

Appears in:

FieldDescriptionDefaultValidation
name stringName of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names
apiVersion stringAPI version of the referentOptional: {}

PipelineResult

Underlying type: struct{Name string "json:"name""; Type ResultsType "json:"type,omitempty""; Description string "json:"description""; Value ResultValue "json:"value""}

PipelineResult used to describe the results of a pipeline

Appears in:

PipelineRun

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.

Deprecated: Please use v1.PipelineRun instead.

FieldDescriptionDefaultValidation
apiVersion stringtekton.dev/v1beta1
kind stringPipelineRun
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec PipelineRunSpecOptional: {}
status PipelineRunStatusOptional: {}

PipelineRunResult

PipelineRunResult used to describe the results of a pipeline

Appears in:

FieldDescriptionDefaultValidation
name stringName is the result's name as declared by the Pipeline
value ResultValueValue is the result returned from the execution of this PipelineRunSchemaless: {}

PipelineRunRunStatus

PipelineRunRunStatus contains the name of the PipelineTask for this CustomRun or Run and the CustomRun or Run's Status

Appears in:

FieldDescriptionDefaultValidation
pipelineTaskName stringPipelineTaskName is the name of the PipelineTask.
status CustomRunStatusStatus is the CustomRunStatus for the corresponding CustomRun or RunOptional: {}
whenExpressions WhenExpression arrayWhenExpressions is the list of checks guarding the execution of the PipelineTaskOptional: {}

PipelineRunSpec

PipelineRunSpec defines the desired state of PipelineRun

Appears in:

FieldDescriptionDefaultValidation
pipelineRef PipelineRefOptional: {}
pipelineSpec PipelineSpecSpecifying PipelineSpec can be disabled by setting
disable-inline-spec feature flag.
See Pipeline.spec (API version: tekton.dev/v1beta1)Schemaless: {}
Optional: {}
resources PipelineResourceBinding arrayResources is a list of bindings specifying which actual instances of
PipelineResources to use for the resources the Pipeline has declared
it needs.
Deprecated: Unused, preserved only for backwards compatibility
params ParamsParams is a list of parameter names and values.
serviceAccountName stringOptional: {}
status PipelineRunSpecStatusUsed for cancelling a pipelinerun (and maybe more later on)Optional: {}
timeouts TimeoutFieldsTime after which the Pipeline times out.
Currently three keys are accepted in the map
pipeline, tasks and finally
with Timeouts.pipeline >= Timeouts.tasks + Timeouts.finallyOptional: {}
timeout DurationTimeout is the Time after which the Pipeline times out.
Defaults to never.
Refer to Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDuration
Deprecated: use pipelineRunSpec.Timeouts.Pipeline insteadOptional: {}
podTemplate PodTemplatePodTemplate holds pod specific configuration
workspaces WorkspaceBinding arrayWorkspaces holds a set of workspace bindings that must match names
with those declared in the pipeline.Optional: {}
taskRunSpecs PipelineTaskRunSpec arrayTaskRunSpecs holds a set of runtime specsOptional: {}
managedBy stringManagedBy 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.Optional: {}

PipelineRunSpecStatus

Underlying type: string

PipelineRunSpecStatus defines the pipelinerun spec status the user can provide

Appears in:

PipelineRunStatus

PipelineRunStatus defines the observed state of PipelineRun

Appears in:

FieldDescriptionDefaultValidation
observedGeneration integerObservedGeneration is the 'Generation' of the Service that
was last processed by the controller.Optional: {}
conditions ConditionsConditions the latest available observations of a resource's current state.Optional: {}
annotations object (keys:string, values:string)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.
startTime TimeStartTime is the time the PipelineRun is actually started.
completionTime TimeCompletionTime is the time the PipelineRun completed.
taskRuns object (keys:string, values:PipelineRunTaskRunStatus)TaskRuns is a map of PipelineRunTaskRunStatus with the taskRun name as the key.
Deprecated: use ChildReferences instead. As of v0.45.0, this field is no
longer populated and is only included for backwards compatibility with
older server versions.Optional: {}
runs object (keys:string, values:PipelineRunRunStatus)Runs is a map of PipelineRunRunStatus with the run name as the key
Deprecated: use ChildReferences instead. As of v0.45.0, this field is no
longer populated and is only included for backwards compatibility with
older server versions.Optional: {}
pipelineResults PipelineRunResult arrayPipelineResults are the list of results written out by the pipeline task's containersOptional: {}
pipelineSpec PipelineSpecPipelineSpec contains the exact spec used to instantiate the run.
See Pipeline.spec (API version: tekton.dev/v1beta1)Schemaless: {}
skippedTasks SkippedTask arraylist of tasks that were skipped due to when expressions evaluating to falseOptional: {}
childReferences ChildStatusReference arraylist of TaskRun and Run names, PipelineTask names, and API versions/kinds for children of this PipelineRun.Optional: {}
finallyStartTime TimeFinallyStartTime is when all non-finally tasks have been completed and only finally tasks are being executed.Optional: {}
provenance ProvenanceProvenance contains some key authenticated metadata about how a software artifact was built (what sources, what inputs/outputs, etc.).Optional: {}
spanContext object (keys:string, values:string)SpanContext contains tracing span context fields

PipelineRunStatusFields

PipelineRunStatusFields holds the fields of PipelineRunStatus' status. This is defined separately and inlined so that other types can readily consume these fields via duck typing.

Appears in:

FieldDescriptionDefaultValidation
startTime TimeStartTime is the time the PipelineRun is actually started.
completionTime TimeCompletionTime is the time the PipelineRun completed.
taskRuns object (keys:string, values:PipelineRunTaskRunStatus)TaskRuns is a map of PipelineRunTaskRunStatus with the taskRun name as the key.
Deprecated: use ChildReferences instead. As of v0.45.0, this field is no
longer populated and is only included for backwards compatibility with
older server versions.Optional: {}
runs object (keys:string, values:PipelineRunRunStatus)Runs is a map of PipelineRunRunStatus with the run name as the key
Deprecated: use ChildReferences instead. As of v0.45.0, this field is no
longer populated and is only included for backwards compatibility with
older server versions.Optional: {}
pipelineResults PipelineRunResult arrayPipelineResults are the list of results written out by the pipeline task's containersOptional: {}
pipelineSpec PipelineSpecPipelineSpec contains the exact spec used to instantiate the run.
See Pipeline.spec (API version: tekton.dev/v1beta1)Schemaless: {}
skippedTasks SkippedTask arraylist of tasks that were skipped due to when expressions evaluating to falseOptional: {}
childReferences ChildStatusReference arraylist of TaskRun and Run names, PipelineTask names, and API versions/kinds for children of this PipelineRun.Optional: {}
finallyStartTime TimeFinallyStartTime is when all non-finally tasks have been completed and only finally tasks are being executed.Optional: {}
provenance ProvenanceProvenance contains some key authenticated metadata about how a software artifact was built (what sources, what inputs/outputs, etc.).Optional: {}
spanContext object (keys:string, values:string)SpanContext contains tracing span context fields

PipelineRunTaskRunStatus

PipelineRunTaskRunStatus contains the name of the PipelineTask for this TaskRun and the TaskRun's Status

Appears in:

FieldDescriptionDefaultValidation
pipelineTaskName stringPipelineTaskName is the name of the PipelineTask.
status TaskRunStatusStatus is the TaskRunStatus for the corresponding TaskRunOptional: {}
whenExpressions WhenExpression arrayWhenExpressions is the list of checks guarding the execution of the PipelineTaskOptional: {}

PipelineSpec

PipelineSpec defines the desired state of Pipeline.

Appears in:

FieldDescriptionDefaultValidation
displayName stringDisplayName is a user-facing name of the pipeline that may be
used to populate a UI.Optional: {}
description stringDescription is a user-facing description of the pipeline that may be
used to populate a UI.Optional: {}
resources PipelineDeclaredResource arrayDeprecated: Unused, preserved only for backwards compatibility
tasks PipelineTask arrayTasks declares the graph of Tasks that execute when this Pipeline is run.
params ParamSpecsParams declares a list of input parameters that must be supplied when
this Pipeline is run.
workspaces PipelineWorkspaceDeclaration arrayWorkspaces declares a set of named workspaces that are expected to be
provided by a PipelineRun.Optional: {}
results PipelineResult arrayResults are values that this pipeline can output once runOptional: {}
finally PipelineTask arrayFinally declares the list of Tasks that execute just before leaving the Pipeline
i.e. either after all Tasks are finished executing successfully
or after a failure which would result in ending the Pipeline

PipelineTask

PipelineTask defines a task in a Pipeline, passing inputs from both Params and from the output of previous tasks.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of this task within the context of a Pipeline. Name is
used as a coordinate with the from and runAfter fields to establish
the execution order of tasks relative to one another.
displayName stringDisplayName is the display name of this task within the context of a Pipeline.
This display name may be used to populate a UI.Optional: {}
description stringDescription is the description of this task within the context of a Pipeline.
This description may be used to populate a UI.Optional: {}
taskRef TaskRefTaskRef is a reference to a task definition.Optional: {}
taskSpec EmbeddedTaskTaskSpec is a specification of a task
Specifying TaskSpec can be disabled by setting
disable-inline-spec feature flag.
See Task.spec (API version: tekton.dev/v1beta1)Schemaless: {}
Optional: {}
when WhenExpressionsWhenExpressions is a list of when expressions that need to be true for the task to runOptional: {}
retries integerRetries represents how many times this task should be retried in case of task failure: ConditionSucceeded set to FalseOptional: {}
runAfter string arrayRunAfter is the list of PipelineTask names that should be executed before
this Task executes. (Used to force a specific ordering in graph execution.)Optional: {}
resources PipelineTaskResourcesDeprecated: Unused, preserved only for backwards compatibilityOptional: {}
params ParamsParameters declares parameters passed to this task.Optional: {}
matrix MatrixMatrix declares parameters used to fan out this task.Optional: {}
workspaces WorkspacePipelineTaskBinding arrayWorkspaces maps workspaces from the pipeline spec to the workspaces
declared in the Task.Optional: {}
timeout DurationDuration after which the TaskRun times out. Defaults to 1 hour.
Refer Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDurationOptional: {}
pipelineRef PipelineRefPipelineRef is a reference to a pipeline definition.
This is an alpha field. You must set the "enable-api-fields" feature flag
to "alpha" for this field to be supported. When enabled, the referenced
Pipeline is executed as a child PipelineRun owned by the parent PipelineRun.Optional: {}
pipelineSpec PipelineSpecPipelineSpec is a specification of a pipeline.
This is an alpha field. You must set the "enable-api-fields" feature flag
to "alpha" for this field to be supported. When enabled, the embedded
Pipeline is executed as a child PipelineRun owned by the parent PipelineRun.
Specifying PipelineSpec can be disabled by setting
disable-inline-spec feature flag.
See Pipeline.spec (API version: tekton.dev/v1beta1)Schemaless: {}
Optional: {}
onError PipelineTaskOnErrorTypeOnError defines the exiting behavior of a PipelineRun on error
can be set to [ continue | stopAndFail ]Optional: {}

PipelineTaskInputResource

PipelineTaskInputResource maps the name of a declared PipelineResource input dependency in a Task to the resource in the Pipeline's DeclaredPipelineResources that should be used. This input may come from a previous task.

Deprecated: Unused, preserved only for backwards compatibility

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the PipelineResource as declared by the Task.
resource stringResource is the name of the DeclaredPipelineResource to use.
from string arrayFrom is the list of PipelineTask names that the resource has to come from.
(Implies an ordering in the execution graph.)Optional: {}

PipelineTaskMetadata

PipelineTaskMetadata contains the labels or annotations for an EmbeddedTask

Appears in:

FieldDescriptionDefaultValidation
labels object (keys:string, values:string)Optional: {}
annotations object (keys:string, values:string)Optional: {}

PipelineTaskOnErrorType

Underlying type: string

PipelineTaskOnErrorType defines a list of supported failure handling behaviors of a PipelineTask on error

Appears in:

FieldDescription
stopAndFailPipelineTaskStopAndFail indicates to stop and fail the PipelineRun if the PipelineTask fails
continuePipelineTaskContinue indicates to continue executing the rest of the DAG when the PipelineTask fails

PipelineTaskOutputResource

PipelineTaskOutputResource maps the name of a declared PipelineResource output dependency in a Task to the resource in the Pipeline's DeclaredPipelineResources that should be used.

Deprecated: Unused, preserved only for backwards compatibility

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the PipelineResource as declared by the Task.
resource stringResource is the name of the DeclaredPipelineResource to use.

PipelineTaskResources

PipelineTaskResources allows a Pipeline to declare how its DeclaredPipelineResources should be provided to a Task as its inputs and outputs.

Deprecated: Unused, preserved only for backwards compatibility

Appears in:

FieldDescriptionDefaultValidation
inputs PipelineTaskInputResource arrayInputs holds the mapping from the PipelineResources declared in
DeclaredPipelineResources to the input PipelineResources required by the Task.
outputs PipelineTaskOutputResource arrayOutputs holds the mapping from the PipelineResources declared in
DeclaredPipelineResources to the input PipelineResources required by the Task.

PipelineTaskRunSpec

PipelineTaskRunSpec can be used to configure specific specs for a concrete Task

Appears in:

FieldDescriptionDefaultValidation
pipelineTaskName string
taskServiceAccountName string
taskPodTemplate PodTemplate
stepOverrides TaskRunStepOverride array
sidecarOverrides TaskRunSidecarOverride array
metadata PipelineTaskMetadataRefer to Kubernetes API documentation for fields of metadata.Optional: {}
computeResources ResourceRequirementsCompute resources to use for this TaskRun
timeout DurationDuration after which the TaskRun times out.
Refer Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDurationOptional: {}

PipelineWorkspaceDeclaration

Underlying type: struct{Name string "json:"name""; Description string "json:"description,omitempty""; Optional bool "json:"optional,omitempty""}

PipelineWorkspaceDeclaration creates a named slot in a Pipeline that a PipelineRun is expected to populate with a workspace binding.

Appears in:

PropertySpec

PropertySpec defines the struct for object keys

Appears in:

FieldDescriptionDefaultValidation
type ParamType

Provenance

Provenance contains metadata about resources used in the TaskRun/PipelineRun such as the source from where a remote build definition was fetched. This field aims to carry minimum amoumt of metadata in *Run status so that Tekton Chains can capture them in the provenance.

Appears in:

FieldDescriptionDefaultValidation
configSource ConfigSourceDeprecated: Use RefSource instead
refSource RefSourceRefSource identifies the source where a remote task/pipeline came from.
featureFlags FeatureFlagsFeatureFlags identifies the feature flags that were used during the task/pipeline run

Ref

Ref can be used to refer to a specific instance of a StepAction.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the referenced step
ResolverRef ResolverRefResolverRef allows referencing a StepAction in a remote location
like a git repo.Optional: {}

RefSource

RefSource contains the information that can uniquely identify where a remote built definition came from i.e. Git repositories, Tekton Bundles in OCI registry and hub.

Appears in:

FieldDescriptionDefaultValidation
uri stringURI indicates the identity of the source of the build definition.
Example: "https://github.com/tektoncd/catalog"
digest object (keys:string, values:string)Digest is a collection of cryptographic digests for the contents of the artifact specified by URI.
Example: {"sha1": "f99d13e554ffcb696dee719fa85b695cb5b0f428"}
entryPoint stringEntryPoint identifies the entry point into the build. This is often a path to a
build definition file and/or a target label within that file.
Example: "task/git-clone/0.10/git-clone.yaml"

ResolverName

Underlying type: string

ResolverName is the name of a resolver from which a resource can be requested.

Appears in:

ResolverRef

ResolverRef can be used to refer to a Pipeline or Task in a remote location like a git repo.

Appears in:

FieldDescriptionDefaultValidation
resolver ResolverNameResolver is the name of the resolver that should perform
resolution of the referenced Tekton resource, such as "git".Optional: {}
params ParamsParams contains the parameters used to identify the
referenced Tekton resource. Example entries might include
"repo" or "path" but the set of params ultimately depends on
the chosen resolver.Optional: {}

ResultsType

Underlying type: string

ResultsType indicates the type of a result; Used to distinguish between a single string and an array of strings. Note that there is ResultType used to find out whether a RunResult is from a task result or not, which is different from this ResultsType.

Appears in:

FieldDescription
string
array
object

RetriesStatus

Underlying type: TaskRunStatus

Appears in:

FieldDescriptionDefaultValidation
Status Status
TaskRunStatusFields TaskRunStatusFieldsTaskRunStatusFields inlines the status fields.

Sidecar

Sidecar has nearly the same data structure as Step but does not have the ability to timeout.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the Sidecar specified as a DNS_LABEL.
Each Sidecar in a Task must have a unique name (DNS_LABEL).
Cannot be updated.
image stringImage name to be used by the Sidecar.
More info: https://kubernetes.io/docs/concepts/containers/imagesOptional: {}
command string arrayEntrypoint array. Not executed within a shell.
The image's ENTRYPOINT is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the Sidecar's environment. If a variable
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shellOptional: {}
args string arrayArguments to the entrypoint.
The image's CMD is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shellOptional: {}
workingDir stringSidecar's working directory.
If not specified, the container runtime's default will be used, which
might be configured in the container image.
Cannot be updated.Optional: {}
ports ContainerPort arrayList of ports to expose from the Sidecar. Exposing a port here gives
the system additional information about the network connections a
container uses, but is primarily informational. Not specifying a port here
DOES NOT prevent that port from being exposed. Any port which is
listening on the default "0.0.0.0" address inside a container will be
accessible from the network.
Cannot be updated.Optional: {}
envFrom EnvFromSource arrayList of sources to populate environment variables in the Sidecar.
The keys defined within a source must be a C_IDENTIFIER. All invalid keys
will be reported as an event when the Sidecar is starting. When a key exists in multiple
sources, the value associated with the last source will take precedence.
Values defined by an Env with a duplicate key will take precedence.
Cannot be updated.Optional: {}
env EnvVar arrayList of environment variables to set in the Sidecar.
Cannot be updated.Optional: {}
resources ResourceRequirementsCompute Resources required by this Sidecar.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/Optional: {}
volumeMounts VolumeMount arrayVolumes to mount into the Sidecar's filesystem.
Cannot be updated.Optional: {}
volumeDevices VolumeDevice arrayvolumeDevices is the list of block devices to be used by the Sidecar.Optional: {}
livenessProbe ProbePeriodic probe of Sidecar liveness.
Container will be restarted if the probe fails.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probesOptional: {}
readinessProbe ProbePeriodic probe of Sidecar service readiness.
Container will be removed from service endpoints if the probe fails.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probesOptional: {}
startupProbe ProbeStartupProbe indicates that the Pod the Sidecar is running in has successfully initialized.
If specified, no other probes are executed until this completes successfully.
If this probe fails, the Pod will be restarted, just as if the livenessProbe failed.
This can be used to provide different probe parameters at the beginning of a Pod's lifecycle,
when it might take a long time to load data or warm a cache, than during steady-state operation.
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probesOptional: {}
lifecycle LifecycleActions that the management system should take in response to Sidecar lifecycle events.
Cannot be updated.Optional: {}
terminationMessagePath stringOptional: Path at which the file to which the Sidecar's termination message
will be written is mounted into the Sidecar's filesystem.
Message written is intended to be brief final status, such as an assertion failure message.
Will be truncated by the node if greater than 4096 bytes. The total message length across
all containers will be limited to 12kb.
Defaults to /dev/termination-log.
Cannot be updated.Optional: {}
terminationMessagePolicy TerminationMessagePolicyIndicate how the termination message should be populated. File will use the contents of
terminationMessagePath to populate the Sidecar status message on both success and failure.
FallbackToLogsOnError will use the last chunk of Sidecar log output if the termination
message file is empty and the Sidecar exited with an error.
The log output is limited to 2048 bytes or 80 lines, whichever is smaller.
Defaults to File.
Cannot be updated.Optional: {}
imagePullPolicy PullPolicyImage pull policy.
One of Always, Never, IfNotPresent.
Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/containers/images#updating-imagesOptional: {}
securityContext SecurityContextSecurityContext defines the security options the Sidecar should be run with.
If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.
More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/Optional: {}
stdin booleanWhether this Sidecar should allocate a buffer for stdin in the container runtime. If this
is not set, reads from stdin in the Sidecar will always result in EOF.
Default is false.Optional: {}
stdinOnce booleanWhether the container runtime should close the stdin channel after it has been opened by
a single attach. When stdin is true the stdin stream will remain open across multiple attach
sessions. If stdinOnce is set to true, stdin is opened on Sidecar start, is empty until the
first client attaches to stdin, and then remains open and accepts data until the client disconnects,
at which time stdin is closed and remains closed until the Sidecar is restarted. If this
flag is false, a container processes that reads from stdin will never receive an EOF.
Default is falseOptional: {}
tty booleanWhether this Sidecar should allocate a TTY for itself, also requires 'stdin' to be true.
Default is false.Optional: {}
script stringScript is the contents of an executable file to execute.
If Script is not empty, the Step cannot have an Command or Args.Optional: {}
workspaces WorkspaceUsage arrayThis is an alpha field. You must set the "enable-api-fields" feature flag to "alpha"
for this field to be supported.
Workspaces is a list of workspaces from the Task that this Sidecar wants
exclusive access to. Adding a workspace to this list means that any
other Step or Sidecar that does not also request this Workspace will
not have access to it.Optional: {}
restartPolicy ContainerRestartPolicyRestartPolicy refers to kubernetes RestartPolicy. It can only be set for an
initContainer and must have it's policy set to "Always". It is currently
left optional to help support Kubernetes versions prior to 1.29 when this feature
was introduced.Optional: {}

SidecarState

SidecarState reports the results of running a sidecar in a Task.

Appears in:

FieldDescriptionDefaultValidation
waiting ContainerStateWaitingDetails about a waiting containerOptional: {}
running ContainerStateRunningDetails about a running containerOptional: {}
terminated ContainerStateTerminatedDetails about a terminated containerOptional: {}
name string
container string
imageID string

SkippedTask

SkippedTask is used to describe the Tasks that were skipped due to their When Expressions evaluating to False. This is a struct because we are looking into including more details about the When Expressions that caused this Task to be skipped.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the Pipeline Task name
reason SkippingReasonReason is the cause of the PipelineTask being skipped.
whenExpressions WhenExpression arrayWhenExpressions is the list of checks guarding the execution of the PipelineTaskOptional: {}

SkippingReason

Underlying type: string

SkippingReason explains why a PipelineTask was skipped.

Appears in:

FieldDescription
When Expressions evaluated to falseWhenExpressionsSkip means the task was skipped due to at least one of its when expressions evaluating to false
Parent Tasks were skippedParentTasksSkip means the task was skipped because its parent was skipped
PipelineRun was stoppingStoppingSkip means the task was skipped because the pipeline run is stopping
PipelineRun was gracefully cancelledGracefullyCancelledSkip means the task was skipped because the pipeline run has been gracefully cancelled
PipelineRun was gracefully stoppedGracefullyStoppedSkip means the task was skipped because the pipeline run has been gracefully stopped
Results were missingMissingResultsSkip means the task was skipped because it's missing necessary results
PipelineRun timeout has been reachedPipelineTimedOutSkip means the task was skipped because the PipelineRun has passed its overall timeout.
PipelineRun Tasks timeout has been reachedTasksTimedOutSkip means the task was skipped because the PipelineRun has passed its Timeouts.Tasks.
PipelineRun Finally timeout has been reachedFinallyTimedOutSkip means the task was skipped because the PipelineRun has passed its Timeouts.Finally.
Matrix Parameters have an empty arrayEmptyArrayInMatrixParams means the task was skipped because Matrix parameters contain empty array.
NoneNone means the task was not skipped

Step

Step runs a subcomponent of a Task

Appears in:

FieldDescriptionDefaultValidation
name stringName of the Step specified as a DNS_LABEL.
Each Step in a Task must have a unique name.
displayName stringDisplayName is a user-facing name of the step that may be
used to populate a UI.Optional: {}
image stringImage reference name to run for this Step.
More info: https://kubernetes.io/docs/concepts/containers/imagesOptional: {}
command string arrayEntrypoint array. Not executed within a shell.
The image's ENTRYPOINT is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shellOptional: {}
args string arrayArguments to the entrypoint.
The image's CMD is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shellOptional: {}
workingDir stringStep's working directory.
If not specified, the container runtime's default will be used, which
might be configured in the container image.
Cannot be updated.Optional: {}
ports ContainerPort arrayList of ports to expose from the Step's container. Exposing a port here gives
the system additional information about the network connections a
container uses, but is primarily informational. Not specifying a port here
DOES NOT prevent that port from being exposed. Any port which is
listening on the default "0.0.0.0" address inside a container will be
accessible from the network.
Cannot be updated.
Deprecated: This field will be removed in a future release.Optional: {}
envFrom EnvFromSource arrayList of sources to populate environment variables in the container.
The keys defined within a source must be a C_IDENTIFIER. All invalid keys
will be reported as an event when the container is starting. When a key exists in multiple
sources, the value associated with the last source will take precedence.
Values defined by an Env with a duplicate key will take precedence.
Cannot be updated.Optional: {}
env EnvVar arrayList of environment variables to set in the container.
Cannot be updated.Optional: {}
resources ResourceRequirementsCompute Resources required by this Step.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/Optional: {}
volumeMounts VolumeMount arrayVolumes to mount into the Step's filesystem.
Cannot be updated.Optional: {}
volumeDevices VolumeDevice arrayvolumeDevices is the list of block devices to be used by the Step.Optional: {}
livenessProbe ProbePeriodic probe of container liveness.
Step will be restarted if the probe fails.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
Deprecated: This field will be removed in a future release.Optional: {}
readinessProbe ProbePeriodic probe of container service readiness.
Step will be removed from service endpoints if the probe fails.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
Deprecated: This field will be removed in a future release.Optional: {}
startupProbe ProbeDeprecatedStartupProbe indicates that the Pod this Step runs in has successfully initialized.
If specified, no other probes are executed until this completes successfully.
If this probe fails, the Pod will be restarted, just as if the livenessProbe failed.
This can be used to provide different probe parameters at the beginning of a Pod's lifecycle,
when it might take a long time to load data or warm a cache, than during steady-state operation.
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
Deprecated: This field will be removed in a future release.Optional: {}
lifecycle LifecycleActions that the management system should take in response to container lifecycle events.
Cannot be updated.
Deprecated: This field will be removed in a future release.Optional: {}
terminationMessagePath stringDeprecated: This field will be removed in a future release and can't be meaningfully used.Optional: {}
terminationMessagePolicy TerminationMessagePolicyDeprecated: This field will be removed in a future release and can't be meaningfully used.Optional: {}
imagePullPolicy PullPolicyImage pull policy.
One of Always, Never, IfNotPresent.
Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/containers/images#updating-imagesOptional: {}
securityContext SecurityContextSecurityContext defines the security options the Step should be run with.
If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.
More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/Optional: {}
stdin booleanWhether this container should allocate a buffer for stdin in the container runtime. If this
is not set, reads from stdin in the container will always result in EOF.
Default is false.
Deprecated: This field will be removed in a future release.Optional: {}
stdinOnce booleanWhether the container runtime should close the stdin channel after it has been opened by
a single attach. When stdin is true the stdin stream will remain open across multiple attach
sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the
first client attaches to stdin, and then remains open and accepts data until the client disconnects,
at which time stdin is closed and remains closed until the container is restarted. If this
flag is false, a container processes that reads from stdin will never receive an EOF.
Default is false
Deprecated: This field will be removed in a future release.Optional: {}
tty booleanWhether this container should allocate a DeprecatedTTY for itself, also requires 'stdin' to be true.
Default is false.
Deprecated: This field will be removed in a future release.Optional: {}
script stringScript is the contents of an executable file to execute.
If Script is not empty, the Step cannot have an Command and the Args will be passed to the Script.Optional: {}
timeout DurationTimeout is the time after which the step times out. Defaults to never.
Refer to Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDurationOptional: {}
workspaces WorkspaceUsage arrayThis is an alpha field. You must set the "enable-api-fields" feature flag to "alpha"
for this field to be supported.
Workspaces is a list of workspaces from the Task that this Step wants
exclusive access to. Adding a workspace to this list means that any
other Step or Sidecar that does not also request this Workspace will
not have access to it.Optional: {}
onError OnErrorTypeOnError defines the exiting behavior of a container on error
can be set to [ continue | stopAndFail ]
stdoutConfig StepOutputConfigStores configuration for the stdout stream of the step.Optional: {}
stderrConfig StepOutputConfigStores configuration for the stderr stream of the step.Optional: {}
ref RefContains the reference to an existing StepAction.Optional: {}
params ParamsParams declares parameters passed to this step action.Optional: {}
results StepResult arrayResults declares StepResults produced by the Step.
It can be used in an inlined Step when used to store Results to $(step.results.resultName.path).
It cannot be used when referencing StepActions using [v1beta1.Step.Ref].
The Results declared by the StepActions will be stored here instead.Optional: {}
when StepWhenExpressions

StepAction

StepAction represents the actionable components of Step. The Step can only reference it from the cluster or using remote resolution.

FieldDescriptionDefaultValidation
apiVersion stringtekton.dev/v1beta1
kind stringStepAction
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec StepActionSpecSpec holds the desired state of the Step from the clientOptional: {}

StepActionSpec

StepActionSpec contains the actionable components of a step.

Appears in:

FieldDescriptionDefaultValidation
description stringDescription is a user-facing description of the stepaction that may be
used to populate a UI.Optional: {}
image stringImage reference name to run for this StepAction.
More info: https://kubernetes.io/docs/concepts/containers/imagesOptional: {}
command string arrayEntrypoint array. Not executed within a shell.
The image's ENTRYPOINT is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shellOptional: {}
args ArgsArguments to the entrypoint.
The image's CMD is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shellOptional: {}
env EnvVar arrayList of environment variables to set in the container.
Cannot be updated.Optional: {}
script stringScript is the contents of an executable file to execute.
If Script is not empty, the Step cannot have an Command and the Args will be passed to the Script.Optional: {}
workingDir stringStep's working directory.
If not specified, the container runtime's default will be used, which
might be configured in the container image.
Cannot be updated.Optional: {}
params ParamSpecsParams is a list of input parameters required to run the stepAction.
Params must be supplied as inputs in Steps unless they declare a defaultvalue.Optional: {}
results StepResult arrayResults are values that this StepAction can outputOptional: {}
securityContext SecurityContextSecurityContext defines the security options the Step should be run with.
If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.
More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
The value set in StepAction will take precedence over the value from Task.Optional: {}
volumeMounts VolumeMount arrayVolumes to mount into the Step's filesystem.
Cannot be updated.Optional: {}

StepOutputConfig

StepOutputConfig stores configuration for a step output stream.

Appears in:

FieldDescriptionDefaultValidation
path stringPath to duplicate stdout stream to on container's local filesystem.Optional: {}

StepState

StepState reports the results of running a step in a Task.

Appears in:

FieldDescriptionDefaultValidation
waiting ContainerStateWaitingDetails about a waiting containerOptional: {}
running ContainerStateRunningDetails about a running containerOptional: {}
terminated ContainerStateTerminatedDetails about a terminated containerOptional: {}
name string
container string
imageID string
results TaskRunStepResult array
provenance Provenance
inputs TaskRunStepArtifact array
outputs TaskRunStepArtifact array

StepTemplate

StepTemplate is a template for a Step

Appears in:

FieldDescriptionDefaultValidation
name stringDefault name for each Step specified as a DNS_LABEL.
Each Step in a Task must have a unique name.
Cannot be updated.
Deprecated: This field will be removed in a future release.Optional: {}
image stringDefault image name to use for each Step.
More info: https://kubernetes.io/docs/concepts/containers/images
This field is optional to allow higher level config management to default or override
container images in workload controllers like Deployments and StatefulSets.Optional: {}
command string arrayEntrypoint array. Not executed within a shell.
The docker image's ENTRYPOINT is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the Step's environment. If a variable
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shellOptional: {}
args string arrayArguments to the entrypoint.
The image's CMD is used if this is not provided.
Variable references $(VAR_NAME) are expanded using the Step's environment. If a variable
cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shellOptional: {}
workingDir stringStep's working directory.
If not specified, the container runtime's default will be used, which
might be configured in the container image.
Cannot be updated.Optional: {}
ports ContainerPort arrayList of ports to expose from the Step's container. Exposing a port here gives
the system additional information about the network connections a
container uses, but is primarily informational. Not specifying a port here
DOES NOT prevent that port from being exposed. Any port which is
listening on the default "0.0.0.0" address inside a container will be
accessible from the network.
Cannot be updated.
Deprecated: This field will be removed in a future release.Optional: {}
envFrom EnvFromSource arrayList of sources to populate environment variables in the Step.
The keys defined within a source must be a C_IDENTIFIER. All invalid keys
will be reported as an event when the container is starting. When a key exists in multiple
sources, the value associated with the last source will take precedence.
Values defined by an Env with a duplicate key will take precedence.
Cannot be updated.Optional: {}
env EnvVar arrayList of environment variables to set in the container.
Cannot be updated.Optional: {}
resources ResourceRequirementsCompute Resources required by this Step.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/Optional: {}
volumeMounts VolumeMount arrayVolumes to mount into the Step's filesystem.
Cannot be updated.Optional: {}
volumeDevices VolumeDevice arrayvolumeDevices is the list of block devices to be used by the Step.Optional: {}
livenessProbe ProbePeriodic probe of container liveness.
Container will be restarted if the probe fails.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
Deprecated: This field will be removed in a future release.Optional: {}
readinessProbe ProbePeriodic probe of container service readiness.
Container will be removed from service endpoints if the probe fails.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
Deprecated: This field will be removed in a future release.Optional: {}
startupProbe ProbeDeprecatedStartupProbe indicates that the Pod has successfully initialized.
If specified, no other probes are executed until this completes successfully.
If this probe fails, the Pod will be restarted, just as if the livenessProbe failed.
This can be used to provide different probe parameters at the beginning of a Pod's lifecycle,
when it might take a long time to load data or warm a cache, than during steady-state operation.
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
Deprecated: This field will be removed in a future release.Optional: {}
lifecycle LifecycleActions that the management system should take in response to container lifecycle events.
Cannot be updated.
Deprecated: This field will be removed in a future release.Optional: {}
terminationMessagePath stringDeprecated: This field will be removed in a future release and cannot be meaningfully used.Optional: {}
terminationMessagePolicy TerminationMessagePolicyDeprecated: This field will be removed in a future release and cannot be meaningfully used.Optional: {}
imagePullPolicy PullPolicyImage pull policy.
One of Always, Never, IfNotPresent.
Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/containers/images#updating-imagesOptional: {}
securityContext SecurityContextSecurityContext defines the security options the Step should be run with.
If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.
More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/Optional: {}
stdin booleanWhether this Step should allocate a buffer for stdin in the container runtime. If this
is not set, reads from stdin in the Step will always result in EOF.
Default is false.
Deprecated: This field will be removed in a future release.Optional: {}
stdinOnce booleanWhether the container runtime should close the stdin channel after it has been opened by
a single attach. When stdin is true the stdin stream will remain open across multiple attach
sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the
first client attaches to stdin, and then remains open and accepts data until the client disconnects,
at which time stdin is closed and remains closed until the container is restarted. If this
flag is false, a container processes that reads from stdin will never receive an EOF.
Default is false
Deprecated: This field will be removed in a future release.Optional: {}
tty booleanWhether this Step should allocate a DeprecatedTTY for itself, also requires 'stdin' to be true.
Default is false.
Deprecated: This field will be removed in a future release.Optional: {}

Task

Task represents a collection of sequential steps that are run as part of a Pipeline using a set of inputs and producing a set of outputs. Tasks execute when TaskRuns are created that provide the input parameters and resources and output resources the Task requires.

Deprecated: Please use v1.Task instead.

FieldDescriptionDefaultValidation
apiVersion stringtekton.dev/v1beta1
kind stringTask
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec TaskSpecSpec holds the desired state of the Task from the clientOptional: {}

TaskBreakpoints

TaskBreakpoints defines the breakpoint config for a particular Task

Appears in:

FieldDescriptionDefaultValidation
onFailure stringif enabled, pause TaskRun on failure of a step
failed step will not exitOptional: {}
beforeSteps string arrayOptional: {}

TaskKind

Underlying type: string

TaskKind defines the type of Task used by the pipeline.

Appears in:

FieldDescription
TaskNamespacedTaskKind indicates that the task type has a namespaced scope.

TaskRef

TaskRef can be used to refer to a specific instance of a task.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names
kind TaskKindTaskKind indicates the Kind of the Task:
  1. Namespaced Task when Kind is set to "Task". If Kind is "", it defaults to "Task".
  2. Custom Task when Kind is non-empty and APIVersion is non-empty | | | | apiVersion string | API version of the referent Note: A Task with non-empty APIVersion and Kind is considered a Custom Task | | Optional: {} | | bundle string | Bundle url reference to a Tekton Bundle. Deprecated: Please use ResolverRef with the bundles resolver instead. The field is staying there for go client backward compatibility, but is not used/allowed anymore. | | Optional: {} | | ResolverRef ResolverRef | ResolverRef allows referencing a Task in a remote location like a git repo. This field is only supported when the alpha feature gate is enabled. | | Optional: {} |

TaskResource

TaskResource defines an input or output Resource declared as a requirement by a Task. The Name field will be used to refer to these Resources within the Task definition, and when provided as an Input, the Name will be the path to the volume mounted containing this Resource as an input (e.g. an input Resource named workspace will be mounted at /workspace).

Deprecated: Unused, preserved only for backwards compatibility

Appears in:

TaskResourceBinding

TaskResourceBinding points to the PipelineResource that will be used for the Task input or output called Name.

Deprecated: Unused, preserved only for backwards compatibility

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the PipelineResource in the Pipeline's declaration
resourceRef PipelineResourceRefResourceRef is a reference to the instance of the actual PipelineResource
that should be usedOptional: {}
resourceSpec PipelineResourceSpecResourceSpec is specification of a resource that should be created and
consumed by the taskOptional: {}
paths string arrayPaths will probably be removed in #1284, and then PipelineResourceBinding can be used instead.
The optional Path field corresponds to a path on disk at which the Resource can be found
(used when providing the resource via mounted volume, overriding the default logic to fetch the Resource).Optional: {}

TaskResources

TaskResources allows a Pipeline to declare how its DeclaredPipelineResources should be provided to a Task as its inputs and outputs.

Deprecated: Unused, preserved only for backwards compatibility

Appears in:

FieldDescriptionDefaultValidation
inputs TaskResource arrayInputs holds the mapping from the PipelineResources declared in
DeclaredPipelineResources to the input PipelineResources required by the Task.
outputs TaskResource arrayOutputs holds the mapping from the PipelineResources declared in
DeclaredPipelineResources to the input PipelineResources required by the Task.

TaskResult

TaskResult used to describe the results of a task

Appears in:

FieldDescriptionDefaultValidation
name stringName the given name
type ResultsTypeType is the user-specified type of the result. The possible type
is currently "string" and will support "array" in following work.Optional: {}
properties object (keys:string, values:PropertySpec)Properties is the JSON Schema properties to support key-value pairs results.Optional: {}
description stringDescription is a human-readable description of the resultOptional: {}
value ResultValueValue the expression used to retrieve the value of the result from an underlying Step.Schemaless: {}
Optional: {}

TaskRun

TaskRun represents a single execution of a Task. TaskRuns are how the steps specified in a Task are executed; they specify the parameters and resources used to run the steps in a Task.

Deprecated: Please use v1.TaskRun instead.

FieldDescriptionDefaultValidation
apiVersion stringtekton.dev/v1beta1
kind stringTaskRun
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec TaskRunSpecOptional: {}
status TaskRunStatusOptional: {}

TaskRunDebug

TaskRunDebug defines the breakpoint config for a particular TaskRun

Appears in:

FieldDescriptionDefaultValidation
breakpoints TaskBreakpointsOptional: {}

TaskRunResources

TaskRunResources allows a TaskRun to declare inputs and outputs TaskResourceBinding

Deprecated: Unused, preserved only for backwards compatibility

Appears in:

FieldDescriptionDefaultValidation
inputs TaskResourceBinding arrayInputs holds the inputs resources this task was invoked with
outputs TaskResourceBinding arrayOutputs holds the inputs resources this task was invoked with

TaskRunResult

TaskRunResult used to describe the results of a task

Appears in:

FieldDescriptionDefaultValidation
name stringName the given name
type ResultsTypeType is the user-specified type of the result. The possible type
is currently "string" and will support "array" in following work.Optional: {}
value ResultValueValue the given value of the resultSchemaless: {}

TaskRunSidecarOverride

TaskRunSidecarOverride is used to override the values of a Sidecar in the corresponding Task.

Appears in:

FieldDescriptionDefaultValidation
name stringThe name of the Sidecar to override.
resources ResourceRequirementsThe resource requirements to apply to the Sidecar.

TaskRunSpec

TaskRunSpec defines the desired state of TaskRun

Appears in:

FieldDescriptionDefaultValidation
debug TaskRunDebugOptional: {}
params ParamsOptional: {}
resources TaskRunResourcesDeprecated: Unused, preserved only for backwards compatibilityOptional: {}
serviceAccountName stringOptional: {}
taskRef TaskRefno more than one of the TaskRef and TaskSpec may be specified.Optional: {}
taskSpec TaskSpecSpecifying TaskSpec can be disabled by setting
disable-inline-spec feature flag.
See Task.spec (API version: tekton.dev/v1beta1)Schemaless: {}
Optional: {}
status TaskRunSpecStatusUsed for cancelling a TaskRun (and maybe more later on)Optional: {}
statusMessage TaskRunSpecStatusMessageStatus message for cancellation.Optional: {}
retries integerRetries represents how many times this TaskRun should be retried in the event of Task failure.Optional: {}
timeout DurationTime after which one retry attempt times out. Defaults to 1 hour.
Refer Go's ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDurationOptional: {}
podTemplate PodTemplatePodTemplate holds pod specific configuration
workspaces WorkspaceBinding arrayWorkspaces is a list of WorkspaceBindings from volumes to workspaces.Optional: {}
stepOverrides TaskRunStepOverride arrayOverrides to apply to Steps in this TaskRun.
If a field is specified in both a Step and a StepOverride,
the value from the StepOverride will be used.
This field is only supported when the alpha feature gate is enabled.Optional: {}
sidecarOverrides TaskRunSidecarOverride arrayOverrides to apply to Sidecars in this TaskRun.
If a field is specified in both a Sidecar and a SidecarOverride,
the value from the SidecarOverride will be used.
This field is only supported when the alpha feature gate is enabled.Optional: {}
computeResources ResourceRequirementsCompute resources to use for this TaskRun
managedBy stringManagedBy 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.Optional: {}

TaskRunSpecStatus

Underlying type: string

TaskRunSpecStatus defines the TaskRun spec status the user can provide

Appears in:

TaskRunSpecStatusMessage

Underlying type: string

TaskRunSpecStatusMessage defines human readable status messages for the TaskRun.

Appears in:

FieldDescription
TaskRun cancelled as the PipelineRun it belongs to has been cancelled.TaskRunCancelledByPipelineMsg indicates that the PipelineRun of which this
TaskRun was a part of has been cancelled.
TaskRun cancelled as the PipelineRun it belongs to has timed out.TaskRunCancelledByPipelineTimeoutMsg indicates that the TaskRun was cancelled because the PipelineRun running it timed out.

TaskRunStatus

TaskRunStatus defines the observed state of TaskRun

Appears in:

FieldDescriptionDefaultValidation
observedGeneration integerObservedGeneration is the 'Generation' of the Service that
was last processed by the controller.Optional: {}
conditions ConditionsConditions the latest available observations of a resource's current state.Optional: {}
annotations object (keys:string, values:string)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.
podName stringPodName is the name of the pod responsible for executing this task's steps.
startTime TimeStartTime is the time the build is actually started.
completionTime TimeCompletionTime is the time the build completed.
steps StepState arraySteps describes the state of each build step container.Optional: {}
cloudEvents CloudEventDelivery arrayCloudEvents describe the state of each cloud event requested via a
CloudEventResource.
Deprecated: No content written to it. To be Removed (since v0.44.0).
Use kubectl describe (CloudEventSent/CloudEventFailed k8s Events) or the
tekton_events_sent_total Prometheus metric for delivery visibility instead.Optional: {}
retriesStatus RetriesStatusRetriesStatus contains the history of TaskRunStatus in case of a retry in order to keep record of failures.
All TaskRunStatus stored in RetriesStatus will have no date within the RetriesStatus as is redundant.
See TaskRun.status (API version: tekton.dev/v1beta1)Schemaless: {}
Optional: {}
resourcesResult PipelineResourceResult arrayResults from Resources built during the TaskRun.
This is tomb-stoned along with the removal of pipelineResources
Deprecated: this field is not populated and is preserved only for backwards compatibilityOptional: {}
taskResults TaskRunResult arrayTaskRunResults are the list of results written out by the task's containersOptional: {}
sidecars SidecarState arrayThe list has one entry per sidecar in the manifest. Each entry is
represents the imageid of the corresponding sidecar.
taskSpec TaskSpecTaskSpec contains the Spec from the dereferenced Task definition used to instantiate this TaskRun.
See Task.spec (API version tekton.dev/v1beta1)Schemaless: {}
provenance ProvenanceProvenance contains some key authenticated metadata about how a software artifact was built (what sources, what inputs/outputs, etc.).Optional: {}
spanContext object (keys:string, values:string)SpanContext contains tracing span context fields

TaskRunStatusFields

TaskRunStatusFields holds the fields of TaskRun's status. This is defined separately and inlined so that other types can readily consume these fields via duck typing.

Appears in:

FieldDescriptionDefaultValidation
podName stringPodName is the name of the pod responsible for executing this task's steps.
startTime TimeStartTime is the time the build is actually started.
completionTime TimeCompletionTime is the time the build completed.
steps StepState arraySteps describes the state of each build step container.Optional: {}
cloudEvents CloudEventDelivery arrayCloudEvents describe the state of each cloud event requested via a
CloudEventResource.
Deprecated: No content written to it. To be Removed (since v0.44.0).
Use kubectl describe (CloudEventSent/CloudEventFailed k8s Events) or the
tekton_events_sent_total Prometheus metric for delivery visibility instead.Optional: {}
retriesStatus RetriesStatusRetriesStatus contains the history of TaskRunStatus in case of a retry in order to keep record of failures.
All TaskRunStatus stored in RetriesStatus will have no date within the RetriesStatus as is redundant.
See TaskRun.status (API version: tekton.dev/v1beta1)Schemaless: {}
Optional: {}
resourcesResult PipelineResourceResult arrayResults from Resources built during the TaskRun.
This is tomb-stoned along with the removal of pipelineResources
Deprecated: this field is not populated and is preserved only for backwards compatibilityOptional: {}
taskResults TaskRunResult arrayTaskRunResults are the list of results written out by the task's containersOptional: {}
sidecars SidecarState arrayThe list has one entry per sidecar in the manifest. Each entry is
represents the imageid of the corresponding sidecar.
taskSpec TaskSpecTaskSpec contains the Spec from the dereferenced Task definition used to instantiate this TaskRun.
See Task.spec (API version tekton.dev/v1beta1)Schemaless: {}
provenance ProvenanceProvenance contains some key authenticated metadata about how a software artifact was built (what sources, what inputs/outputs, etc.).Optional: {}
spanContext object (keys:string, values:string)SpanContext contains tracing span context fields

TaskRunStepOverride

TaskRunStepOverride is used to override the values of a Step in the corresponding Task.

Appears in:

FieldDescriptionDefaultValidation
name stringThe name of the Step to override.
resources ResourceRequirementsThe resource requirements to apply to the Step.

TaskSpec

TaskSpec defines the desired state of Task.

Appears in:

FieldDescriptionDefaultValidation
resources TaskResourcesResources is a list input and output resource to run the task
Resources are represented in TaskRuns as bindings to instances of
PipelineResources.
Deprecated: Unused, preserved only for backwards compatibilityOptional: {}
params ParamSpecsParams 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.Optional: {}
displayName stringDisplayName is a user-facing name of the task that may be
used to populate a UI.Optional: {}
description stringDescription is a user-facing description of the task that may be
used to populate a UI.Optional: {}
steps Step arraySteps are the steps of the build; each step is run sequentially with the
source mounted into /workspace.
volumes VolumesVolumes is a collection of volumes that are available to mount into the
steps of the build.
See Pod.spec.volumes (API version: v1)Schemaless: {}
stepTemplate StepTemplateStepTemplate can be used as the basis for all step containers within the
Task, so that the steps inherit settings on the base container.
sidecars Sidecar arraySidecars are run alongside the Task's step containers. They begin before
the steps start and end after the steps complete.
workspaces WorkspaceDeclaration arrayWorkspaces are the volumes that this Task requires.
results TaskResult arrayResults are values that this Task can output

TimeoutFields

TimeoutFields allows granular specification of pipeline, task, and finally timeouts

Appears in:

FieldDescriptionDefaultValidation
pipeline DurationPipeline sets the maximum allowed duration for execution of the entire pipeline. The sum of individual timeouts for tasks and finally must not exceed this value.
tasks DurationTasks sets the maximum allowed duration of this pipeline's tasks
finally DurationFinally sets the maximum allowed duration of this pipeline's finally

Volumes

Underlying type: Volume

Appears in:

FieldDescriptionDefaultValidation
name stringname of the volume.
Must be a DNS_LABEL and unique within the pod.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
hostPath HostPathVolumeSourcehostPath represents a pre-existing file or directory on the host
machine that is directly exposed to the container. This is generally
used for system agents or other privileged things that are allowed
to see the host machine. Most containers will NOT need this.
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpathOptional: {}
emptyDir EmptyDirVolumeSourceemptyDir represents a temporary directory that shares a pod's lifetime.
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydirOptional: {}
gcePersistentDisk GCEPersistentDiskVolumeSourcegcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdiskOptional: {}
awsElasticBlockStore AWSElasticBlockStoreVolumeSourceawsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstoreOptional: {}
gitRepo GitRepoVolumeSourcegitRepo represents a git repository at a particular revision.
Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.Optional: {}
secret SecretVolumeSourcesecret represents a secret that should populate this volume.
More info: https://kubernetes.io/docs/concepts/storage/volumes#secretOptional: {}
nfs NFSVolumeSourcenfs represents an NFS mount on the host that shares a pod's lifetime
More info: https://kubernetes.io/docs/concepts/storage/volumes#nfsOptional: {}
iscsi ISCSIVolumeSourceiscsi represents an ISCSI Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
More info: https://kubernetes.io/docs/concepts/storage/volumes/#iscsiOptional: {}
glusterfs GlusterfsVolumeSourceglusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.Optional: {}
persistentVolumeClaim PersistentVolumeClaimVolumeSourcepersistentVolumeClaimVolumeSource represents a reference to a
PersistentVolumeClaim in the same namespace.
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaimsOptional: {}
rbd RBDVolumeSourcerbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.Optional: {}
flexVolume FlexVolumeSourceflexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.Optional: {}
cinder CinderVolumeSourcecinder represents a cinder volume attached and mounted on kubelets host machine.
Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.mdOptional: {}
cephfs CephFSVolumeSourcecephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.Optional: {}
flocker FlockerVolumeSourceflocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.Optional: {}
downwardAPI DownwardAPIVolumeSourcedownwardAPI represents downward API about the pod that should populate this volumeOptional: {}
fc FCVolumeSourcefc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.Optional: {}
azureFile AzureFileVolumeSourceazureFile represents an Azure File Service mount on the host and bind mount to the pod.
Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
are redirected to the file.csi.azure.com CSI driver.Optional: {}
configMap ConfigMapVolumeSourceconfigMap represents a configMap that should populate this volumeOptional: {}
vsphereVolume VsphereVirtualDiskVolumeSourcevsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
are redirected to the csi.vsphere.vmware.com CSI driver.Optional: {}
quobyte QuobyteVolumeSourcequobyte represents a Quobyte mount on the host that shares a pod's lifetime.
Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.Optional: {}
azureDisk AzureDiskVolumeSourceazureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
are redirected to the disk.csi.azure.com CSI driver.Optional: {}
photonPersistentDisk PhotonPersistentDiskVolumeSourcephotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
projected ProjectedVolumeSourceprojected items for all in one resources secrets, configmaps, and downward API
portworxVolume PortworxVolumeSourceportworxVolume represents a portworx volume attached and mounted on kubelets host machine.
Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
is on.Optional: {}
scaleIO ScaleIOVolumeSourcescaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.Optional: {}
storageos StorageOSVolumeSourcestorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.Optional: {}
csi CSIVolumeSourcecsi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.Optional: {}
ephemeral EphemeralVolumeSourceephemeral represents a volume that is handled by a cluster storage driver.
The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
and deleted when the pod is removed.
Use this if:
a) the volume is only needed while the pod runs,
b) features of normal volumes like restoring from snapshot or capacity
tracking are needed,
c) the storage driver is specified through a storage class, and
d) the storage driver supports dynamic volume provisioning through
a PersistentVolumeClaim (see EphemeralVolumeSource for more
information on the connection between this volume type
and PersistentVolumeClaim).
Use PersistentVolumeClaim or one of the vendor-specific
APIs for volumes that persist for longer than the lifecycle
of an individual pod.
Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
be used that way - see the documentation of the driver for
more information.
A pod can use both types of ephemeral volumes and
persistent volumes at the same time.Optional: {}
image ImageVolumeSourceimage represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine.
The volume is resolved at pod startup depending on which PullPolicy value is provided:
  • Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails.
  • Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present.
  • IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails. The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro) and non-executable files (noexec). Sub path mounts for containers are not supported (spec.containers[].volumeMounts.subpath) before 1.33. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type. | | Optional: {} |

WhenExpression

WhenExpression allows a PipelineTask to declare expressions to be evaluated before the Task is run to determine whether the Task should be executed or skipped

Appears in:

FieldDescriptionDefaultValidation
input stringInput is the string for guard checking which can be a static input or an output from a parent Task
operator OperatorOperator that represents an Input's relationship to the values
values string arrayValues is an array of strings, which is compared against the input, for guard checking
It must be non-empty
cel stringCEL is a string of Common Language Expression, which can be used to conditionally execute
the task based on the result of the expression evaluation
More info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.mdOptional: {}

WhenExpressions

Underlying type: WhenExpression

WhenExpressions are used to specify whether a Task should be executed or skipped All of them need to evaluate to True for a guarded Task to be executed.

Appears in:

FieldDescriptionDefaultValidation
input stringInput is the string for guard checking which can be a static input or an output from a parent Task
operator OperatorOperator that represents an Input's relationship to the values
values string arrayValues is an array of strings, which is compared against the input, for guard checking
It must be non-empty
cel stringCEL is a string of Common Language Expression, which can be used to conditionally execute
the task based on the result of the expression evaluation
More info about CEL syntax: https://github.com/google/cel-spec/blob/master/doc/langdef.mdOptional: {}

WorkspaceBinding

WorkspaceBinding maps a Task's declared workspace to a Volume.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the workspace populated by the volume.
subPath stringSubPath is optionally a directory on the volume which should be used
for this binding (i.e. the volume will be mounted at this sub directory).Optional: {}
volumeClaimTemplate PersistentVolumeClaimVolumeClaimTemplate is a template for a claim that will be created in the same namespace.
The PipelineRun controller is responsible for creating a unique claim for each instance of PipelineRun.
See PersistentVolumeClaim (API version: v1)Schemaless: {}
Optional: {}
persistentVolumeClaim PersistentVolumeClaimVolumeSourcePersistentVolumeClaimVolumeSource represents a reference to a
PersistentVolumeClaim in the same namespace. Either this OR EmptyDir can be used.Optional: {}
emptyDir EmptyDirVolumeSourceEmptyDir represents a temporary directory that shares a Task's lifetime.
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
Either this OR PersistentVolumeClaim can be used.Optional: {}
configMap ConfigMapVolumeSourceConfigMap represents a configMap that should populate this workspace.Optional: {}
secret SecretVolumeSourceSecret represents a secret that should populate this workspace.Optional: {}
projected ProjectedVolumeSourceProjected represents a projected volume that should populate this workspace.Optional: {}
csi CSIVolumeSourceCSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.Optional: {}

WorkspaceDeclaration

WorkspaceDeclaration is a declaration of a volume that a Task requires.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name by which you can bind the volume at runtime.
description stringDescription is an optional human readable description of this volume.Optional: {}
mountPath stringMountPath overrides the directory that the volume will be made available at.Optional: {}
readOnly booleanReadOnly dictates whether a mounted volume is writable. By default this
field is false and so mounted volumes are writable.
optional booleanOptional marks a Workspace as not being required in TaskRuns. By default
this field is false and so declared workspaces are required.

WorkspacePipelineTaskBinding

WorkspacePipelineTaskBinding describes how a workspace passed into the pipeline should be mapped to a task's declared workspace.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the workspace as declared by the task
workspace stringWorkspace is the name of the workspace declared by the pipelineOptional: {}
subPath stringSubPath is optionally a directory on the volume which should be used
for this binding (i.e. the volume will be mounted at this sub directory).Optional: {}

WorkspaceUsage

WorkspaceUsage is used by a Step or Sidecar to declare that it wants isolated access to a Workspace defined in a Task.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the workspace this Step or Sidecar wants access to.
mountPath stringMountPath is the path that the workspace should be mounted to inside the Step or Sidecar,
overriding any MountPath specified in the Task's WorkspaceDeclaration.