Skip to content

Latest commit

 

History

History
114 lines (91 loc) · 3.99 KB

labels.md

File metadata and controls

114 lines (91 loc) · 3.99 KB

Labels

Tekton allows you to use custom Kubernetes Labels to easily mark Tekton entities belonging to the same conceptual execution chain. Tekton also automatically adds select labels to more easily identify resource relationships. This document describes the label propagation scheme, automatic labeling, and provides usage examples.



Label propagation

Labels propagate among Tekton entities as follows:

  • For Pipelines instantiated using a PipelineRun, labels propagate automatically from Pipelines to PipelineRuns to TaskRuns, and then to the associated Pods.

  • Labels from Tasks referenced by TaskRuns within a PipelineRun propagate to the corresponding TaskRuns, and then to the associated Pods.

  • For standalone TaskRuns (that is, ones not executing as part of a Pipeline), labels propagate from the referenced Task, if one exists, to the corresponding TaskRun, and then to the associated Pod.

  • For Conditions, labels propagate to the corresponding TaskRuns, and then to the associated Pods.

Automatic labeling

Tekton automatically adds labels to Tekton entities as described in the following table.

Note: *.tekton.dev labels are reserved for Tekton's internal use only. Do not add or remove them manually.

Label Added To Propagates To Contains
tekton.dev/pipeline PipelineRuns TaskRuns, Pods Name of the Pipeline that the PipelineRun references.
tekton.dev/pipelineRun TaskRuns that are created automatically during the execution of a PipelineRun. TaskRuns, Pods Name of the PipelineRun that triggered the creation of the TaskRun.
tekton.dev/task TaskRuns that reference an existing Task. Pods Name of the Task that the TaskRun references.
tekton.dev/clusterTask TaskRuns that reference an existing ClusterTask. Pods Name of the ClusterTask that the TaskRun references.
tekton.dev/taskRun Pods No propagation. Name of the TaskRun that created the Pod.
app.kubernetes.io/instance, app.kubernetes.io/component Pods, StatefulSets (Affinity Assistant) No propagation. Pod affinity values for TaskRuns.

Note: For backward compatibility, TaskRuns that reference a ClusterTask also get the tekton.dev/task label.

Usage examples

Below are some examples of using labels:

The following command finds all Pods created by a PipelineRun named test-pipelinerun:

kubectl get pods --all-namespaces -l tekton.dev/pipelineRun=test-pipelinerun

The following command finds all TaskRuns that reference a Task named test-task:

kubectl get taskruns --all-namespaces -l tekton.dev/task=test-task

The following command finds all TaskRuns that reference a ClusterTask named test-clustertask:

kubectl get taskruns --all-namespaces -l tekton.dev/clusterTask=test-clustertask