tekton.dev / v1beta1 / CustomRun
- string
.apiVersion
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- string
.kind
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- object
.metadata
- object
.spec
CustomRunSpec defines the desired state of CustomRun
- object
.spec .customRef
TaskRef can be used to refer to a specific instance of a task.
- string
.spec .customRef .apiVersion
API version of the referent Note: A Task with non-empty APIVersion and Kind is considered a Custom Task
- string
.spec .customRef .bundle
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.
- string
.spec .customRef .kind
TaskKind indicates the Kind of the Task:
- Namespaced Task when Kind is set to “Task”. If Kind is “”, it defaults to “Task”.
- Custom Task when Kind is non-empty and APIVersion is non-empty
- string
.spec .customRef .name
Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names
- array
.spec .customRef .params
Params 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.
- string required
.spec .customRef .params[] .name
- undefined required
.spec .customRef .params[] .value
- string
.spec .customRef .resolver
Resolver is the name of the resolver that should perform resolution of the referenced Tekton resource, such as “git”.
- object
.spec .customSpec
Spec is a specification of a custom task
- string
.spec .customSpec .apiVersion
- string
.spec .customSpec .kind
- object
.spec .customSpec .metadata
PipelineTaskMetadata contains the labels or annotations for an EmbeddedTask
- object
.spec .customSpec .metadata .annotations
- object
.spec .customSpec .metadata .labels
- object
.spec .customSpec .spec
Spec is a specification of a custom task
- array
.spec .params
Params is a list of Param
- string required
.spec .params[] .name
- undefined required
.spec .params[] .value
- integer
.spec .retries
Used for propagating retries count to custom tasks
- string
.spec .serviceAccountName
- string
.spec .status
Used for cancelling a customrun (and maybe more later on)
- string
.spec .statusMessage
Status message for cancellation.
- string
.spec .timeout
Time after which the custom-task times out. Refer Go’s ParseDuration documentation for expected format: https://golang.org/pkg/time/#ParseDuration
- array
.spec .workspaces
Workspaces is a list of WorkspaceBindings from volumes to workspaces.
- object
.spec .workspaces[] .configMap
ConfigMap represents a configMap that should populate this workspace.
- integer
.spec .workspaces[] .configMap .defaultMode
defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
- array
.spec .workspaces[] .configMap .items
items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the ‘..’ path or start with ‘..’.
- string required
.spec .workspaces[] .configMap .items[] .key
key is the key to project.
- integer
.spec .workspaces[] .configMap .items[] .mode
mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
- string required
.spec .workspaces[] .configMap .items[] .path
path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element ‘..’. May not start with the string ‘..’.
- string
.spec .workspaces[] .configMap .name
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- boolean
.spec .workspaces[] .configMap .optional
optional specify whether the ConfigMap or its keys must be defined
- object
.spec .workspaces[] .csi
CSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.
- string required
.spec .workspaces[] .csi .driver
driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.
- string
.spec .workspaces[] .csi .fsType
fsType to mount. Ex. “ext4”, “xfs”, “ntfs”. If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.
- object
.spec .workspaces[] .csi .nodePublishSecretRef
nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed.
- string
.spec .workspaces[] .csi .nodePublishSecretRef .name
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- boolean
.spec .workspaces[] .csi .readOnly
readOnly specifies a read-only configuration for the volume. Defaults to false (read/write).
- object
.spec .workspaces[] .csi .volumeAttributes
volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver’s documentation for supported values.
- object
.spec .workspaces[] .emptyDir
EmptyDir 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.
- string
.spec .workspaces[] .emptyDir .medium
medium represents what type of storage medium should back this directory. The default is “” which means to use the node’s default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
- integer | string
.spec .workspaces[] .emptyDir .sizeLimit
sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
- string required
.spec .workspaces[] .name
Name is the name of the workspace populated by the volume.
- object
.spec .workspaces[] .persistentVolumeClaim
PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. Either this OR EmptyDir can be used.
- string required
.spec .workspaces[] .persistentVolumeClaim .claimName
claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
- boolean
.spec .workspaces[] .persistentVolumeClaim .readOnly
readOnly Will force the ReadOnly setting in VolumeMounts. Default false.
- object
.spec .workspaces[] .projected
Projected represents a projected volume that should populate this workspace.
- integer
.spec .workspaces[] .projected .defaultMode
defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
- array
.spec .workspaces[] .projected .sources
sources is the list of volume projections. Each entry in this list handles one source.
- object
.spec .workspaces[] .projected .sources[] .clusterTrustBundle
ClusterTrustBundle allows a pod to access the
.spec.trustBundle
field of ClusterTrustBundle objects in an auto-updating file.Alpha, gated by the ClusterTrustBundleProjection feature gate.
ClusterTrustBundle objects can either be selected by name, or by the combination of signer name and a label selector.
Kubelet performs aggressive normalization of the PEM contents written into the pod filesystem. Esoteric PEM features such as inter-block comments and block headers are stripped. Certificates are deduplicated. The ordering of certificates within the file is arbitrary, and Kubelet may change the order over time.
- object
.spec .workspaces[] .projected .sources[] .clusterTrustBundle .labelSelector
Select all ClusterTrustBundles that match this label selector. Only has effect if signerName is set. Mutually-exclusive with name. If unset, interpreted as “match nothing”. If set but empty, interpreted as “match everything”.
- array
.spec .workspaces[] .projected .sources[] .clusterTrustBundle .labelSelector .matchExpressions
matchExpressions is a list of label selector requirements. The requirements are ANDed.
- string required
.spec .workspaces[] .projected .sources[] .clusterTrustBundle .labelSelector .matchExpressions[] .key
key is the label key that the selector applies to.
- string required
.spec .workspaces[] .projected .sources[] .clusterTrustBundle .labelSelector .matchExpressions[] .operator
operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- array
.spec .workspaces[] .projected .sources[] .clusterTrustBundle .labelSelector .matchExpressions[] .values
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- object
.spec .workspaces[] .projected .sources[] .clusterTrustBundle .labelSelector .matchLabels
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
- string
.spec .workspaces[] .projected .sources[] .clusterTrustBundle .name
Select a single ClusterTrustBundle by object name. Mutually-exclusive with signerName and labelSelector.
- boolean
.spec .workspaces[] .projected .sources[] .clusterTrustBundle .optional
If true, don’t block pod startup if the referenced ClusterTrustBundle(s) aren’t available. If using name, then the named ClusterTrustBundle is allowed not to exist. If using signerName, then the combination of signerName and labelSelector is allowed to match zero ClusterTrustBundles.
- string required
.spec .workspaces[] .projected .sources[] .clusterTrustBundle .path
Relative path from the volume root to write the bundle.
- string
.spec .workspaces[] .projected .sources[] .clusterTrustBundle .signerName
Select all ClusterTrustBundles that match this signer name. Mutually-exclusive with name. The contents of all selected ClusterTrustBundles will be unified and deduplicated.
- object
.spec .workspaces[] .projected .sources[] .configMap
configMap information about the configMap data to project
- array
.spec .workspaces[] .projected .sources[] .configMap .items
items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the ‘..’ path or start with ‘..’.
- string required
.spec .workspaces[] .projected .sources[] .configMap .items[] .key
key is the key to project.
- integer
.spec .workspaces[] .projected .sources[] .configMap .items[] .mode
mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
- string required
.spec .workspaces[] .projected .sources[] .configMap .items[] .path
path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element ‘..’. May not start with the string ‘..’.
- string
.spec .workspaces[] .projected .sources[] .configMap .name
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- boolean
.spec .workspaces[] .projected .sources[] .configMap .optional
optional specify whether the ConfigMap or its keys must be defined
- object
.spec .workspaces[] .projected .sources[] .downwardAPI
downwardAPI information about the downwardAPI data to project
- array
.spec .workspaces[] .projected .sources[] .downwardAPI .items
Items is a list of DownwardAPIVolume file
- object
.spec .workspaces[] .projected .sources[] .downwardAPI .items[] .fieldRef
Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.
- string
.spec .workspaces[] .projected .sources[] .downwardAPI .items[] .fieldRef .apiVersion
Version of the schema the FieldPath is written in terms of, defaults to “v1”.
- string required
.spec .workspaces[] .projected .sources[] .downwardAPI .items[] .fieldRef .fieldPath
Path of the field to select in the specified API version.
- integer
.spec .workspaces[] .projected .sources[] .downwardAPI .items[] .mode
Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
- string required
.spec .workspaces[] .projected .sources[] .downwardAPI .items[] .path
Required: Path is the relative path name of the file to be created. Must not be absolute or contain the ‘..’ path. Must be utf-8 encoded. The first item of the relative path must not start with ‘..’
- object
.spec .workspaces[] .projected .sources[] .downwardAPI .items[] .resourceFieldRef
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
- string
.spec .workspaces[] .projected .sources[] .downwardAPI .items[] .resourceFieldRef .containerName
Container name: required for volumes, optional for env vars
- integer | string
.spec .workspaces[] .projected .sources[] .downwardAPI .items[] .resourceFieldRef .divisor
Specifies the output format of the exposed resources, defaults to “1”
- string required
.spec .workspaces[] .projected .sources[] .downwardAPI .items[] .resourceFieldRef .resource
Required: resource to select
- object
.spec .workspaces[] .projected .sources[] .secret
secret information about the secret data to project
- array
.spec .workspaces[] .projected .sources[] .secret .items
items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the ‘..’ path or start with ‘..’.
- string required
.spec .workspaces[] .projected .sources[] .secret .items[] .key
key is the key to project.
- integer
.spec .workspaces[] .projected .sources[] .secret .items[] .mode
mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
- string required
.spec .workspaces[] .projected .sources[] .secret .items[] .path
path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element ‘..’. May not start with the string ‘..’.
- string
.spec .workspaces[] .projected .sources[] .secret .name
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- boolean
.spec .workspaces[] .projected .sources[] .secret .optional
optional field specify whether the Secret or its key must be defined
- object
.spec .workspaces[] .projected .sources[] .serviceAccountToken
serviceAccountToken is information about the serviceAccountToken data to project
- string
.spec .workspaces[] .projected .sources[] .serviceAccountToken .audience
audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.
- integer
.spec .workspaces[] .projected .sources[] .serviceAccountToken .expirationSeconds
expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.
- string required
.spec .workspaces[] .projected .sources[] .serviceAccountToken .path
path is the path relative to the mount point of the file to project the token into.
- object
.spec .workspaces[] .secret
Secret represents a secret that should populate this workspace.
- integer
.spec .workspaces[] .secret .defaultMode
defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
- array
.spec .workspaces[] .secret .items
items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the ‘..’ path or start with ‘..’.
- string required
.spec .workspaces[] .secret .items[] .key
key is the key to project.
- integer
.spec .workspaces[] .secret .items[] .mode
mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
- string required
.spec .workspaces[] .secret .items[] .path
path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element ‘..’. May not start with the string ‘..’.
- boolean
.spec .workspaces[] .secret .optional
optional field specify whether the Secret or its keys must be defined
- string
.spec .workspaces[] .secret .secretName
secretName is the name of the secret in the pod’s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
- string
.spec .workspaces[] .subPath
SubPath 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).
- undefined
.spec .workspaces[] .volumeClaimTemplate
VolumeClaimTemplate 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)
- object
.status
CustomRunStatus defines the observed state of CustomRun
- object
.status .annotations
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.
- string
.status .completionTime
CompletionTime is the time the build completed.
- array
.status .conditions
Conditions the latest available observations of a resource’s current state.
- string
.status .conditions[] .lastTransitionTime
LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).
- string
.status .conditions[] .message
A human readable message indicating details about the transition.
- string
.status .conditions[] .reason
The reason for the condition’s last transition.
- string
.status .conditions[] .severity
Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.
- string required
.status .conditions[] .status
Status of the condition, one of True, False, Unknown.
- string required
.status .conditions[] .type
Type of condition.
- undefined
.status .extraFields
ExtraFields holds arbitrary fields provided by the custom task controller.
- integer
.status .observedGeneration
ObservedGeneration is the ‘Generation’ of the Service that was last processed by the controller.
- array
.status .results
Results reports any output result values to be consumed by later tasks in a pipeline.
- string required
.status .results[] .name
Name the given name
- string required
.status .results[] .value
Value the given value of the result
- undefined
.status .retriesStatus
RetriesStatus contains the history of CustomRunStatus, in case of a retry. See CustomRun.status (API version: tekton.dev/v1beta1)
- string
.status .startTime
StartTime is the time the build is actually started.