Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package v1alpha1 is the v1alpha1 version of the API. +groupName=argoproj.io +k8s:deepcopy-gen=package,register +k8s:openapi-gen=true
Index ¶
- Variables
 - func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
 - func Resource(resource string) schema.GroupResource
 - type Arguments
 - type Artifact
 - type ArtifactLocation
 - type ArtifactoryArtifact
 - type ArtifactoryAuth
 - type DAGTask
 - type DAGTemplate
 - type GitArtifact
 - type HTTPArtifact
 - type Inputs
 - type Item
 - type Metadata
 - type NodePhase
 - type NodeStatus
 - type NodeType
 - type Outputs
 - type Parameter
 - type RawArtifact
 - type ResourceTemplate
 - type RetryStrategy
 - type S3Artifact
 - type S3Bucket
 - type ScriptTemplate
 - type Sidecar
 - type SuspendTemplate
 - type Template
 - type TemplateType
 - type ValueFrom
 - type Workflow
 - type WorkflowList
 - type WorkflowSpec
 - type WorkflowStatus
 - type WorkflowStep
 
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: workflow.Group, Version: "v1alpha1"} SchemaGroupVersionKind = schema.GroupVersionKind{Group: workflow.Group, Version: "v1alpha1", Kind: workflow.Kind} )
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func GetOpenAPIDefinitions ¶
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group-qualified GroupResource.
Types ¶
type Arguments ¶
type Arguments struct {
	// Parameters is the list of parameters to pass to the template or workflow
	Parameters []Parameter `json:"parameters,omitempty"`
	// Artifacts is the list of artifacts to pass to the template or workflow
	Artifacts []Artifact `json:"artifacts,omitempty"`
}
    Arguments to a template
func (*Arguments) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Arguments.
func (*Arguments) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Arguments) GetArtifactByName ¶
GetArtifactByName retrieves an artifact by its name
func (*Arguments) GetParameterByName ¶
GetParameterByName retrieves a parameter by its name
type Artifact ¶
type Artifact struct {
	// name of the artifact. must be unique within a template's inputs/outputs.
	Name string `json:"name"`
	// Path is the container path to the artifact
	Path string `json:"path,omitempty"`
	// mode bits to use on this file, must be a value between 0 and 0777
	// set when loading input artifacts.
	Mode *int32 `json:"mode,omitempty"`
	// From allows an artifact to reference an artifact from a previous step
	From string `json:"from,omitempty"`
	// ArtifactLocation contains the location of the artifact
	ArtifactLocation `json:",inline"`
	// GlobalName exports an output artifact to the global scope, making it available as
	// '{{workflow.outputs.artifacts.XXXX}} and in workflow.status.outputs.artifacts
	GlobalName string `json:"globalName,omitempty"`
}
    Artifact indicates an artifact to place at a specified path
func (*Artifact) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Artifact.
func (*Artifact) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Artifact) HasLocation ¶
HasLocation whether or not an artifact has a location defined
type ArtifactLocation ¶
type ArtifactLocation struct {
	// S3 contains S3 artifact location details
	S3 *S3Artifact `json:"s3,omitempty"`
	// Git contains git artifact location details
	Git *GitArtifact `json:"git,omitempty"`
	// HTTP contains HTTP artifact location details
	HTTP *HTTPArtifact `json:"http,omitempty"`
	// Artifactory contains artifactory artifact location details
	Artifactory *ArtifactoryArtifact `json:"artifactory,omitempty"`
	// Raw contains raw artifact location details
	Raw *RawArtifact `json:"raw,omitempty"`
}
    ArtifactLocation describes a location for a single or multiple artifacts. It is used as single artifact in the context of inputs/outputs (e.g. outputs.artifacts.artname). It is also used to describe the location of multiple artifacts such as the archive location of a single workflow step, which the executor will use as a default location to store its files.
