Argo Workflows · Schema

io.argoproj.workflow.v1alpha1.Template

Template is a reusable and composable unit of execution in a workflow

CNCFContainersData ProcessingKubernetesMachine LearningOpen SourceWorkflow Engine

Properties

Name Type Description
activeDeadlineSeconds object Optional duration in seconds relative to the StartTime that the pod may be active on a node before the system actively tries to terminate the pod; value must be positive integer This field is only app
affinity object Affinity sets the pod's scheduling constraints Overrides the affinity set at the workflow level (if any)
annotations object Annotations is a list of annotations to add to the template at runtime
archiveLocation object Location in which all files related to the step will be stored (logs, artifacts, etc...). Can be overridden by individual items in Outputs. If omitted, will use the default artifact repository locatio
automountServiceAccountToken boolean AutomountServiceAccountToken indicates whether a service account token should be automatically mounted in pods. ServiceAccountName of ExecutorConfig must be specified if this value is false.
container object Container is the main container image to run in the pod
containerSet object ContainerSet groups multiple containers within a single pod.
daemon boolean Daemon will allow a workflow to proceed to the next step so long as the container reaches readiness
dag object DAG template subtype which runs a DAG
data object Data is a data template
executor object Executor holds configurations of the executor container.
failFast boolean FailFast, if specified, will fail this template if any of its child pods has failed. This is useful for when this template is expanded with `withItems`, etc.
hostAliases array HostAliases is an optional list of hosts and IPs that will be injected into the pod spec
http object HTTP makes a HTTP request
initContainers array InitContainers is a list of containers which run before the main container.
inputs object Inputs describe what inputs parameters and artifacts are supplied to this template
memoize object Memoize allows templates to use outputs generated from already executed templates
metadata object Metadata sets the pods's metadata, i.e. annotations and labels
metrics object Metrics are a list of metrics emitted from this template
name string Name is the name of the template
nodeSelector object NodeSelector is a selector to schedule this step of the workflow to be run on the selected node(s). Overrides the selector set at the workflow level.
outputs object Outputs describe the parameters and artifacts that this template produces
parallelism integer Parallelism limits the max total parallel pods that can execute at the same time within the boundaries of this template invocation. If additional steps/dag templates are invoked, the pods created by t
plugin object Plugin is a plugin template Note: the structure of a plugin template is free-form, so we need to have "x-kubernetes-preserve-unknown-fields: true" in the validation schema.
podSpecPatch string PodSpecPatch holds strategic merge patch to apply against the pod spec. Allows parameterization of container fields which are not strings (e.g. resource limits).
priorityClassName string PriorityClassName to apply to workflow pods.
resource object Resource template subtype which can run k8s resources
retryStrategy object RetryStrategy describes how to retry a template when it fails
schedulerName string If specified, the pod will be dispatched by specified scheduler. Or it will be dispatched by workflow scope scheduler if specified. If neither specified, the pod will be dispatched by default schedule
script object Script runs a portion of code against an interpreter
securityContext object SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field.
serviceAccountName string ServiceAccountName to apply to workflow pods
sidecars array Sidecars is a list of containers which run alongside the main container Sidecars are automatically killed when the main container completes
steps array Steps define a series of sequential/parallel workflow steps
suspend object Suspend template subtype which can suspend a workflow when reaching the step
synchronization object Synchronization holds synchronization lock configuration for this template
timeout string Timeout allows to set the total node execution timeout duration counting from the node's start time. This duration also includes time in which the node spends in Pending state. This duration may not b
tolerations array Tolerations to apply to workflow pods.
volumes array Volumes is a list of volumes that can be mounted by containers in a template.
View JSON Schema on GitHub