func (*ArtifactLocation) DeepCopy ¶
func (in *ArtifactLocation) DeepCopy() *ArtifactLocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArtifactLocation.
func (*ArtifactLocation) DeepCopyInto ¶
func (in *ArtifactLocation) DeepCopyInto(out *ArtifactLocation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ArtifactoryArtifact ¶
type ArtifactoryArtifact struct {
	// URL of the artifact
	URL             string `json:"url"`
	ArtifactoryAuth `json:",inline"`
}
    ArtifactoryArtifact is the location of an artifactory artifact
func (*ArtifactoryArtifact) DeepCopy ¶
func (in *ArtifactoryArtifact) DeepCopy() *ArtifactoryArtifact
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArtifactoryArtifact.
func (*ArtifactoryArtifact) DeepCopyInto ¶
func (in *ArtifactoryArtifact) DeepCopyInto(out *ArtifactoryArtifact)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArtifactoryArtifact) String ¶
func (a *ArtifactoryArtifact) String() string
type ArtifactoryAuth ¶
type ArtifactoryAuth struct {
	// UsernameSecret is the secret selector to the repository username
	UsernameSecret *apiv1.SecretKeySelector `json:"usernameSecret,omitempty"`
	// PasswordSecret is the secret selector to the repository password
	PasswordSecret *apiv1.SecretKeySelector `json:"passwordSecret,omitempty"`
}
    ArtifactoryAuth describes the secret selectors required for authenticating to artifactory
func (*ArtifactoryAuth) DeepCopy ¶
func (in *ArtifactoryAuth) DeepCopy() *ArtifactoryAuth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArtifactoryAuth.
func (*ArtifactoryAuth) DeepCopyInto ¶
func (in *ArtifactoryAuth) DeepCopyInto(out *ArtifactoryAuth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DAGTask ¶
type DAGTask struct {
	// Name is the name of the target
	Name string `json:"name"`
	// Name of template to execute
	Template string `json:"template"`
	// Arguments are the parameter and artifact arguments to the template
	Arguments Arguments `json:"arguments,omitempty"`
	// Dependencies are name of other targets which this depends on
	Dependencies []string `json:"dependencies,omitempty"`
}
    DAGTask represents a node in the graph during DAG execution
func (*DAGTask) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DAGTask.
func (*DAGTask) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DAGTemplate ¶
type DAGTemplate struct {
	// Target are one or more names of targets to execute in a DAG
	Targets string `json:"target,omitempty"`
	// Tasks are a list of DAG tasks
	Tasks []DAGTask `json:"tasks"`
}
    DAGTemplate is a template subtype for directed acyclic graph templates
func (*DAGTemplate) DeepCopy ¶
func (in *DAGTemplate) DeepCopy() *DAGTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DAGTemplate.
func (*DAGTemplate) DeepCopyInto ¶
func (in *DAGTemplate) DeepCopyInto(out *DAGTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitArtifact ¶
type GitArtifact struct {
	// Repo is the git repository
	Repo string `json:"repo"`
	// Revision is the git commit, tag, branch to checkout
	Revision string `json:"revision,omitempty"`
	// UsernameSecret is the secret selector to the repository username
	UsernameSecret *apiv1.SecretKeySelector `json:"usernameSecret,omitempty"`
	// PasswordSecret is the secret selector to the repository password
	PasswordSecret *apiv1.SecretKeySelector `json:"passwordSecret,omitempty"`
}
    GitArtifact is the location of an git artifact
func (*GitArtifact) DeepCopy ¶
func (in *GitArtifact) DeepCopy() *GitArtifact
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitArtifact.
func (*GitArtifact) DeepCopyInto ¶
func (in *GitArtifact) DeepCopyInto(out *GitArtifact)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPArtifact ¶
type HTTPArtifact struct {
	// URL of the artifact
	URL string `json:"url"`
}
    HTTPArtifact allows an file served on HTTP to be placed as an input artifact in a container
func (*HTTPArtifact) DeepCopy ¶
func (in *HTTPArtifact) DeepCopy() *HTTPArtifact
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPArtifact.
func (*HTTPArtifact) DeepCopyInto ¶
func (in *HTTPArtifact) DeepCopyInto(out *HTTPArtifact)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Inputs ¶
type Inputs struct {
	// Parameters are a list of parameters passed as inputs
	Parameters []Parameter `json:"parameters,omitempty"`
	// Artifact are a list of artifacts passed as inputs
	Artifacts []Artifact `json:"artifacts,omitempty"`
}
    Inputs are the mechanism for passing parameters, artifacts, volumes from one template to another
func (*Inputs) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Inputs.
func (*Inputs) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Inputs) GetArtifactByName ¶
GetArtifactByName returns an input artifact by its name
func (*Inputs) GetParameterByName ¶
GetParameterByName returns an input parameter by its name
type Item ¶
type Item struct {
	Value interface{}
}
    Item expands a single workflow step into multiple parallel steps The value of Item can be a map, string, bool, or number
func (*Item) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Item.
func (*Item) DeepCopyInto ¶
DeepCopyInto is an custom deepcopy function to deal with our use of the interface{} type
func (Item) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface.
func (Item) OpenAPISchemaFormat ¶
OpenAPISchemaFormat is used by the kube-openapi generator when constructing the OpenAPI spec of this type.
func (Item) OpenAPISchemaType ¶
OpenAPISchemaType is used by the kube-openapi generator when constructing the OpenAPI spec of this type. See: https://github.com/kubernetes/kube-openapi/tree/master/pkg/generators
func (*Item) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface.
type Metadata ¶
type Metadata struct {
	Annotations map[string]string `json:"annotations,omitempty"`
	Labels      map[string]string `json:"labels,omitempty"`
}
    Pod metdata
func (*Metadata) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metadata.
func (*Metadata) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePhase ¶
type NodePhase string
NodePhase is a label for the condition of a node at the current time.
type NodeStatus ¶
type NodeStatus struct {
	// ID is a unique identifier of a node within the worklow
	// It is implemented as a hash of the node name, which makes the ID deterministic
	ID string `json:"id"`
	// Name is unique name in the node tree used to generate the node ID
	Name string `json:"name"`
	// DisplayName is a human readable representation of the node. Unique within a template boundary
	DisplayName string `json:"displayName"`
	// Type indicates type of node
	Type NodeType `json:"type"`
	// TemplateName is the template name which this node corresponds to. Not applicable to virtual nodes (e.g. Retry, StepGroup)
	TemplateName string `json:"templateName,omitempty"`
	// Phase a simple, high-level summary of where the node is in its lifecycle.
	// Can be used as a state machine.
	Phase NodePhase `json:"phase,omitempty"`
	// BoundaryID indicates the node ID of the associated template root node in which this node belongs to
	BoundaryID string `json:"boundaryID,omitempty"`
	// A human readable message indicating details about why the node is in this condition.
	Message string `json:"message,omitempty"`
	// Time at which this node started
	StartedAt metav1.Time `json:"startedAt,omitempty"`
	// Time at which this node completed
	FinishedAt metav1.Time `json:"finishedAt,omitempty"`
	// PodIP captures the IP of the pod for daemoned steps
	PodIP string `json:"podIP,omitempty"`
	// Daemoned tracks whether or not this node was daemoned and need to be terminated
	Daemoned *bool `json:"daemoned,omitempty"`
	// Inputs captures input parameter values and artifact locations supplied to this template invocation
	Inputs *Inputs `json:"inputs,omitempty"`
	// Outputs captures output parameter values and artifact locations produced by this template invocation
	Outputs *Outputs `json:"outputs,omitempty"`
	// Children is a list of child node IDs
	Children []string `json:"children,omitempty"`
	// OutboundNodes tracks the node IDs which are considered "outbound" nodes to a template invocation.
	// For every invocation of a template, there are nodes which we considered as "outbound". Essentially,
	// these are last nodes in the execution sequence to run, before the template is considered completed.
	// These nodes are then connected as parents to a following step.
	//
	// In the case of single pod steps (i.e. container, script, resource templates), this list will be nil
	// since the pod itself is already considered the "outbound" node.
	// In the case of DAGs, outbound nodes are the "target" tasks (tasks with no children).
	// In the case of steps, outbound nodes are all the containers involved in the last step group.
	// NOTE: since templates are composable, the list of outbound nodes are carried upwards when
	// a DAG/steps template invokes another DAG/steps template. In other words, the outbound nodes of
	// a template, will be a superset of the outbound nodes of its last children.
	OutboundNodes []string `json:"outboundNodes,omitempty"`
}
    NodeStatus contains status information about an individual node in the workflow +k8s:openapi-gen=false
func (NodeStatus) CanRetry ¶
func (n NodeStatus) CanRetry() bool
CanRetry returns whether the node should be retried or not.
func (NodeStatus) Completed ¶
func (n NodeStatus) Completed() bool
Completed returns whether or not the node has completed execution
func (*NodeStatus) DeepCopy ¶
func (in *NodeStatus) DeepCopy() *NodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStatus.
func (*NodeStatus) DeepCopyInto ¶
func (in *NodeStatus) DeepCopyInto(out *NodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (NodeStatus) IsDaemoned ¶
func (n NodeStatus) IsDaemoned() bool
IsDaemoned returns whether or not the node is deamoned
func (NodeStatus) String ¶
func (n NodeStatus) String() string
func (NodeStatus) Successful ¶
func (n NodeStatus) Successful() bool
Successful returns whether or not this node completed successfully
type Outputs ¶
type Outputs struct {
	// Parameters holds the list of output parameters produced by a step
	Parameters []Parameter `json:"parameters,omitempty"`
	// Artifacts holds the list of output artifacts produced by a step
	Artifacts []Artifact `json:"artifacts,omitempty"`
	// Result holds the result (stdout) of a script template
	Result *string `json:"result,omitempty"`
}
    Outputs hold parameters, artifacts, and results from a step
func (*Outputs) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Outputs.
func (*Outputs) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Outputs) HasOutputs ¶
HasOutputs returns whether or not there are any outputs
type Parameter ¶
type Parameter struct {
	// Name is the parameter name
	Name string `json:"name"`
	// Default is the default value to use for an input parameter if a value was not supplied
	Default *string `json:"default,omitempty"`
	// Value is the literal value to use for the parameter.
	// If specified in the context of an input parameter, the value takes precedence over any passed values
	Value *string `json:"value,omitempty"`
	// ValueFrom is the source for the output parameter's value
	ValueFrom *ValueFrom `json:"valueFrom,omitempty"`
	// GlobalName exports an output parameter to the global scope, making it available as
	// '{{workflow.outputs.parameters.XXXX}} and in workflow.status.outputs.parameters
	GlobalName string `json:"globalName,omitempty"`
}
    Parameter indicate a passed string parameter to a service template with an optional default value
func (*Parameter) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Parameter.
func (*Parameter) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RawArtifact ¶
type RawArtifact struct {
	// Data is the string contents of the artifact
	Data string `json:"data"`
}
    RawArtifact allows raw string content to be placed as an artifact in a container
func (*RawArtifact) DeepCopy ¶
func (in *RawArtifact) DeepCopy() *RawArtifact
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawArtifact.
func (*RawArtifact) DeepCopyInto ¶
func (in *RawArtifact) DeepCopyInto(out *RawArtifact)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceTemplate ¶
type ResourceTemplate struct {
	// Action is the action to perform to the resource.
	// Must be one of: get, create, apply, delete, replace
	Action string `json:"action"`
	// Manifest contains the kubernetes manifest
	Manifest string `json:"manifest"`
	// SuccessCondition is a label selector expression which describes the conditions
	// of the k8s resource in which it is acceptable to proceed to the following step
	SuccessCondition string `json:"successCondition,omitempty"`
	// FailureCondition is a label selector expression which describes the conditions
	// of the k8s resource in which the step was considered failed
	FailureCondition string `json:"failureCondition,omitempty"`
}
    ResourceTemplate is a template subtype to manipulate kubernetes resources
func (*ResourceTemplate) DeepCopy ¶
func (in *ResourceTemplate) DeepCopy() *ResourceTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceTemplate.
func (*ResourceTemplate) DeepCopyInto ¶
func (in *ResourceTemplate) DeepCopyInto(out *ResourceTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RetryStrategy ¶
type RetryStrategy struct {
	// Limit is the maximum number of attempts when retrying a container
	Limit *int32 `json:"limit,omitempty"`
}
    RetryStrategy provides controls on how to retry a workflow step
func (*RetryStrategy) DeepCopy ¶
func (in *RetryStrategy) DeepCopy() *RetryStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryStrategy.
func (*RetryStrategy) DeepCopyInto ¶
func (in *RetryStrategy) DeepCopyInto(out *RetryStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3Artifact ¶
type S3Artifact struct {
	S3Bucket `json:",inline"`
	// Key is the key in the bucket where the artifact resides
	Key string `json:"key"`
}
    S3Artifact is the location of an S3 artifact
func (*S3Artifact) DeepCopy ¶
func (in *S3Artifact) DeepCopy() *S3Artifact
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Artifact.
func (*S3Artifact) DeepCopyInto ¶
func (in *S3Artifact) DeepCopyInto(out *S3Artifact)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*S3Artifact) String ¶
func (s *S3Artifact) String() string
type S3Bucket ¶
type S3Bucket struct {
	// Endpoint is the hostname of the bucket endpoint
	Endpoint string `json:"endpoint"`
	// Bucket is the name of the bucket
	Bucket string `json:"bucket"`
	// Region contains the optional bucket region
	Region string `json:"region,omitempty"`
	// Insecure will connect to the service with TLS
	Insecure *bool `json:"insecure,omitempty"`
	// AccessKeySecret is the secret selector to the bucket's access key
	AccessKeySecret apiv1.SecretKeySelector `json:"accessKeySecret"`
	// SecretKeySecret is the secret selector to the bucket's secret key
	SecretKeySecret apiv1.SecretKeySelector `json:"secretKeySecret"`
}
    S3Bucket contains the access information required for interfacing with an S3 bucket
func (*S3Bucket) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Bucket.
func (*S3Bucket) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScriptTemplate ¶
type ScriptTemplate struct {
	apiv1.Container `json:",inline"`
	// Source contains the source code of the script to execute
	Source string `json:"source"`
}
    ScriptTemplate is a template subtype to enable scripting through code steps
func (*ScriptTemplate) DeepCopy ¶
func (in *ScriptTemplate) DeepCopy() *ScriptTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScriptTemplate.
func (*ScriptTemplate) DeepCopyInto ¶
func (in *ScriptTemplate) DeepCopyInto(out *ScriptTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Sidecar ¶
type Sidecar struct {
	apiv1.Container `json:",inline"`
	// MirrorVolumeMounts will mount the same volumes specified in the main container
	// to the sidecar (including artifacts), at the same mountPaths. This enables
	// dind daemon to partially see the same filesystem as the main container in
	// order to use features such as docker volume binding
	MirrorVolumeMounts *bool `json:"mirrorVolumeMounts,omitempty"`
}
    Sidecar is a container which runs alongside the main container
func (*Sidecar) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sidecar.
func (*Sidecar) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SuspendTemplate ¶
type SuspendTemplate struct {
}
    SuspendTemplate is a template subtype to suspend a workflow at a predetermined point in time
func (*SuspendTemplate) DeepCopy ¶
func (in *SuspendTemplate) DeepCopy() *SuspendTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SuspendTemplate.
func (*SuspendTemplate) DeepCopyInto ¶
func (in *SuspendTemplate) DeepCopyInto(out *SuspendTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Template ¶
type Template struct {
	// Name is the name of the template
	Name string `json:"name"`
	// Inputs describe what inputs parameters and artifacts are supplied to this template
	Inputs Inputs `json:"inputs,omitempty"`
	// Outputs describe the parameters and artifacts that this template produces
	Outputs Outputs `json:"outputs,omitempty"`
	// 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.
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// Affinity sets the pod's scheduling constraints
	// Overrides the affinity set at the workflow level (if any)
	Affinity *apiv1.Affinity `json:"affinity,omitempty"`
	// Metdata sets the pods's metadata, i.e. annotations and labels
	Metadata Metadata `json:"metadata,omitempty"`
	// Deamon will allow a workflow to proceed to the next step so long as the container reaches readiness
	Daemon *bool `json:"daemon,omitempty"`
	// Steps define a series of sequential/parallel workflow steps
	Steps [][]WorkflowStep `json:"steps,omitempty"`
	// Container is the main container image to run in the pod
	Container *apiv1.Container `json:"container,omitempty"`
	// Script runs a portion of code against an interpreter
	Script *ScriptTemplate `json:"script,omitempty"`
	// Resource template subtype which can run k8s resources
	Resource *ResourceTemplate `json:"resource,omitempty"`
	// DAG template subtype which runs a DAG
	DAG *DAGTemplate `json:"dag,omitempty"`
	// Suspend template subtype which can suspend a workflow when reaching the step
	Suspend *SuspendTemplate `json:"suspend,omitempty"`
	// Sidecars is a list of containers which run alongside the main container
	// Sidecars are automatically killed when the main container completes
	Sidecars []Sidecar `json:"sidecars,omitempty"`
	// 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 location configured in the controller, appended with the
	// <workflowname>/<nodename> in the key.
	ArchiveLocation *ArtifactLocation `json:"archiveLocation,omitempty"`
	// 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 applicable to container and script templates.
	ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty"`
	// RetryStrategy describes how to retry a template when it fails
	RetryStrategy *RetryStrategy `json:"retryStrategy,omitempty"`
	// 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 those templates will not be counted towards this total.
	Parallelism *int64 `json:"parallelism,omitempty"`
	// Tolerations to apply to workflow pods.
	Tolerations []apiv1.Toleration `json:"tolerations,omitempty"`
}
    Template is a reusable and composable unit of execution in a workflow
func (*Template) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Template.
func (*Template) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Template) GetType ¶
func (tmpl *Template) GetType() TemplateType
GetType returns the type of this template
type TemplateType ¶
type TemplateType string
TemplateType is the type of a template
const ( TemplateTypeContainer TemplateType = "Container" TemplateTypeSteps TemplateType = "Steps" TemplateTypeScript TemplateType = "Script" TemplateTypeResource TemplateType = "Resource" TemplateTypeDAG TemplateType = "DAG" TemplateTypeSuspend TemplateType = "Suspend" )
Possible template types
type ValueFrom ¶
type ValueFrom struct {
	// Path in the container to retrieve an output parameter value from in container templates
	Path string `json:"path,omitempty"`
	// JSONPath of a resource to retrieve an output parameter value from in resource templates
	JSONPath string `json:"jsonPath,omitempty"`
	// JQFilter expression against the resource object in resource templates
	JQFilter string `json:"jqFilter,omitempty"`
	// Parameter reference to a step or dag task in which to retrieve an output parameter value from
	// (e.g. '{{steps.mystep.outputs.myparam}}')
	Parameter string `json:"parameter,omitempty"`
}
    ValueFrom describes a location in which to obtain the value to a parameter
func (*ValueFrom) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValueFrom.
func (*ValueFrom) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Workflow ¶
type Workflow struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              WorkflowSpec   `json:"spec"`
	Status            WorkflowStatus `json:"status"`
}
    Workflow is the definition of a workflow resource +genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*Workflow) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Workflow.
func (*Workflow) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Workflow) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Workflow) GetTemplate ¶
GetTemplate retrieves a defined template by its name
type WorkflowList ¶
type WorkflowList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Workflow `json:"items"`
}
    WorkflowList is list of Workflow resources +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*WorkflowList) DeepCopy ¶
func (in *WorkflowList) DeepCopy() *WorkflowList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowList.
func (*WorkflowList) DeepCopyInto ¶
func (in *WorkflowList) DeepCopyInto(out *WorkflowList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowList) DeepCopyObject ¶
func (in *WorkflowList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkflowSpec ¶
type WorkflowSpec struct {
	// Templates is a list of workflow templates used in a workflow
	Templates []Template `json:"templates"`
	// Entrypoint is a template reference to the starting point of the workflow
	Entrypoint string `json:"entrypoint"`
	// Arguments contain the parameters and artifacts sent to the workflow entrypoint
	// Parameters are referencable globally using the 'workflow' variable prefix.
	// e.g. {{workflow.parameters.myparam}}
	Arguments Arguments `json:"arguments,omitempty"`
	// ServiceAccountName is the name of the ServiceAccount to run all pods of the workflow as.
	ServiceAccountName string `json:"serviceAccountName,omitempty"`
	// Volumes is a list of volumes that can be mounted by containers in a workflow.
	Volumes []apiv1.Volume `json:"volumes,omitempty"`
	// VolumeClaimTemplates is a list of claims that containers are allowed to reference.
	// The Workflow controller will create the claims at the beginning of the workflow
	// and delete the claims upon completion of the workflow
	VolumeClaimTemplates []apiv1.PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty"`
	// Parallelism limits the max total parallel pods that can execute at the same time in a workflow
	Parallelism *int64 `json:"parallelism,omitempty"`
	// Suspend will suspend the workflow and prevent execution of any future steps in the workflow
	Suspend *bool `json:"suspend,omitempty"`
	// NodeSelector is a selector which will result in all pods of the workflow
	// to be scheduled on the selected node(s). This is able to be overridden by
	// a nodeSelector specified in the template.
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// Affinity sets the scheduling constraints for all pods in the workflow.
	// Can be overridden by an affinity specified in the template
	Affinity *apiv1.Affinity `json:"affinity,omitempty"`
	// Tolerations to apply to workflow pods.
	Tolerations []apiv1.Toleration `json:"tolerations,omitempty"`
	// ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images
	// in pods that reference this ServiceAccount. ImagePullSecrets are distinct from Secrets because Secrets
	// can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet.
	// More info: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
	ImagePullSecrets []apiv1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
	// OnExit is a template reference which is invoked at the end of the
	// workflow, irrespective of the success, failure, or error of the
	// primary workflow.
	OnExit string `json:"onExit,omitempty"`
}
    WorkflowSpec is the specification of a Workflow.
func (*WorkflowSpec) DeepCopy ¶
func (in *WorkflowSpec) DeepCopy() *WorkflowSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowSpec.
func (*WorkflowSpec) DeepCopyInto ¶
func (in *WorkflowSpec) DeepCopyInto(out *WorkflowSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowStatus ¶
type WorkflowStatus struct {
	// Phase a simple, high-level summary of where the workflow is in its lifecycle.
	Phase NodePhase `json:"phase,omitempty"`
	// Time at which this workflow started
	StartedAt metav1.Time `json:"startedAt,omitempty"`
	// Time at which this workflow completed
	FinishedAt metav1.Time `json:"finishedAt,omitempty"`
	// A human readable message indicating details about why the workflow is in this condition.
	Message string `json:"message,omitempty"`
	// Nodes is a mapping between a node ID and the node's status.
	Nodes map[string]NodeStatus `json:"nodes,omitempty"`
	// PersistentVolumeClaims tracks all PVCs that were created as part of the workflow.
	// The contents of this list are drained at the end of the workflow.
	PersistentVolumeClaims []apiv1.Volume `json:"persistentVolumeClaims,omitempty"`
	// Outputs captures output values and artifact locations produced by the workflow via global outputs
	Outputs *Outputs `json:"outputs,omitempty"`
}
    WorkflowStatus contains overall status information about a workflow +k8s:openapi-gen=false
func (*WorkflowStatus) DeepCopy ¶
func (in *WorkflowStatus) DeepCopy() *WorkflowStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowStatus.
func (*WorkflowStatus) DeepCopyInto ¶
func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowStep ¶
type WorkflowStep struct {
	// Name of the step
	Name string `json:"name,omitempty"`
	// Template is a reference to the template to execute as the step
	Template string `json:"template,omitempty"`
	// Arguments hold arguments to the template
	Arguments Arguments `json:"arguments,omitempty"`
	// WithItems expands a step into multiple parallel steps from the items in the list
	WithItems []Item `json:"withItems,omitempty"`
	// WithParam expands a step into from the value in the parameter
	WithParam string `json:"withParam,omitempty"`
	// When is an expression in which the step should conditionally execute
	When string `json:"when,omitempty"`
}
    WorkflowStep is a reference to a template to execute in a series of step
func (*WorkflowStep) DeepCopy ¶
func (in *WorkflowStep) DeepCopy() *WorkflowStep
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowStep.
func (*WorkflowStep) DeepCopyInto ¶
func (in *WorkflowStep) DeepCopyInto(out *WorkflowStep)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.