Documentation ¶
Index ¶
- Variables
- func ContainsString(slice []string, element string) bool
- func RemoveString(slice []string, element string) []string
- func ResourceQuantityDenominator(r apiv1.ResourceName) *resource.Quantity
- type Amount
- func (in *Amount) DeepCopy() *Amount
- func (in *Amount) DeepCopyInto(out *Amount)
- func (a *Amount) Float64() (float64, error)
- func (a Amount) MarshalJSON() ([]byte, error)
- func (a Amount) OpenAPISchemaFormat() string
- func (a Amount) OpenAPISchemaType() []string
- func (a *Amount) UnmarshalJSON(data []byte) error
- type AnyString
- type ArchiveStrategy
- type Arguments
- type ArgumentsProvider
- type Artifact
- type ArtifactLocation
- type ArtifactLocationType
- type ArtifactRepositoryRef
- func (in *ArtifactRepositoryRef) DeepCopy() *ArtifactRepositoryRef
- func (in *ArtifactRepositoryRef) DeepCopyInto(out *ArtifactRepositoryRef)
- func (r *ArtifactRepositoryRef) GetConfigMapOr(configMap string) string
- func (r *ArtifactRepositoryRef) GetKeyOr(key string) string
- func (r *ArtifactRepositoryRef) String() string
- type ArtifactRepositoryRefStatus
- type ArtifactoryArtifact
- type ArtifactoryAuth
- type Artifacts
- type Backoff
- type Cache
- type ClusterWorkflowTemplate
- func (in *ClusterWorkflowTemplate) DeepCopy() *ClusterWorkflowTemplate
- func (in *ClusterWorkflowTemplate) DeepCopyInto(out *ClusterWorkflowTemplate)
- func (in *ClusterWorkflowTemplate) DeepCopyObject() runtime.Object
- func (cwftmpl *ClusterWorkflowTemplate) GetResourceScope() ResourceScope
- func (cwftmpl *ClusterWorkflowTemplate) GetTemplateByName(name string) *Template
- func (cwftmpl *ClusterWorkflowTemplate) GetWorkflowMetadata() *metav1.ObjectMeta
- func (cwftmpl *ClusterWorkflowTemplate) GetWorkflowSpec() *WorkflowSpec
- type ClusterWorkflowTemplateList
- type ClusterWorkflowTemplates
- type ConcurrencyPolicy
- type Condition
- type ConditionType
- type Conditions
- func (in Conditions) DeepCopy() Conditions
- func (in Conditions) DeepCopyInto(out *Conditions)
- func (cs *Conditions) DisplayString(fmtStr string, iconMap map[ConditionType]string) string
- func (cs *Conditions) JoinConditions(conditions *Conditions)
- func (cs *Conditions) RemoveCondition(conditionType ConditionType)
- func (cs *Conditions) UpsertCondition(condition Condition)
- func (cs *Conditions) UpsertConditionMessage(condition Condition)
- type ContinueOn
- type Counter
- type CreateS3BucketOptions
- type CronWorkflow
- type CronWorkflowList
- type CronWorkflowSpec
- type CronWorkflowStatus
- type DAGTask
- type DAGTemplate
- type EstimatedDuration
- type Event
- type ExecutorConfig
- type GCSArtifact
- type GCSBucket
- type Gauge
- type GitArtifact
- type HDFSArtifact
- type HDFSConfig
- type HDFSKrbConfig
- type HTTPArtifact
- type Header
- type Histogram
- type Inputs
- type Item
- func (in *Item) DeepCopy() *Item
- func (i *Item) DeepCopyInto(out *Item)
- func (i Item) Format(s fmt.State, _ rune)
- func (i *Item) GetListVal() []Item
- func (i *Item) GetMapVal() map[string]Item
- func (i *Item) GetStrVal() string
- func (i *Item) GetType() Type
- func (i Item) MarshalJSON() ([]byte, error)
- func (i Item) OpenAPISchemaFormat() string
- func (i Item) OpenAPISchemaType() []string
- func (i *Item) String() string
- func (i *Item) UnmarshalJSON(value []byte) error
- type Link
- type MemoizationStatus
- type Memoize
- type Metadata
- type MetricLabel
- type MetricType
- type Metrics
- type Mutex
- type MutexHolding
- type MutexStatus
- func (in *MutexStatus) DeepCopy() *MutexStatus
- func (in *MutexStatus) DeepCopyInto(out *MutexStatus)
- func (ms *MutexStatus) GetHolding(mutexName string) (int, MutexHolding)
- func (ms *MutexStatus) GetWaiting(mutexName string) (int, MutexHolding)
- func (ms *MutexStatus) LockAcquired(holderKey, lockKey string, currentHolders []string) bool
- func (ms *MutexStatus) LockReleased(holderKey, lockKey string) bool
- func (ms *MutexStatus) LockWaiting(holderKey, lockKey string, currentHolders []string) bool
- type NodePhase
- type NodeStatus
- func (n NodeStatus) CanRetry() bool
- func (n NodeStatus) Completed() bool
- func (in *NodeStatus) DeepCopy() *NodeStatus
- func (in *NodeStatus) DeepCopyInto(out *NodeStatus)
- func (n NodeStatus) FailedOrError() bool
- func (n NodeStatus) FinishTime() *metav1.Time
- func (n NodeStatus) Fulfilled() bool
- func (n NodeStatus) GetDuration() time.Duration
- func (n *NodeStatus) GetTemplateName() string
- func (n *NodeStatus) GetTemplateRef() *TemplateRef
- func (n NodeStatus) GetTemplateScope() (ResourceScope, string)
- func (n *NodeStatus) IsActiveSuspendNode() bool
- func (n NodeStatus) IsDaemoned() bool
- func (n NodeStatus) Omitted() bool
- func (n NodeStatus) Pending() bool
- func (n NodeStatus) StartTime() *metav1.Time
- func (n NodeStatus) Succeeded() bool
- type NodeSynchronizationStatus
- type NodeType
- type Nodes
- type NoneStrategy
- type OSSArtifact
- type OSSBucket
- type Outputs
- type ParallelSteps
- func (in *ParallelSteps) DeepCopy() *ParallelSteps
- func (in *ParallelSteps) DeepCopyInto(out *ParallelSteps)
- func (p ParallelSteps) MarshalJSON() ([]byte, error)
- func (b ParallelSteps) OpenAPISchemaFormat() string
- func (b ParallelSteps) OpenAPISchemaType() []string
- func (p *ParallelSteps) UnmarshalJSON(value []byte) error
- type Parameter
- type PodGC
- type PodGCStrategy
- type Progress
- type Prometheus
- func (in *Prometheus) DeepCopy() *Prometheus
- func (in *Prometheus) DeepCopyInto(out *Prometheus)
- func (p *Prometheus) GetDesc() string
- func (p *Prometheus) GetMetricLabels() map[string]string
- func (p *Prometheus) GetMetricType() MetricType
- func (p *Prometheus) GetValueString() string
- func (p *Prometheus) IsRealtime() bool
- func (p *Prometheus) SetValueString(val string)
- type RawArtifact
- type ResourceDuration
- type ResourceScope
- type ResourceTemplate
- type ResourcesDuration
- type RetryPolicy
- type RetryStrategy
- type S3Artifact
- type S3Bucket
- type ScriptTemplate
- type SemaphoreHolding
- type SemaphoreRef
- type SemaphoreStatus
- func (in *SemaphoreStatus) DeepCopy() *SemaphoreStatus
- func (in *SemaphoreStatus) DeepCopyInto(out *SemaphoreStatus)
- func (ss *SemaphoreStatus) GetHolding(semaphoreName string) (int, SemaphoreHolding)
- func (ss *SemaphoreStatus) GetWaiting(semaphoreName string) (int, SemaphoreHolding)
- func (ss *SemaphoreStatus) LockAcquired(holderKey, lockKey string, currentHolders []string) bool
- func (ss *SemaphoreStatus) LockReleased(holderKey, lockKey string) bool
- func (ss *SemaphoreStatus) LockWaiting(holderKey, lockKey string, currentHolders []string) bool
- type Sequence
- type ShutdownStrategy
- type Submit
- type SubmitOpts
- type SuppliedValueFrom
- type SuspendTemplate
- type Synchronization
- type SynchronizationAction
- type SynchronizationStatus
- type SynchronizationType
- type TTLStrategy
- type TarStrategy
- type Template
- func (in *Template) DeepCopy() *Template
- func (in *Template) DeepCopyInto(out *Template)
- func (tmpl *Template) GetBaseTemplate() *Template
- func (tmpl *Template) GetTemplateName() string
- func (tmpl *Template) GetTemplateRef() *TemplateRef
- func (tmpl *Template) GetType() TemplateType
- func (tmpl *Template) HasPodSpecPatch() bool
- func (tmpl *Template) IsLeaf() bool
- func (tmpl *Template) IsPodType() bool
- type TemplateHolder
- type TemplateRef
- type TemplateReferenceHolder
- type TemplateType
- type Type
- type UserContainer
- type ValueFrom
- type Version
- type VolumeClaimGC
- type VolumeClaimGCStrategy
- type Workflow
- func (in *Workflow) DeepCopy() *Workflow
- func (in *Workflow) DeepCopyInto(out *Workflow)
- func (in *Workflow) DeepCopyObject() runtime.Object
- func (wf *Workflow) GetNodeByName(nodeName string) *NodeStatus
- func (wf *Workflow) GetOffloadNodeStatusVersion() string
- func (wf *Workflow) GetResourceScope() ResourceScope
- func (wf *Workflow) GetSemaphoreKeys() []string
- func (wf *Workflow) GetStoredTemplate(scope ResourceScope, resourceName string, caller TemplateReferenceHolder) *Template
- func (w *Workflow) GetTTLStrategy() *TTLStrategy
- func (wf *Workflow) GetTemplateByName(name string) *Template
- func (wf *Workflow) GetWorkflowSpec() WorkflowSpec
- func (wf *Workflow) NodeID(name string) string
- func (wf *Workflow) SetStoredTemplate(scope ResourceScope, resourceName string, caller TemplateReferenceHolder, ...) (bool, error)
- type WorkflowEventBinding
- type WorkflowEventBindingList
- type WorkflowEventBindingSpec
- type WorkflowList
- type WorkflowPredicate
- type WorkflowSpec
- type WorkflowSpecHolder
- type WorkflowStatus
- func (in *WorkflowStatus) AnyActiveSuspendNode() bool
- func (in *WorkflowStatus) DeepCopy() *WorkflowStatus
- func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus)
- func (ws WorkflowStatus) Failed() bool
- func (ws WorkflowStatus) FinishTime() *metav1.Time
- func (ws WorkflowStatus) Fulfilled() bool
- func (ws *WorkflowStatus) GetDuration() time.Duration
- func (ws *WorkflowStatus) GetOffloadNodeStatusVersion() string
- func (ws *WorkflowStatus) IsOffloadNodeStatus() bool
- func (ws WorkflowStatus) StartTime() *metav1.Time
- func (ws WorkflowStatus) Successful() bool
- type WorkflowStep
- func (s *WorkflowStep) ContinuesOn(phase NodePhase) bool
- func (in *WorkflowStep) DeepCopy() *WorkflowStep
- func (in *WorkflowStep) DeepCopyInto(out *WorkflowStep)
- func (step *WorkflowStep) GetTemplateName() string
- func (step *WorkflowStep) GetTemplateRef() *TemplateRef
- func (step *WorkflowStep) ShouldExpand() bool
- type WorkflowTemplate
- func (in *WorkflowTemplate) DeepCopy() *WorkflowTemplate
- func (in *WorkflowTemplate) DeepCopyInto(out *WorkflowTemplate)
- func (in *WorkflowTemplate) DeepCopyObject() runtime.Object
- func (wftmpl *WorkflowTemplate) GetResourceScope() ResourceScope
- func (wftmpl *WorkflowTemplate) GetTemplateByName(name string) *Template
- func (wftmpl *WorkflowTemplate) GetWorkflowMetadata() *metav1.ObjectMeta
- func (wftmpl *WorkflowTemplate) GetWorkflowSpec() *WorkflowSpec
- type WorkflowTemplateList
- type WorkflowTemplateRef
- type WorkflowTemplateSpec
- type WorkflowTemplates
- type Workflows
- type ZipStrategy
Constants ¶
This section is empty.
Variables ¶
var ( WorkflowCreatedAfter = func(t time.Time) WorkflowPredicate { return func(wf Workflow) bool { return wf.ObjectMeta.CreationTimestamp.After(t) } } WorkflowFinishedBefore = func(t time.Time) WorkflowPredicate { return func(wf Workflow) bool { return !wf.Status.FinishedAt.IsZero() && wf.Status.FinishedAt.Time.Before(t) } } WorkflowRanBetween = func(startTime time.Time, endTime time.Time) WorkflowPredicate { return func(wf Workflow) bool { return wf.ObjectMeta.CreationTimestamp.After(startTime) && !wf.Status.FinishedAt.IsZero() && wf.Status.FinishedAt.Time.Before(endTime) } } )
var DefaultArtifactRepositoryRefStatus = &ArtifactRepositoryRefStatus{Default: true}
Functions ¶
func ContainsString ¶
func RemoveString ¶
func ResourceQuantityDenominator ¶
func ResourceQuantityDenominator(r apiv1.ResourceName) *resource.Quantity
Types ¶
type Amount ¶
type Amount struct {
Value json.Number `json:"-" protobuf:"bytes,1,opt,name=value,casttype=encoding/json.Number"`
}
Amount represent a numeric amount. +kubebuilder:validation:Type=number
func (*Amount) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Amount.
func (*Amount) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Amount) MarshalJSON ¶
func (Amount) OpenAPISchemaFormat ¶
func (Amount) OpenAPISchemaType ¶
func (*Amount) UnmarshalJSON ¶
type AnyString ¶
type AnyString string
* It's JSON type is just string. * It will unmarshall int64, int32, float64, float32, boolean, a plain string and represents it as string. * It will marshall back to string - marshalling is not symmetric.
func AnyStringPtr ¶
func AnyStringPtr(val interface{}) *AnyString
func ParseAnyString ¶
func ParseAnyString(val interface{}) AnyString
func (AnyString) MarshalJSON ¶
func (*AnyString) UnmarshalJSON ¶
type ArchiveStrategy ¶
type ArchiveStrategy struct { Tar *TarStrategy `json:"tar,omitempty" protobuf:"bytes,1,opt,name=tar"` None *NoneStrategy `json:"none,omitempty" protobuf:"bytes,2,opt,name=none"` Zip *ZipStrategy `json:"zip,omitempty" protobuf:"bytes,3,opt,name=zip"` }
ArchiveStrategy describes how to archive files/directory when saving artifacts
func (*ArchiveStrategy) DeepCopy ¶
func (in *ArchiveStrategy) DeepCopy() *ArchiveStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArchiveStrategy.
func (*ArchiveStrategy) DeepCopyInto ¶
func (in *ArchiveStrategy) DeepCopyInto(out *ArchiveStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Arguments ¶
type Arguments struct { // Parameters is the list of parameters to pass to the template or workflow // +patchStrategy=merge // +patchMergeKey=name Parameters []Parameter `json:"parameters,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,1,rep,name=parameters"` // Artifacts is the list of artifacts to pass to the template or workflow // +patchStrategy=merge // +patchMergeKey=name Artifacts Artifacts `json:"artifacts,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=artifacts"` }
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 ArgumentsProvider ¶
type Artifact ¶
type Artifact struct { // name of the artifact. must be unique within a template's inputs/outputs. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Path is the container path to the artifact Path string `json:"path,omitempty" protobuf:"bytes,2,opt,name=path"` // 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" protobuf:"varint,3,opt,name=mode"` // From allows an artifact to reference an artifact from a previous step From string `json:"from,omitempty" protobuf:"bytes,4,opt,name=from"` // ArtifactLocation contains the location of the artifact ArtifactLocation `json:",inline" protobuf:"bytes,5,opt,name=artifactLocation"` // 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" protobuf:"bytes,6,opt,name=globalName"` // Archive controls how the artifact will be saved to the artifact repository. Archive *ArchiveStrategy `json:"archive,omitempty" protobuf:"bytes,7,opt,name=archive"` // Make Artifacts optional, if Artifacts doesn't generate or exist Optional bool `json:"optional,omitempty" protobuf:"varint,8,opt,name=optional"` // SubPath allows an artifact to be sourced from a subpath within the specified source SubPath string `json:"subPath,omitempty" protobuf:"bytes,9,opt,name=subPath"` // If mode is set, apply the permission recursively into the artifact if it is a folder RecurseMode bool `json:"recurseMode,omitempty" protobuf:"varint,10,opt,name=recurseMode"` }
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) GetArchive ¶
func (a *Artifact) GetArchive() *ArchiveStrategy
type ArtifactLocation ¶
type ArtifactLocation struct { // ArchiveLogs indicates if the container logs should be archived ArchiveLogs *bool `json:"archiveLogs,omitempty" protobuf:"varint,1,opt,name=archiveLogs"` // S3 contains S3 artifact location details S3 *S3Artifact `json:"s3,omitempty" protobuf:"bytes,2,opt,name=s3"` // Git contains git artifact location details Git *GitArtifact `json:"git,omitempty" protobuf:"bytes,3,opt,name=git"` // HTTP contains HTTP artifact location details HTTP *HTTPArtifact `json:"http,omitempty" protobuf:"bytes,4,opt,name=http"` // Artifactory contains artifactory artifact location details Artifactory *ArtifactoryArtifact `json:"artifactory,omitempty" protobuf:"bytes,5,opt,name=artifactory"` // HDFS contains HDFS artifact location details HDFS *HDFSArtifact `json:"hdfs,omitempty" protobuf:"bytes,6,opt,name=hdfs"` // Raw contains raw artifact location details Raw *RawArtifact `json:"raw,omitempty" protobuf:"bytes,7,opt,name=raw"` // OSS contains OSS artifact location details OSS *OSSArtifact `json:"oss,omitempty" protobuf:"bytes,8,opt,name=oss"` // GCS contains GCS artifact location details GCS *GCSArtifact `json:"gcs,omitempty" protobuf:"bytes,9,opt,name=gcs"` }
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.
func (*ArtifactLocation) GetKey ¶
func (a *ArtifactLocation) GetKey() string
func (*ArtifactLocation) GetType ¶
func (a *ArtifactLocation) GetType() ArtifactLocationType
func (*ArtifactLocation) HasLocation ¶
func (a *ArtifactLocation) HasLocation() bool
HasLocation whether or not an artifact has a location defined
type ArtifactLocationType ¶
type ArtifactLocationType string
ArtifactLocationType is the type of artifact location
const ( ArtifactLocationS3 ArtifactLocationType = "S3" ArtifactLocationGit ArtifactLocationType = "Git" ArtifactLocationHTTP ArtifactLocationType = "HTTP" ArtifactLocationArtifactory ArtifactLocationType = "Artifactory" ArtifactLocationHDFS ArtifactLocationType = "HDFS" ArtifactLocationRaw ArtifactLocationType = "Raw" ArtifactLocationOSS ArtifactLocationType = "OSS" ArtifactLocationGCS ArtifactLocationType = "GCS" ArtifactLocationUnknown ArtifactLocationType = "" )
ArtifactLocationType
type ArtifactRepositoryRef ¶
type ArtifactRepositoryRef struct { // The name of the config map. Defaults to "artifact-repositories". ConfigMap string `json:"configMap,omitempty" protobuf:"bytes,1,opt,name=configMap"` // The config map key. Defaults to the value of the "workflows.argoproj.io/default-artifact-repository" annotation. Key string `json:"key,omitempty" protobuf:"bytes,2,opt,name=key"` }
+protobuf.options.(gogoproto.goproto_stringer)=false
func (*ArtifactRepositoryRef) DeepCopy ¶
func (in *ArtifactRepositoryRef) DeepCopy() *ArtifactRepositoryRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArtifactRepositoryRef.
func (*ArtifactRepositoryRef) DeepCopyInto ¶
func (in *ArtifactRepositoryRef) DeepCopyInto(out *ArtifactRepositoryRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArtifactRepositoryRef) GetConfigMapOr ¶
func (r *ArtifactRepositoryRef) GetConfigMapOr(configMap string) string
func (*ArtifactRepositoryRef) GetKeyOr ¶
func (r *ArtifactRepositoryRef) GetKeyOr(key string) string
func (*ArtifactRepositoryRef) String ¶
func (r *ArtifactRepositoryRef) String() string
type ArtifactRepositoryRefStatus ¶
type ArtifactRepositoryRefStatus struct { ArtifactRepositoryRef `json:",inline" protobuf:"bytes,1,opt,name=artifactRepositoryRef"` // The namespace of the config map. Defaults to the workflow's namespace, or the controller's namespace (if found). Namespace string `json:"namespace,omitempty" protobuf:"bytes,2,opt,name=namespace"` // If this ref represents the default artifact repository, rather than a config map. Default bool `json:"default,omitempty" protobuf:"varint,3,opt,name=default"` }
+protobuf.options.(gogoproto.goproto_stringer)=false
func (*ArtifactRepositoryRefStatus) DeepCopy ¶
func (in *ArtifactRepositoryRefStatus) DeepCopy() *ArtifactRepositoryRefStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArtifactRepositoryRefStatus.
func (*ArtifactRepositoryRefStatus) DeepCopyInto ¶
func (in *ArtifactRepositoryRefStatus) DeepCopyInto(out *ArtifactRepositoryRefStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArtifactRepositoryRefStatus) String ¶
func (r *ArtifactRepositoryRefStatus) String() string
type ArtifactoryArtifact ¶
type ArtifactoryArtifact struct { // URL of the artifact URL string `json:"url" protobuf:"bytes,1,opt,name=url"` ArtifactoryAuth `json:",inline" protobuf:"bytes,2,opt,name=artifactoryAuth"` }
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) HasLocation ¶
func (a *ArtifactoryArtifact) HasLocation() bool
type ArtifactoryAuth ¶
type ArtifactoryAuth struct { // UsernameSecret is the secret selector to the repository username UsernameSecret *apiv1.SecretKeySelector `json:"usernameSecret,omitempty" protobuf:"bytes,1,opt,name=usernameSecret"` // PasswordSecret is the secret selector to the repository password PasswordSecret *apiv1.SecretKeySelector `json:"passwordSecret,omitempty" protobuf:"bytes,2,opt,name=passwordSecret"` }
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 Artifacts ¶
type Artifacts []Artifact
func (Artifacts) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Artifacts.
func (Artifacts) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Artifacts) GetArtifactByName ¶
type Backoff ¶
type Backoff struct { // Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. "2m", "1h") Duration string `json:"duration,omitempty" protobuf:"varint,1,opt,name=duration"` // Factor is a factor to multiply the base duration after each failed retry Factor *intstr.IntOrString `json:"factor,omitempty" protobuf:"varint,2,opt,name=factor"` // MaxDuration is the maximum amount of time allowed for the backoff strategy MaxDuration string `json:"maxDuration,omitempty" protobuf:"varint,3,opt,name=maxDuration"` }
Backoff is a backoff strategy to use within retryStrategy
func (*Backoff) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backoff.
func (*Backoff) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cache ¶
type Cache struct { // ConfigMap sets a ConfigMap-based cache ConfigMap *apiv1.ConfigMapKeySelector `json:"configMap" protobuf:"bytes,1,opt,name=configMap"` }
Cache is the configuration for the type of cache to be used
func (*Cache) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cache.
func (*Cache) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterWorkflowTemplate ¶
type ClusterWorkflowTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` Spec WorkflowTemplateSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` }
ClusterWorkflowTemplate is the definition of a workflow template resource in cluster scope +genclient +genclient:noStatus +genclient:nonNamespaced +kubebuilder:resource:scope=Cluster,shortName=clusterwftmpl;cwft +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*ClusterWorkflowTemplate) DeepCopy ¶
func (in *ClusterWorkflowTemplate) DeepCopy() *ClusterWorkflowTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkflowTemplate.
func (*ClusterWorkflowTemplate) DeepCopyInto ¶
func (in *ClusterWorkflowTemplate) DeepCopyInto(out *ClusterWorkflowTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterWorkflowTemplate) DeepCopyObject ¶
func (in *ClusterWorkflowTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterWorkflowTemplate) GetResourceScope ¶
func (cwftmpl *ClusterWorkflowTemplate) GetResourceScope() ResourceScope
GetResourceScope returns the template scope of workflow template.
func (*ClusterWorkflowTemplate) GetTemplateByName ¶
func (cwftmpl *ClusterWorkflowTemplate) GetTemplateByName(name string) *Template
GetTemplateByName retrieves a defined template by its name
func (*ClusterWorkflowTemplate) GetWorkflowMetadata ¶
func (cwftmpl *ClusterWorkflowTemplate) GetWorkflowMetadata() *metav1.ObjectMeta
func (*ClusterWorkflowTemplate) GetWorkflowSpec ¶
func (cwftmpl *ClusterWorkflowTemplate) GetWorkflowSpec() *WorkflowSpec
GetWorkflowSpec returns the WorkflowSpec of cluster workflow template.
type ClusterWorkflowTemplateList ¶
type ClusterWorkflowTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` Items ClusterWorkflowTemplates `json:"items" protobuf:"bytes,2,rep,name=items"` }
ClusterWorkflowTemplateList is list of ClusterWorkflowTemplate resources +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*ClusterWorkflowTemplateList) DeepCopy ¶
func (in *ClusterWorkflowTemplateList) DeepCopy() *ClusterWorkflowTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkflowTemplateList.
func (*ClusterWorkflowTemplateList) DeepCopyInto ¶
func (in *ClusterWorkflowTemplateList) DeepCopyInto(out *ClusterWorkflowTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterWorkflowTemplateList) DeepCopyObject ¶
func (in *ClusterWorkflowTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterWorkflowTemplates ¶
type ClusterWorkflowTemplates []ClusterWorkflowTemplate
func (ClusterWorkflowTemplates) DeepCopy ¶
func (in ClusterWorkflowTemplates) DeepCopy() ClusterWorkflowTemplates
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkflowTemplates.
func (ClusterWorkflowTemplates) DeepCopyInto ¶
func (in ClusterWorkflowTemplates) DeepCopyInto(out *ClusterWorkflowTemplates)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ClusterWorkflowTemplates) Len ¶
func (w ClusterWorkflowTemplates) Len() int
func (ClusterWorkflowTemplates) Less ¶
func (w ClusterWorkflowTemplates) Less(i, j int) bool
func (ClusterWorkflowTemplates) Swap ¶
func (w ClusterWorkflowTemplates) Swap(i, j int)
type ConcurrencyPolicy ¶
type ConcurrencyPolicy string
const ( AllowConcurrent ConcurrencyPolicy = "Allow" ForbidConcurrent ConcurrencyPolicy = "Forbid" ReplaceConcurrent ConcurrencyPolicy = "Replace" )
type Condition ¶
type Condition struct { // Type is the type of condition Type ConditionType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type,casttype=ConditionType"` // Status is the status of the condition Status metav1.ConditionStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/apimachinery/pkg/apis/meta/v1.ConditionStatus"` // Message is the condition message Message string `json:"message,omitempty" protobuf:"bytes,3,opt,name=message"` }
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionType ¶
type ConditionType string
const ( // ConditionTypeCompleted is a signifies the workflow has completed ConditionTypeCompleted ConditionType = "Completed" // ConditionTypeSpecWarning is a warning on the current application spec ConditionTypeSpecWarning ConditionType = "SpecWarning" // ConditionTypeSpecWarning is an error on the current application spec ConditionTypeSpecError ConditionType = "SpecError" // ConditionTypeMetricsError is an error during metric emission ConditionTypeMetricsError ConditionType = "MetricsError" )
const ( // ConditionTypeSubmissionError signifies that there was an error when submitting the CronWorkflow as a Workflow ConditionTypeSubmissionError ConditionType = "SubmissionError" )
type Conditions ¶
type Conditions []Condition
func (Conditions) DeepCopy ¶
func (in Conditions) DeepCopy() Conditions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Conditions.
func (Conditions) DeepCopyInto ¶
func (in Conditions) DeepCopyInto(out *Conditions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Conditions) DisplayString ¶
func (cs *Conditions) DisplayString(fmtStr string, iconMap map[ConditionType]string) string
func (*Conditions) JoinConditions ¶
func (cs *Conditions) JoinConditions(conditions *Conditions)
func (*Conditions) RemoveCondition ¶
func (cs *Conditions) RemoveCondition(conditionType ConditionType)
func (*Conditions) UpsertCondition ¶
func (cs *Conditions) UpsertCondition(condition Condition)
func (*Conditions) UpsertConditionMessage ¶
func (cs *Conditions) UpsertConditionMessage(condition Condition)
type ContinueOn ¶
type ContinueOn struct { // +optional Error bool `json:"error,omitempty" protobuf:"varint,1,opt,name=error"` // +optional Failed bool `json:"failed,omitempty" protobuf:"varint,2,opt,name=failed"` }
ContinueOn defines if a workflow should continue even if a task or step fails/errors. It can be specified if the workflow should continue when the pod errors, fails or both.
func (*ContinueOn) DeepCopy ¶
func (in *ContinueOn) DeepCopy() *ContinueOn
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContinueOn.
func (*ContinueOn) DeepCopyInto ¶
func (in *ContinueOn) DeepCopyInto(out *ContinueOn)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Counter ¶
type Counter struct { // Value is the value of the metric Value string `json:"value" protobuf:"bytes,1,opt,name=value"` }
Counter is a Counter prometheus metric
func (*Counter) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Counter.
func (*Counter) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CreateS3BucketOptions ¶
type CreateS3BucketOptions struct { // ObjectLocking Enable object locking ObjectLocking bool `json:"objectLocking,omitempty" protobuf:"varint,3,opt,name=objectLocking"` }
CreateS3BucketOptions options used to determine automatic automatic bucket-creation process
func (*CreateS3BucketOptions) DeepCopy ¶
func (in *CreateS3BucketOptions) DeepCopy() *CreateS3BucketOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CreateS3BucketOptions.
func (*CreateS3BucketOptions) DeepCopyInto ¶
func (in *CreateS3BucketOptions) DeepCopyInto(out *CreateS3BucketOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CronWorkflow ¶
type CronWorkflow struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` Spec CronWorkflowSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` Status CronWorkflowStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` }
CronWorkflow is the definition of a scheduled workflow resource +genclient +genclient:noStatus +kubebuilder:resource:shortName=cwf;cronwf +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*CronWorkflow) DeepCopy ¶
func (in *CronWorkflow) DeepCopy() *CronWorkflow
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CronWorkflow.
func (*CronWorkflow) DeepCopyInto ¶
func (in *CronWorkflow) DeepCopyInto(out *CronWorkflow)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CronWorkflow) DeepCopyObject ¶
func (in *CronWorkflow) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CronWorkflowList ¶
type CronWorkflowList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` Items []CronWorkflow `json:"items" protobuf:"bytes,2,rep,name=items"` }
CronWorkflowList is list of CronWorkflow resources +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*CronWorkflowList) DeepCopy ¶
func (in *CronWorkflowList) DeepCopy() *CronWorkflowList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CronWorkflowList.
func (*CronWorkflowList) DeepCopyInto ¶
func (in *CronWorkflowList) DeepCopyInto(out *CronWorkflowList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CronWorkflowList) DeepCopyObject ¶
func (in *CronWorkflowList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CronWorkflowSpec ¶
type CronWorkflowSpec struct { // WorkflowSpec is the spec of the workflow to be run WorkflowSpec WorkflowSpec `json:"workflowSpec" protobuf:"bytes,1,opt,name=workflowSpec,casttype=WorkflowSpec"` // Schedule is a schedule to run the Workflow in Cron format Schedule string `json:"schedule" protobuf:"bytes,2,opt,name=schedule"` // ConcurrencyPolicy is the K8s-style concurrency policy that will be used ConcurrencyPolicy ConcurrencyPolicy `json:"concurrencyPolicy,omitempty" protobuf:"bytes,3,opt,name=concurrencyPolicy,casttype=ConcurrencyPolicy"` // Suspend is a flag that will stop new CronWorkflows from running if set to true Suspend bool `json:"suspend,omitempty" protobuf:"varint,4,opt,name=suspend"` // StartingDeadlineSeconds is the K8s-style deadline that will limit the time a CronWorkflow will be run after its // original scheduled time if it is missed. StartingDeadlineSeconds *int64 `json:"startingDeadlineSeconds,omitempty" protobuf:"varint,5,opt,name=startingDeadlineSeconds"` // SuccessfulJobsHistoryLimit is the number of successful jobs to be kept at a time SuccessfulJobsHistoryLimit *int32 `json:"successfulJobsHistoryLimit,omitempty" protobuf:"varint,6,opt,name=successfulJobsHistoryLimit"` // FailedJobsHistoryLimit is the number of failed jobs to be kept at a time FailedJobsHistoryLimit *int32 `json:"failedJobsHistoryLimit,omitempty" protobuf:"varint,7,opt,name=failedJobsHistoryLimit"` // Timezone is the timezone against which the cron schedule will be calculated, e.g. "Asia/Tokyo". Default is machine's local time. Timezone string `json:"timezone,omitempty" protobuf:"bytes,8,opt,name=timezone"` // WorkflowMetadata contains some metadata of the workflow to be run WorkflowMetadata *metav1.ObjectMeta `json:"workflowMetadata,omitempty" protobuf:"bytes,9,opt,name=workflowMeta"` }
CronWorkflowSpec is the specification of a CronWorkflow
func (*CronWorkflowSpec) DeepCopy ¶
func (in *CronWorkflowSpec) DeepCopy() *CronWorkflowSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CronWorkflowSpec.
func (*CronWorkflowSpec) DeepCopyInto ¶
func (in *CronWorkflowSpec) DeepCopyInto(out *CronWorkflowSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CronWorkflowStatus ¶
type CronWorkflowStatus struct { // Active is a list of active workflows stemming from this CronWorkflow Active []v1.ObjectReference `json:"active" protobuf:"bytes,1,rep,name=active"` // LastScheduleTime is the last time the CronWorkflow was scheduled LastScheduledTime *metav1.Time `json:"lastScheduledTime" protobuf:"bytes,2,opt,name=lastScheduledTime"` // Conditions is a list of conditions the CronWorkflow may have Conditions Conditions `json:"conditions" protobuf:"bytes,3,rep,name=conditions"` }
CronWorkflowStatus is the status of a CronWorkflow
func (*CronWorkflowStatus) DeepCopy ¶
func (in *CronWorkflowStatus) DeepCopy() *CronWorkflowStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CronWorkflowStatus.
func (*CronWorkflowStatus) DeepCopyInto ¶
func (in *CronWorkflowStatus) DeepCopyInto(out *CronWorkflowStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CronWorkflowStatus) HasActiveUID ¶
func (c *CronWorkflowStatus) HasActiveUID(uid types.UID) bool
type DAGTask ¶
type DAGTask struct { // Name is the name of the target Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Name of template to execute Template string `json:"template,omitempty" protobuf:"bytes,2,opt,name=template"` // Arguments are the parameter and artifact arguments to the template Arguments Arguments `json:"arguments,omitempty" protobuf:"bytes,3,opt,name=arguments"` // TemplateRef is the reference to the template resource to execute. TemplateRef *TemplateRef `json:"templateRef,omitempty" protobuf:"bytes,4,opt,name=templateRef"` // Dependencies are name of other targets which this depends on Dependencies []string `json:"dependencies,omitempty" protobuf:"bytes,5,rep,name=dependencies"` // WithItems expands a task into multiple parallel tasks from the items in the list WithItems []Item `json:"withItems,omitempty" protobuf:"bytes,6,rep,name=withItems"` // WithParam expands a task into multiple parallel tasks from the value in the parameter, // which is expected to be a JSON list. WithParam string `json:"withParam,omitempty" protobuf:"bytes,7,opt,name=withParam"` // WithSequence expands a task into a numeric sequence WithSequence *Sequence `json:"withSequence,omitempty" protobuf:"bytes,8,opt,name=withSequence"` // When is an expression in which the task should conditionally execute When string `json:"when,omitempty" protobuf:"bytes,9,opt,name=when"` // ContinueOn makes argo to proceed with the following step even if this step fails. // Errors and Failed states can be specified ContinueOn *ContinueOn `json:"continueOn,omitempty" protobuf:"bytes,10,opt,name=continueOn"` // OnExit is a template reference which is invoked at the end of the // template, irrespective of the success, failure, or error of the // primary template. OnExit string `json:"onExit,omitempty" protobuf:"bytes,11,opt,name=onExit"` // Depends are name of other targets which this depends on Depends string `json:"depends,omitempty" protobuf:"bytes,12,opt,name=depends"` }
DAGTask represents a node in the graph during DAG execution
func (*DAGTask) ContinuesOn ¶
ContinuesOn returns whether the DAG should be proceeded if the task fails or errors.
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.
func (*DAGTask) GetTemplateName ¶
func (*DAGTask) GetTemplateRef ¶
func (t *DAGTask) GetTemplateRef() *TemplateRef
func (*DAGTask) ShouldExpand ¶
type DAGTemplate ¶
type DAGTemplate struct { // Target are one or more names of targets to execute in a DAG Target string `json:"target,omitempty" protobuf:"bytes,1,opt,name=target"` // Tasks are a list of DAG tasks // +patchStrategy=merge // +patchMergeKey=name Tasks []DAGTask `json:"tasks" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=tasks"` // This flag is for DAG logic. The DAG logic has a built-in "fail fast" feature to stop scheduling new steps, // as soon as it detects that one of the DAG nodes is failed. Then it waits until all DAG nodes are completed // before failing the DAG itself. // The FailFast flag default is true, if set to false, it will allow a DAG to run all branches of the DAG to // completion (either success or failure), regardless of the failed outcomes of branches in the DAG. // More info and example about this feature at https://github.com/argoproj/argo/issues/1442 FailFast *bool `json:"failFast,omitempty" protobuf:"varint,3,opt,name=failFast"` }
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 EstimatedDuration ¶
type EstimatedDuration int
EstimatedDuration is in seconds.
func NewEstimatedDuration ¶
func NewEstimatedDuration(d time.Duration) EstimatedDuration
func (EstimatedDuration) ToDuration ¶
func (d EstimatedDuration) ToDuration() time.Duration
type Event ¶
type Event struct { // Selector (https://github.com/antonmedv/expr) that we must must match the event. E.g. `payload.message == "test"` Selector string `json:"selector" protobuf:"bytes,1,opt,name=selector"` }
func (*Event) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Event.
func (*Event) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecutorConfig ¶
type ExecutorConfig struct { // ServiceAccountName specifies the service account name of the executor container. ServiceAccountName string `json:"serviceAccountName,omitempty" protobuf:"bytes,1,opt,name=serviceAccountName"` }
ExecutorConfig holds configurations of an executor container.
func (*ExecutorConfig) DeepCopy ¶
func (in *ExecutorConfig) DeepCopy() *ExecutorConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutorConfig.
func (*ExecutorConfig) DeepCopyInto ¶
func (in *ExecutorConfig) DeepCopyInto(out *ExecutorConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCSArtifact ¶
type GCSArtifact struct { GCSBucket `json:",inline" protobuf:"bytes,1,opt,name=gCSBucket"` // Key is the path in the bucket where the artifact resides Key string `json:"key" protobuf:"bytes,2,opt,name=key"` }
GCSArtifact is the location of a GCS artifact
func (*GCSArtifact) DeepCopy ¶
func (in *GCSArtifact) DeepCopy() *GCSArtifact
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCSArtifact.
func (*GCSArtifact) DeepCopyInto ¶
func (in *GCSArtifact) DeepCopyInto(out *GCSArtifact)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCSArtifact) HasLocation ¶
func (g *GCSArtifact) HasLocation() bool
type GCSBucket ¶
type GCSBucket struct { // Bucket is the name of the bucket Bucket string `json:"bucket" protobuf:"bytes,1,opt,name=bucket"` // ServiceAccountKeySecret is the secret selector to the bucket's service account key ServiceAccountKeySecret apiv1.SecretKeySelector `json:"serviceAccountKeySecret,omitempty" protobuf:"bytes,2,opt,name=serviceAccountKeySecret"` }
GCSBucket contains the access information for interfacring with a GCS bucket
func (*GCSBucket) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCSBucket.
func (*GCSBucket) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Gauge ¶
type Gauge struct { // Value is the value of the metric Value string `json:"value" protobuf:"bytes,1,opt,name=value"` // Realtime emits this metric in real time if applicable Realtime *bool `json:"realtime" protobuf:"varint,2,opt,name=realtime"` }
Gauge is a Gauge prometheus metric
func (*Gauge) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gauge.
func (*Gauge) DeepCopyInto ¶
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" protobuf:"bytes,1,opt,name=repo"` // Revision is the git commit, tag, branch to checkout Revision string `json:"revision,omitempty" protobuf:"bytes,2,opt,name=revision"` // Depth specifies clones/fetches should be shallow and include the given // number of commits from the branch tip Depth *uint64 `json:"depth,omitempty" protobuf:"bytes,3,opt,name=depth"` // Fetch specifies a number of refs that should be fetched before checkout Fetch []string `json:"fetch,omitempty" protobuf:"bytes,4,rep,name=fetch"` // UsernameSecret is the secret selector to the repository username UsernameSecret *apiv1.SecretKeySelector `json:"usernameSecret,omitempty" protobuf:"bytes,5,opt,name=usernameSecret"` // PasswordSecret is the secret selector to the repository password PasswordSecret *apiv1.SecretKeySelector `json:"passwordSecret,omitempty" protobuf:"bytes,6,opt,name=passwordSecret"` // SSHPrivateKeySecret is the secret selector to the repository ssh private key SSHPrivateKeySecret *apiv1.SecretKeySelector `json:"sshPrivateKeySecret,omitempty" protobuf:"bytes,7,opt,name=sshPrivateKeySecret"` // InsecureIgnoreHostKey disables SSH strict host key checking during git clone InsecureIgnoreHostKey bool `json:"insecureIgnoreHostKey,omitempty" protobuf:"varint,8,opt,name=insecureIgnoreHostKey"` }
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.
func (*GitArtifact) GetDepth ¶
func (g *GitArtifact) GetDepth() int
func (*GitArtifact) HasLocation ¶
func (g *GitArtifact) HasLocation() bool
type HDFSArtifact ¶
type HDFSArtifact struct { HDFSConfig `json:",inline" protobuf:"bytes,1,opt,name=hDFSConfig"` // Path is a file path in HDFS Path string `json:"path" protobuf:"bytes,2,opt,name=path"` // Force copies a file forcibly even if it exists (default: false) Force bool `json:"force,omitempty" protobuf:"varint,3,opt,name=force"` }
HDFSArtifact is the location of an HDFS artifact
func (*HDFSArtifact) DeepCopy ¶
func (in *HDFSArtifact) DeepCopy() *HDFSArtifact
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HDFSArtifact.
func (*HDFSArtifact) DeepCopyInto ¶
func (in *HDFSArtifact) DeepCopyInto(out *HDFSArtifact)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HDFSArtifact) HasLocation ¶
func (h *HDFSArtifact) HasLocation() bool
type HDFSConfig ¶
type HDFSConfig struct { HDFSKrbConfig `json:",inline" protobuf:"bytes,1,opt,name=hDFSKrbConfig"` // Addresses is accessible addresses of HDFS name nodes Addresses []string `json:"addresses" protobuf:"bytes,2,rep,name=addresses"` // HDFSUser is the user to access HDFS file system. // It is ignored if either ccache or keytab is used. HDFSUser string `json:"hdfsUser,omitempty" protobuf:"bytes,3,opt,name=hdfsUser"` }
HDFSConfig is configurations for HDFS
func (*HDFSConfig) DeepCopy ¶
func (in *HDFSConfig) DeepCopy() *HDFSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HDFSConfig.
func (*HDFSConfig) DeepCopyInto ¶
func (in *HDFSConfig) DeepCopyInto(out *HDFSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HDFSKrbConfig ¶
type HDFSKrbConfig struct { // KrbCCacheSecret is the secret selector for Kerberos ccache // Either ccache or keytab can be set to use Kerberos. KrbCCacheSecret *apiv1.SecretKeySelector `json:"krbCCacheSecret,omitempty" protobuf:"bytes,1,opt,name=krbCCacheSecret"` // KrbKeytabSecret is the secret selector for Kerberos keytab // Either ccache or keytab can be set to use Kerberos. KrbKeytabSecret *apiv1.SecretKeySelector `json:"krbKeytabSecret,omitempty" protobuf:"bytes,2,opt,name=krbKeytabSecret"` // KrbUsername is the Kerberos username used with Kerberos keytab // It must be set if keytab is used. KrbUsername string `json:"krbUsername,omitempty" protobuf:"bytes,3,opt,name=krbUsername"` // KrbRealm is the Kerberos realm used with Kerberos keytab // It must be set if keytab is used. KrbRealm string `json:"krbRealm,omitempty" protobuf:"bytes,4,opt,name=krbRealm"` // KrbConfig is the configmap selector for Kerberos config as string // It must be set if either ccache or keytab is used. KrbConfigConfigMap *apiv1.ConfigMapKeySelector `json:"krbConfigConfigMap,omitempty" protobuf:"bytes,5,opt,name=krbConfigConfigMap"` // KrbServicePrincipalName is the principal name of Kerberos service // It must be set if either ccache or keytab is used. KrbServicePrincipalName string `json:"krbServicePrincipalName,omitempty" protobuf:"bytes,6,opt,name=krbServicePrincipalName"` }
HDFSKrbConfig is auth configurations for Kerberos
func (*HDFSKrbConfig) DeepCopy ¶
func (in *HDFSKrbConfig) DeepCopy() *HDFSKrbConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HDFSKrbConfig.
func (*HDFSKrbConfig) DeepCopyInto ¶
func (in *HDFSKrbConfig) DeepCopyInto(out *HDFSKrbConfig)
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" protobuf:"bytes,1,opt,name=url"` // Headers are an optional list of headers to send with HTTP requests for artifacts Headers []Header `json:"headers,omitempty" protobuf:"bytes,2,opt,name=headers"` }
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.
func (*HTTPArtifact) HasLocation ¶
func (h *HTTPArtifact) HasLocation() bool
type Header ¶
type Header struct { // Name is the header name Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Value is the literal value to use for the header Value string `json:"value" protobuf:"bytes,2,opt,name=value"` }
Header indicate a key-value request header to be used when fetching artifacts over HTTP
func (*Header) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Header.
func (*Header) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Histogram ¶
type Histogram struct { // Value is the value of the metric Value string `json:"value" protobuf:"bytes,3,opt,name=value"` // Buckets is a list of bucket divisors for the histogram Buckets []Amount `json:"buckets" protobuf:"bytes,4,rep,name=buckets"` }
Histogram is a Histogram prometheus metric
func (*Histogram) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Histogram.
func (*Histogram) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Histogram) GetBuckets ¶
type Inputs ¶
type Inputs struct { // Parameters are a list of parameters passed as inputs // +patchStrategy=merge // +patchMergeKey=name Parameters []Parameter `json:"parameters,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,1,opt,name=parameters"` // Artifact are a list of artifacts passed as inputs // +patchStrategy=merge // +patchMergeKey=name Artifacts Artifacts `json:"artifacts,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,opt,name=artifacts"` }
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 json.RawMessage `json:"-" protobuf:"bytes,1,opt,name=value,casttype=encoding/json.RawMessage"`
}
Item expands a single workflow step into multiple parallel steps The value of Item can be a map, string, bool, or number
+protobuf.options.(gogoproto.goproto_stringer)=false +kubebuilder:validation:Type=object
func (*Item) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Item.
func (*Item) DeepCopyInto ¶
func (*Item) GetListVal ¶
you MUST assert `GetType() == List` before invocation as this does not return errors
func (*Item) GetMapVal ¶
you MUST assert `GetType() == Map` before invocation as this does not return errors
func (*Item) GetStrVal ¶
you MUST assert `GetType() == String` before invocation as this does not return errors
func (Item) MarshalJSON ¶
func (Item) OpenAPISchemaFormat ¶
func (Item) OpenAPISchemaType ¶
See: https://github.com/kubernetes/kube-openapi/tree/master/pkg/generators
func (*Item) UnmarshalJSON ¶
type Link ¶
type Link struct { // The name of the link, E.g. "Workflow Logs" or "Pod Logs" Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Either "workflow" or "pod" Scope string `json:"scope" protobuf:"bytes,2,opt,name=scope"` // The URL. May contain "${metadata.namespace}", "${metadata.name}", "${status.startedAt}" and "${status.finishedAt}". URL string `json:"url" protobuf:"bytes,3,opt,name=url"` }
A link to another app. +patchStrategy=merge +patchMergeKey=name
func (*Link) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Link.
func (*Link) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MemoizationStatus ¶
type MemoizationStatus struct { // Hit indicates whether this node was created from a cache entry Hit bool `json:"hit" protobuf:"bytes,1,opt,name=hit"` // Key is the name of the key used for this node's cache Key string `json:"key" protobuf:"bytes,2,opt,name=key"` // Cache is the name of the cache that was used CacheName string `json:"cacheName" protobuf:"bytes,3,opt,name=cacheName"` }
MemoizationStatus is the status of this memoized node
func (*MemoizationStatus) DeepCopy ¶
func (in *MemoizationStatus) DeepCopy() *MemoizationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoizationStatus.
func (*MemoizationStatus) DeepCopyInto ¶
func (in *MemoizationStatus) DeepCopyInto(out *MemoizationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Memoize ¶
type Memoize struct { // Key is the key to use as the caching key Key string `json:"key" protobuf:"bytes,1,opt,name=key"` // Cache sets and configures the kind of cache Cache *Cache `json:"cache" protobuf:"bytes,2,opt,name=cache"` // MaxAge is the maximum age (e.g. "180s", "24h") of an entry that is still considered valid. If an entry is older // than the MaxAge, it will be ignored. MaxAge string `json:"maxAge" protobuf:"bytes,3,opt,name=maxAge"` }
Memoization enables caching for the Outputs of the template
func (*Memoize) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Memoize.
func (*Memoize) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Metadata ¶
type Metadata struct { Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,1,opt,name=annotations"` Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,2,opt,name=labels"` }
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 MetricLabel ¶
type MetricLabel struct { Key string `json:"key" protobuf:"bytes,1,opt,name=key"` Value string `json:"value" protobuf:"bytes,2,opt,name=value"` }
MetricLabel is a single label for a prometheus metric
func (*MetricLabel) DeepCopy ¶
func (in *MetricLabel) DeepCopy() *MetricLabel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricLabel.
func (*MetricLabel) DeepCopyInto ¶
func (in *MetricLabel) DeepCopyInto(out *MetricLabel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricType ¶
type MetricType string
const ( MetricTypeGauge MetricType = "Gauge" MetricTypeHistogram MetricType = "Histogram" MetricTypeCounter MetricType = "Counter" MetricTypeUnknown MetricType = "Unknown" )
type Metrics ¶
type Metrics struct { // Prometheus is a list of prometheus metrics to be emitted Prometheus []*Prometheus `json:"prometheus" protobuf:"bytes,1,rep,name=prometheus"` }
Metrics are a list of metrics emitted from a Workflow/Template
func (*Metrics) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metrics.
func (*Metrics) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Mutex ¶
type Mutex struct { // name of the mutex Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` }
Mutex holds Mutex configuration
func (*Mutex) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mutex.
func (*Mutex) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MutexHolding ¶
type MutexHolding struct { // Reference for the mutex // e.g: ${namespace}/mutex/${mutexName} Mutex string `json:"mutex,omitempty" protobuf:"bytes,1,opt,name=mutex"` // Holder is a reference to the object which holds the Mutex. // Holding Scenario: // 1. Current workflow's NodeID which is holding the lock. // e.g: ${NodeID} // Waiting Scenario: // 1. Current workflow or other workflow NodeID which is holding the lock. // e.g: ${WorkflowName}/${NodeID} Holder string `json:"holder,omitempty" protobuf:"bytes,2,opt,name=holder"` }
MutexHolding describes the mutex and the object which is holding it.
func (*MutexHolding) DeepCopy ¶
func (in *MutexHolding) DeepCopy() *MutexHolding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutexHolding.
func (*MutexHolding) DeepCopyInto ¶
func (in *MutexHolding) DeepCopyInto(out *MutexHolding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MutexStatus ¶
type MutexStatus struct { // Holding is a list of mutexes and their respective objects that are held by mutex lock for this workflow. // +listType=atomic Holding []MutexHolding `json:"holding,omitempty" protobuf:"bytes,1,opt,name=holding"` // Waiting is a list of mutexes and their respective objects this workflow is waiting for. // +listType=atomic Waiting []MutexHolding `json:"waiting,omitempty" protobuf:"bytes,2,opt,name=waiting"` }
MutexStatus contains which objects hold mutex locks, and which objects this workflow is waiting on to release locks.
func (*MutexStatus) DeepCopy ¶
func (in *MutexStatus) DeepCopy() *MutexStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutexStatus.
func (*MutexStatus) DeepCopyInto ¶
func (in *MutexStatus) DeepCopyInto(out *MutexStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MutexStatus) GetHolding ¶
func (ms *MutexStatus) GetHolding(mutexName string) (int, MutexHolding)
func (*MutexStatus) GetWaiting ¶
func (ms *MutexStatus) GetWaiting(mutexName string) (int, MutexHolding)
func (*MutexStatus) LockAcquired ¶
func (ms *MutexStatus) LockAcquired(holderKey, lockKey string, currentHolders []string) bool
func (*MutexStatus) LockReleased ¶
func (ms *MutexStatus) LockReleased(holderKey, lockKey string) bool
func (*MutexStatus) LockWaiting ¶
func (ms *MutexStatus) LockWaiting(holderKey, lockKey string, currentHolders []string) bool
type NodePhase ¶
type NodePhase string
NodePhase is a label for the condition of a node at the current time.
const ( // Node is waiting to run NodePending NodePhase = "Pending" // Node is running NodeRunning NodePhase = "Running" // Node finished with no errors NodeSucceeded NodePhase = "Succeeded" // Node was skipped NodeSkipped NodePhase = "Skipped" // Node or child of node exited with non-0 code NodeFailed NodePhase = "Failed" // Node had an error other than a non 0 exit code NodeError NodePhase = "Error" // Node was omitted because its `depends` condition was not met (only relevant in DAGs) NodeOmitted NodePhase = "Omitted" )
Workflow and node statuses
func (NodePhase) Completed ¶
Completed returns whether or not a phase completed. Notably, a skipped phase is not considered as having completed
func (NodePhase) FailedOrError ¶
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" protobuf:"bytes,1,opt,name=id"` // Name is unique name in the node tree used to generate the node ID Name string `json:"name" protobuf:"bytes,2,opt,name=name"` // DisplayName is a human readable representation of the node. Unique within a template boundary DisplayName string `json:"displayName,omitempty" protobuf:"bytes,3,opt,name=displayName"` // Type indicates type of node Type NodeType `json:"type" protobuf:"bytes,4,opt,name=type,casttype=NodeType"` // TemplateName is the template name which this node corresponds to. // Not applicable to virtual nodes (e.g. Retry, StepGroup) TemplateName string `json:"templateName,omitempty" protobuf:"bytes,5,opt,name=templateName"` // TemplateRef is the reference to the template resource which this node corresponds to. // Not applicable to virtual nodes (e.g. Retry, StepGroup) TemplateRef *TemplateRef `json:"templateRef,omitempty" protobuf:"bytes,6,opt,name=templateRef"` // StoredTemplateID is the ID of stored template. // DEPRECATED: This value is not used anymore. StoredTemplateID string `json:"storedTemplateID,omitempty" protobuf:"bytes,18,opt,name=storedTemplateID"` // WorkflowTemplateName is the WorkflowTemplate resource name on which the resolved template of this node is retrieved. // DEPRECATED: This value is not used anymore. WorkflowTemplateName string `json:"workflowTemplateName,omitempty" protobuf:"bytes,19,opt,name=workflowTemplateName"` // TemplateScope is the template scope in which the template of this node was retrieved. TemplateScope string `json:"templateScope,omitempty" protobuf:"bytes,20,opt,name=templateScope"` // 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" protobuf:"bytes,7,opt,name=phase,casttype=NodePhase"` // BoundaryID indicates the node ID of the associated template root node in which this node belongs to BoundaryID string `json:"boundaryID,omitempty" protobuf:"bytes,8,opt,name=boundaryID"` // A human readable message indicating details about why the node is in this condition. Message string `json:"message,omitempty" protobuf:"bytes,9,opt,name=message"` // Time at which this node started StartedAt metav1.Time `json:"startedAt,omitempty" protobuf:"bytes,10,opt,name=startedAt"` // Time at which this node completed FinishedAt metav1.Time `json:"finishedAt,omitempty" protobuf:"bytes,11,opt,name=finishedAt"` // EstimatedDuration in seconds. EstimatedDuration EstimatedDuration `json:"estimatedDuration,omitempty" protobuf:"varint,24,opt,name=estimatedDuration,casttype=EstimatedDuration"` // Progress to completion Progress Progress `json:"progress,omitempty" protobuf:"bytes,26,opt,name=progress,casttype=Progress"` // ResourcesDuration is indicative, but not accurate, resource duration. This is populated when the nodes completes. ResourcesDuration ResourcesDuration `json:"resourcesDuration,omitempty" protobuf:"bytes,21,opt,name=resourcesDuration"` // PodIP captures the IP of the pod for daemoned steps PodIP string `json:"podIP,omitempty" protobuf:"bytes,12,opt,name=podIP"` // Daemoned tracks whether or not this node was daemoned and need to be terminated Daemoned *bool `json:"daemoned,omitempty" protobuf:"varint,13,opt,name=daemoned"` // Inputs captures input parameter values and artifact locations supplied to this template invocation Inputs *Inputs `json:"inputs,omitempty" protobuf:"bytes,14,opt,name=inputs"` // Outputs captures output parameter values and artifact locations produced by this template invocation Outputs *Outputs `json:"outputs,omitempty" protobuf:"bytes,15,opt,name=outputs"` // Children is a list of child node IDs Children []string `json:"children,omitempty" protobuf:"bytes,16,rep,name=children"` // 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" protobuf:"bytes,17,rep,name=outboundNodes"` // HostNodeName name of the Kubernetes node on which the Pod is running, if applicable HostNodeName string `json:"hostNodeName,omitempty" protobuf:"bytes,22,rep,name=hostNodeName"` // MemoizationStatus holds information about cached nodes MemoizationStatus *MemoizationStatus `json:"memoizationStatus,omitempty" protobuf:"varint,23,opt,name=memoizationStatus"` // SynchronizationStatus is the synchronization status of the node SynchronizationStatus *NodeSynchronizationStatus `json:"synchronizationStatus,omitempty" protobuf:"bytes,25,opt,name=synchronizationStatus"` }
NodeStatus contains status information about an individual node in the workflow
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 a node completed. Notably, a skipped node is not considered as having completed
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) FailedOrError ¶
func (n NodeStatus) FailedOrError() bool
func (NodeStatus) FinishTime ¶
func (n NodeStatus) FinishTime() *metav1.Time
func (NodeStatus) Fulfilled ¶
func (n NodeStatus) Fulfilled() bool
Fulfilled returns whether a node is fulfilled, i.e. it finished execution, was skipped, or was dameoned successfully
func (NodeStatus) GetDuration ¶
func (n NodeStatus) GetDuration() time.Duration
func (*NodeStatus) GetTemplateName ¶
func (n *NodeStatus) GetTemplateName() string
func (*NodeStatus) GetTemplateRef ¶
func (n *NodeStatus) GetTemplateRef() *TemplateRef
func (NodeStatus) GetTemplateScope ¶
func (n NodeStatus) GetTemplateScope() (ResourceScope, string)
func (*NodeStatus) IsActiveSuspendNode ¶
func (n *NodeStatus) IsActiveSuspendNode() bool
IsActiveSuspendNode returns whether this node is an active suspend node
func (NodeStatus) IsDaemoned ¶
func (n NodeStatus) IsDaemoned() bool
IsDaemoned returns whether or not the node is deamoned
func (NodeStatus) Omitted ¶
func (n NodeStatus) Omitted() bool
func (NodeStatus) Pending ¶
func (n NodeStatus) Pending() bool
Pending returns whether or not the node is in pending state
func (NodeStatus) StartTime ¶
func (n NodeStatus) StartTime() *metav1.Time
func (NodeStatus) Succeeded ¶
func (n NodeStatus) Succeeded() bool
type NodeSynchronizationStatus ¶
type NodeSynchronizationStatus struct { // Waiting is the name of the lock that this node is waiting for Waiting string `json:"waiting,omitempty" protobuf:"bytes,1,opt,name=waiting"` }
NodeSynchronizationStatus stores the status of a node
func (*NodeSynchronizationStatus) DeepCopy ¶
func (in *NodeSynchronizationStatus) DeepCopy() *NodeSynchronizationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSynchronizationStatus.
func (*NodeSynchronizationStatus) DeepCopyInto ¶
func (in *NodeSynchronizationStatus) DeepCopyInto(out *NodeSynchronizationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeType ¶
type NodeType string
NodeType is the type of a node
const ( NodeTypePod NodeType = "Pod" NodeTypeSteps NodeType = "Steps" NodeTypeStepGroup NodeType = "StepGroup" NodeTypeDAG NodeType = "DAG" NodeTypeTaskGroup NodeType = "TaskGroup" NodeTypeRetry NodeType = "Retry" NodeTypeSkipped NodeType = "Skipped" NodeTypeSuspend NodeType = "Suspend" )
Node types
type Nodes ¶
type Nodes map[string]NodeStatus
func (Nodes) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Nodes.
func (Nodes) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Nodes) FindByDisplayName ¶
func (n Nodes) FindByDisplayName(name string) *NodeStatus
type NoneStrategy ¶
type NoneStrategy struct{}
NoneStrategy indicates to skip tar process and upload the files or directory tree as independent files. Note that if the artifact is a directory, the artifact driver must support the ability to save/load the directory appropriately.
func (*NoneStrategy) DeepCopy ¶
func (in *NoneStrategy) DeepCopy() *NoneStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NoneStrategy.
func (*NoneStrategy) DeepCopyInto ¶
func (in *NoneStrategy) DeepCopyInto(out *NoneStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OSSArtifact ¶
type OSSArtifact struct { OSSBucket `json:",inline" protobuf:"bytes,1,opt,name=oSSBucket"` // Key is the path in the bucket where the artifact resides Key string `json:"key" protobuf:"bytes,2,opt,name=key"` }
OSSArtifact is the location of an Alibaba Cloud OSS artifact
func (*OSSArtifact) DeepCopy ¶
func (in *OSSArtifact) DeepCopy() *OSSArtifact
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSSArtifact.
func (*OSSArtifact) DeepCopyInto ¶
func (in *OSSArtifact) DeepCopyInto(out *OSSArtifact)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OSSArtifact) HasLocation ¶
func (o *OSSArtifact) HasLocation() bool
type OSSBucket ¶
type OSSBucket struct { // Endpoint is the hostname of the bucket endpoint Endpoint string `json:"endpoint" protobuf:"bytes,1,opt,name=endpoint"` // Bucket is the name of the bucket Bucket string `json:"bucket" protobuf:"bytes,2,opt,name=bucket"` // AccessKeySecret is the secret selector to the bucket's access key AccessKeySecret apiv1.SecretKeySelector `json:"accessKeySecret" protobuf:"bytes,3,opt,name=accessKeySecret"` // SecretKeySecret is the secret selector to the bucket's secret key SecretKeySecret apiv1.SecretKeySelector `json:"secretKeySecret" protobuf:"bytes,4,opt,name=secretKeySecret"` }
OSSBucket contains the access information required for interfacing with an Alibaba Cloud OSS bucket
func (*OSSBucket) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSSBucket.
func (*OSSBucket) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Outputs ¶
type Outputs struct { // Parameters holds the list of output parameters produced by a step // +patchStrategy=merge // +patchMergeKey=name Parameters []Parameter `json:"parameters,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,1,rep,name=parameters"` // Artifacts holds the list of output artifacts produced by a step // +patchStrategy=merge // +patchMergeKey=name Artifacts Artifacts `json:"artifacts,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=artifacts"` // Result holds the result (stdout) of a script template Result *string `json:"result,omitempty" protobuf:"bytes,3,opt,name=result"` // ExitCode holds the exit code of a script template ExitCode *string `json:"exitCode,omitempty" protobuf:"bytes,4,opt,name=exitCode"` }
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) GetArtifactByName ¶
func (*Outputs) HasOutputs ¶
HasOutputs returns whether or not there are any outputs
type ParallelSteps ¶
type ParallelSteps struct {
Steps []WorkflowStep `json:"-" protobuf:"bytes,1,rep,name=steps"`
}
+kubebuilder:validation:Type=array
func (*ParallelSteps) DeepCopy ¶
func (in *ParallelSteps) DeepCopy() *ParallelSteps
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParallelSteps.
func (*ParallelSteps) DeepCopyInto ¶
func (in *ParallelSteps) DeepCopyInto(out *ParallelSteps)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ParallelSteps) MarshalJSON ¶
func (p ParallelSteps) MarshalJSON() ([]byte, error)
func (ParallelSteps) OpenAPISchemaFormat ¶
func (b ParallelSteps) OpenAPISchemaFormat() string
func (ParallelSteps) OpenAPISchemaType ¶
func (b ParallelSteps) OpenAPISchemaType() []string
func (*ParallelSteps) UnmarshalJSON ¶
func (p *ParallelSteps) UnmarshalJSON(value []byte) error
WorkflowStep is an anonymous list inside of ParallelSteps (i.e. it does not have a key), so it needs its own custom Unmarshaller
type Parameter ¶
type Parameter struct { // Name is the parameter name Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Default is the default value to use for an input parameter if a value was not supplied Default *AnyString `json:"default,omitempty" protobuf:"bytes,2,opt,name=default"` // 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 *AnyString `json:"value,omitempty" protobuf:"bytes,3,opt,name=value"` // ValueFrom is the source for the output parameter's value ValueFrom *ValueFrom `json:"valueFrom,omitempty" protobuf:"bytes,4,opt,name=valueFrom"` // 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" protobuf:"bytes,5,opt,name=globalName"` // Enum holds a list of string values to choose from, for the actual value of the parameter Enum []AnyString `json:"enum,omitempty" protobuf:"bytes,6,rep,name=enum"` }
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 PodGC ¶
type PodGC struct { // Strategy is the strategy to use. One of "OnPodCompletion", "OnPodSuccess", "OnWorkflowCompletion", "OnWorkflowSuccess" Strategy PodGCStrategy `json:"strategy,omitempty" protobuf:"bytes,1,opt,name=strategy,casttype=PodGCStrategy"` }
PodGC describes how to delete completed pods as they complete
func (*PodGC) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodGC.
func (*PodGC) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodGCStrategy ¶
type PodGCStrategy string
PodGCStrategy is the strategy when to delete completed pods for GC.
const ( PodGCOnPodCompletion PodGCStrategy = "OnPodCompletion" PodGCOnPodSuccess PodGCStrategy = "OnPodSuccess" PodGCOnWorkflowCompletion PodGCStrategy = "OnWorkflowCompletion" PodGCOnWorkflowSuccess PodGCStrategy = "OnWorkflowSuccess" )
PodGCStrategy
type Progress ¶
type Progress string
Progress in N/M format. N is number of task complete. M is number of tasks.
func NewProgress ¶
func ParseProgress ¶
type Prometheus ¶
type Prometheus struct { // Name is the name of the metric Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Labels is a list of metric labels Labels []*MetricLabel `json:"labels,omitempty" protobuf:"bytes,2,rep,name=labels"` // Help is a string that describes the metric Help string `json:"help" protobuf:"bytes,3,opt,name=help"` // When is a conditional statement that decides when to emit the metric When string `json:"when,omitempty" protobuf:"bytes,4,opt,name=when"` // Gauge is a gauge metric Gauge *Gauge `json:"gauge,omitempty" protobuf:"bytes,5,opt,name=gauge"` // Histogram is a histogram metric Histogram *Histogram `json:"histogram,omitempty" protobuf:"bytes,6,opt,name=histogram"` // Counter is a counter metric Counter *Counter `json:"counter,omitempty" protobuf:"bytes,7,opt,name=counter"` }
Prometheus is a prometheus metric to be emitted
func (*Prometheus) DeepCopy ¶
func (in *Prometheus) DeepCopy() *Prometheus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Prometheus.
func (*Prometheus) DeepCopyInto ¶
func (in *Prometheus) DeepCopyInto(out *Prometheus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Prometheus) GetDesc ¶
func (p *Prometheus) GetDesc() string
func (*Prometheus) GetMetricLabels ¶
func (p *Prometheus) GetMetricLabels() map[string]string
func (*Prometheus) GetMetricType ¶
func (p *Prometheus) GetMetricType() MetricType
func (*Prometheus) GetValueString ¶
func (p *Prometheus) GetValueString() string
func (*Prometheus) IsRealtime ¶
func (p *Prometheus) IsRealtime() bool
func (*Prometheus) SetValueString ¶
func (p *Prometheus) SetValueString(val string)
type RawArtifact ¶
type RawArtifact struct { // Data is the string contents of the artifact Data string `json:"data" protobuf:"bytes,1,opt,name=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.
func (*RawArtifact) HasLocation ¶
func (r *RawArtifact) HasLocation() bool
type ResourceDuration ¶
type ResourceDuration int64
The amount of requested resource * the duration that request was used. This is represented as duration in seconds, so can be converted to and from duration (with loss of precision).
func NewResourceDuration ¶
func NewResourceDuration(d time.Duration) ResourceDuration
func (ResourceDuration) Duration ¶
func (in ResourceDuration) Duration() time.Duration
func (ResourceDuration) String ¶
func (in ResourceDuration) String() string
type ResourceScope ¶
type ResourceScope string
const ( ResourceScopeLocal ResourceScope = "local" ResourceScopeNamespaced ResourceScope = "namespaced" ResourceScopeCluster ResourceScope = "cluster" )
type ResourceTemplate ¶
type ResourceTemplate struct { // Action is the action to perform to the resource. // Must be one of: get, create, apply, delete, replace, patch Action string `json:"action" protobuf:"bytes,1,opt,name=action"` // MergeStrategy is the strategy used to merge a patch. It defaults to "strategic" // Must be one of: strategic, merge, json MergeStrategy string `json:"mergeStrategy,omitempty" protobuf:"bytes,2,opt,name=mergeStrategy"` // Manifest contains the kubernetes manifest Manifest string `json:"manifest,omitempty" protobuf:"bytes,3,opt,name=manifest"` // SetOwnerReference sets the reference to the workflow on the OwnerReference of generated resource. SetOwnerReference bool `json:"setOwnerReference,omitempty" protobuf:"varint,4,opt,name=setOwnerReference"` // 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" protobuf:"bytes,5,opt,name=successCondition"` // 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" protobuf:"bytes,6,opt,name=failureCondition"` // Flags is a set of additional options passed to kubectl before submitting a resource // I.e. to disable resource validation: // flags: [ // "--validate=false" # disable resource validation // ] Flags []string `json:"flags,omitempty" protobuf:"varint,7,opt,name=flags"` }
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 ResourcesDuration ¶
type ResourcesDuration map[apiv1.ResourceName]ResourceDuration
This contains each duration by request requested. e.g. 100m CPU * 1h, 1Gi memory * 1h
func (ResourcesDuration) Add ¶
func (in ResourcesDuration) Add(o ResourcesDuration) ResourcesDuration
func (ResourcesDuration) DeepCopy ¶
func (in ResourcesDuration) DeepCopy() ResourcesDuration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcesDuration.
func (ResourcesDuration) DeepCopyInto ¶
func (in ResourcesDuration) DeepCopyInto(out *ResourcesDuration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ResourcesDuration) IsZero ¶
func (in ResourcesDuration) IsZero() bool
func (ResourcesDuration) String ¶
func (in ResourcesDuration) String() string
type RetryPolicy ¶
type RetryPolicy string
const ( RetryPolicyAlways RetryPolicy = "Always" RetryPolicyOnFailure RetryPolicy = "OnFailure" RetryPolicyOnError RetryPolicy = "OnError" )
type RetryStrategy ¶
type RetryStrategy struct { // Limit is the maximum number of attempts when retrying a container Limit *intstr.IntOrString `json:"limit,omitempty" protobuf:"varint,1,opt,name=limit"` // RetryPolicy is a policy of NodePhase statuses that will be retried RetryPolicy RetryPolicy `json:"retryPolicy,omitempty" protobuf:"bytes,2,opt,name=retryPolicy,casttype=RetryPolicy"` // Backoff is a backoff strategy Backoff *Backoff `json:"backoff,omitempty" protobuf:"bytes,3,opt,name=backoff,casttype=Backoff"` }
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" protobuf:"bytes,1,opt,name=s3Bucket"` // Key is the key in the bucket where the artifact resides Key string `json:"key" protobuf:"bytes,2,opt,name=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) HasLocation ¶
func (s *S3Artifact) HasLocation() bool
type S3Bucket ¶
type S3Bucket struct { // Endpoint is the hostname of the bucket endpoint Endpoint string `json:"endpoint" protobuf:"bytes,1,opt,name=endpoint"` // Bucket is the name of the bucket Bucket string `json:"bucket" protobuf:"bytes,2,opt,name=bucket"` // Region contains the optional bucket region Region string `json:"region,omitempty" protobuf:"bytes,3,opt,name=region"` // Insecure will connect to the service with TLS Insecure *bool `json:"insecure,omitempty" protobuf:"varint,4,opt,name=insecure"` // AccessKeySecret is the secret selector to the bucket's access key AccessKeySecret apiv1.SecretKeySelector `json:"accessKeySecret" protobuf:"bytes,5,opt,name=accessKeySecret"` // SecretKeySecret is the secret selector to the bucket's secret key SecretKeySecret apiv1.SecretKeySelector `json:"secretKeySecret" protobuf:"bytes,6,opt,name=secretKeySecret"` // RoleARN is the Amazon Resource Name (ARN) of the role to assume. RoleARN string `json:"roleARN,omitempty" protobuf:"bytes,7,opt,name=roleARN"` // UseSDKCreds tells the driver to figure out credentials based on sdk defaults. UseSDKCreds bool `json:"useSDKCreds,omitempty" protobuf:"varint,8,opt,name=useSDKCreds"` // CreateBucketIfNotPresent tells the driver to attempt to create the S3 bucket for output artifacts, if it doesn't exist CreateBucketIfNotPresent *CreateS3BucketOptions `json:"createBucketIfNotPresent,omitempty" protobuf:"bytes,9,opt,name=createBucketIfNotPresent"` }
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" protobuf:"bytes,1,opt,name=container"` // Source contains the source code of the script to execute Source string `json:"source" protobuf:"bytes,2,opt,name=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 SemaphoreHolding ¶
type SemaphoreHolding struct { // Semaphore stores the semaphore name. Semaphore string `json:"semaphore,omitempty" protobuf:"bytes,1,opt,name=semaphore"` // Holders stores the list of current holder names in the workflow. // +listType=atomic Holders []string `json:"holders,omitempty" protobuf:"bytes,2,opt,name=holders"` }
func (*SemaphoreHolding) DeepCopy ¶
func (in *SemaphoreHolding) DeepCopy() *SemaphoreHolding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SemaphoreHolding.
func (*SemaphoreHolding) DeepCopyInto ¶
func (in *SemaphoreHolding) DeepCopyInto(out *SemaphoreHolding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SemaphoreRef ¶
type SemaphoreRef struct { // ConfigMapKeyRef is configmap selector for Semaphore configuration ConfigMapKeyRef *apiv1.ConfigMapKeySelector `json:"configMapKeyRef,omitempty" protobuf:"bytes,1,opt,name=configMapKeyRef"` }
SemaphoreRef is a reference of Semaphore
func (*SemaphoreRef) DeepCopy ¶
func (in *SemaphoreRef) DeepCopy() *SemaphoreRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SemaphoreRef.
func (*SemaphoreRef) DeepCopyInto ¶
func (in *SemaphoreRef) DeepCopyInto(out *SemaphoreRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SemaphoreStatus ¶
type SemaphoreStatus struct { // Holding stores the list of resource acquired synchronization lock for workflows. Holding []SemaphoreHolding `json:"holding,omitempty" protobuf:"bytes,1,opt,name=holding"` // Waiting indicates the list of current synchronization lock holders. Waiting []SemaphoreHolding `json:"waiting,omitempty" protobuf:"bytes,2,opt,name=waiting"` }
func (*SemaphoreStatus) DeepCopy ¶
func (in *SemaphoreStatus) DeepCopy() *SemaphoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SemaphoreStatus.
func (*SemaphoreStatus) DeepCopyInto ¶
func (in *SemaphoreStatus) DeepCopyInto(out *SemaphoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SemaphoreStatus) GetHolding ¶
func (ss *SemaphoreStatus) GetHolding(semaphoreName string) (int, SemaphoreHolding)
func (*SemaphoreStatus) GetWaiting ¶
func (ss *SemaphoreStatus) GetWaiting(semaphoreName string) (int, SemaphoreHolding)
func (*SemaphoreStatus) LockAcquired ¶
func (ss *SemaphoreStatus) LockAcquired(holderKey, lockKey string, currentHolders []string) bool
func (*SemaphoreStatus) LockReleased ¶
func (ss *SemaphoreStatus) LockReleased(holderKey, lockKey string) bool
func (*SemaphoreStatus) LockWaiting ¶
func (ss *SemaphoreStatus) LockWaiting(holderKey, lockKey string, currentHolders []string) bool
type Sequence ¶
type Sequence struct { // Count is number of elements in the sequence (default: 0). Not to be used with end Count *intstr.IntOrString `json:"count,omitempty" protobuf:"bytes,1,opt,name=count"` // Number at which to start the sequence (default: 0) Start *intstr.IntOrString `json:"start,omitempty" protobuf:"bytes,2,opt,name=start"` // Number at which to end the sequence (default: 0). Not to be used with Count End *intstr.IntOrString `json:"end,omitempty" protobuf:"bytes,3,opt,name=end"` // Format is a printf format string to format the value in the sequence Format string `json:"format,omitempty" protobuf:"bytes,4,opt,name=format"` }
Sequence expands a workflow step into numeric range
func (*Sequence) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sequence.
func (*Sequence) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ShutdownStrategy ¶
type ShutdownStrategy string
const ( ShutdownStrategyTerminate ShutdownStrategy = "Terminate" ShutdownStrategyStop ShutdownStrategy = "Stop" )
func (ShutdownStrategy) ShouldExecute ¶
func (s ShutdownStrategy) ShouldExecute(isOnExitPod bool) bool
type Submit ¶
type Submit struct { // WorkflowTemplateRef the workflow template to submit WorkflowTemplateRef WorkflowTemplateRef `json:"workflowTemplateRef" protobuf:"bytes,1,opt,name=workflowTemplateRef"` // Arguments extracted from the event and then set as arguments to the workflow created. Arguments *Arguments `json:"arguments,omitempty" protobuf:"bytes,2,opt,name=arguments"` }
func (*Submit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Submit.
func (*Submit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubmitOpts ¶
type SubmitOpts struct { // Name overrides metadata.name Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` // GenerateName overrides metadata.generateName GenerateName string `json:"generateName,omitempty" protobuf:"bytes,2,opt,name=generateName"` // Entrypoint overrides spec.entrypoint Entrypoint string `json:"entryPoint,omitempty" protobuf:"bytes,4,opt,name=entrypoint"` // Parameters passes input parameters to workflow Parameters []string `json:"parameters,omitempty" protobuf:"bytes,5,rep,name=parameters"` // ParameterFile holds a reference to a parameter file. This option is not supported in API ParameterFile string `json:"parameterFile,omitempty" protobuf:"bytes,6,opt,name=parameterFile"` // ServiceAccount runs all pods in the workflow using specified ServiceAccount. ServiceAccount string `json:"serviceAccount,omitempty" protobuf:"bytes,7,opt,name=serviceAccount"` // DryRun validates the workflow on the client-side without creating it. This option is not supported in API DryRun bool `json:"dryRun,omitempty" protobuf:"varint,8,opt,name=dryRun"` // ServerDryRun validates the workflow on the server-side without creating it ServerDryRun bool `json:"serverDryRun,omitempty" protobuf:"varint,9,opt,name=serverDryRun"` // Labels adds to metadata.labels Labels string `json:"labels,omitempty" protobuf:"bytes,10,opt,name=labels"` // OwnerReference creates a metadata.ownerReference OwnerReference *metav1.OwnerReference `json:"ownerReference,omitempty" protobuf:"bytes,11,opt,name=ownerReference"` }
SubmitOpts are workflow submission options
func (*SubmitOpts) DeepCopy ¶
func (in *SubmitOpts) DeepCopy() *SubmitOpts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubmitOpts.
func (*SubmitOpts) DeepCopyInto ¶
func (in *SubmitOpts) DeepCopyInto(out *SubmitOpts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SuppliedValueFrom ¶
type SuppliedValueFrom struct { }
SuppliedValueFrom is a placeholder for a value to be filled in directly, either through the CLI, API, etc.
func (*SuppliedValueFrom) DeepCopy ¶
func (in *SuppliedValueFrom) DeepCopy() *SuppliedValueFrom
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SuppliedValueFrom.
func (*SuppliedValueFrom) DeepCopyInto ¶
func (in *SuppliedValueFrom) DeepCopyInto(out *SuppliedValueFrom)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SuspendTemplate ¶
type SuspendTemplate struct { // Duration is the seconds to wait before automatically resuming a template Duration string `json:"duration,omitempty" protobuf:"bytes,1,opt,name=duration"` }
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 Synchronization ¶
type Synchronization struct { // Semaphore holds the Semaphore configuration Semaphore *SemaphoreRef `json:"semaphore,omitempty" protobuf:"bytes,1,opt,name=semaphore"` // Mutex holds the Mutex lock details Mutex *Mutex `json:"mutex,omitempty" protobuf:"bytes,2,opt,name=mutex"` }
Synchronization holds synchronization lock configuration
func (*Synchronization) DeepCopy ¶
func (in *Synchronization) DeepCopy() *Synchronization
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Synchronization.
func (*Synchronization) DeepCopyInto ¶
func (in *Synchronization) DeepCopyInto(out *Synchronization)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Synchronization) GetType ¶
func (s *Synchronization) GetType() SynchronizationType
type SynchronizationAction ¶
type SynchronizationStatus ¶
type SynchronizationStatus struct { // Semaphore stores this workflow's Semaphore holder details Semaphore *SemaphoreStatus `json:"semaphore,omitempty" protobuf:"bytes,1,opt,name=semaphore"` // Mutex stores this workflow's mutex holder details Mutex *MutexStatus `json:"mutex,omitempty" protobuf:"bytes,2,opt,name=mutex"` }
SynchronizationStatus stores the status of semaphore and mutex.
func (*SynchronizationStatus) DeepCopy ¶
func (in *SynchronizationStatus) DeepCopy() *SynchronizationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SynchronizationStatus.
func (*SynchronizationStatus) DeepCopyInto ¶
func (in *SynchronizationStatus) DeepCopyInto(out *SynchronizationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SynchronizationStatus) GetStatus ¶
func (ss *SynchronizationStatus) GetStatus(syncType SynchronizationType) SynchronizationAction
type SynchronizationType ¶
type SynchronizationType string
const ( SynchronizationTypeSemaphore SynchronizationType = "Semaphore" SynchronizationTypeMutex SynchronizationType = "Mutex" SynchronizationTypeUnknown SynchronizationType = "Unknown" )
type TTLStrategy ¶
type TTLStrategy struct { // SecondsAfterCompletion is the number of seconds to live after completion SecondsAfterCompletion *int32 `json:"secondsAfterCompletion,omitempty" protobuf:"bytes,1,opt,name=secondsAfterCompletion"` // SecondsAfterSuccess is the number of seconds to live after success SecondsAfterSuccess *int32 `json:"secondsAfterSuccess,omitempty" protobuf:"bytes,2,opt,name=secondsAfterSuccess"` // SecondsAfterFailure is the number of seconds to live after failure SecondsAfterFailure *int32 `json:"secondsAfterFailure,omitempty" protobuf:"bytes,3,opt,name=secondsAfterFailure"` }
TTLStrategy is the strategy for the time to live depending on if the workflow succeeded or failed
func (*TTLStrategy) DeepCopy ¶
func (in *TTLStrategy) DeepCopy() *TTLStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TTLStrategy.
func (*TTLStrategy) DeepCopyInto ¶
func (in *TTLStrategy) DeepCopyInto(out *TTLStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TarStrategy ¶
type TarStrategy struct { // CompressionLevel specifies the gzip compression level to use for the artifact. // Defaults to gzip.DefaultCompression. CompressionLevel *int32 `json:"compressionLevel,omitempty" protobuf:"varint,1,opt,name=compressionLevel"` }
TarStrategy will tar and gzip the file or directory when saving
func (*TarStrategy) DeepCopy ¶
func (in *TarStrategy) DeepCopy() *TarStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TarStrategy.
func (*TarStrategy) DeepCopyInto ¶
func (in *TarStrategy) DeepCopyInto(out *TarStrategy)
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" protobuf:"bytes,1,opt,name=name"` // Template is the name of the template which is used as the base of this template. // DEPRECATED: This field is not used. Template string `json:"template,omitempty" protobuf:"bytes,2,opt,name=template"` // Arguments hold arguments to the template. // DEPRECATED: This field is not used. Arguments Arguments `json:"arguments,omitempty" protobuf:"bytes,3,opt,name=arguments"` // TemplateRef is the reference to the template resource which is used as the base of this template. // DEPRECATED: This field is not used. TemplateRef *TemplateRef `json:"templateRef,omitempty" protobuf:"bytes,4,opt,name=templateRef"` // Inputs describe what inputs parameters and artifacts are supplied to this template Inputs Inputs `json:"inputs,omitempty" protobuf:"bytes,5,opt,name=inputs"` // Outputs describe the parameters and artifacts that this template produces Outputs Outputs `json:"outputs,omitempty" protobuf:"bytes,6,opt,name=outputs"` // 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" protobuf:"bytes,7,opt,name=nodeSelector"` // Affinity sets the pod's scheduling constraints // Overrides the affinity set at the workflow level (if any) Affinity *apiv1.Affinity `json:"affinity,omitempty" protobuf:"bytes,8,opt,name=affinity"` // Metdata sets the pods's metadata, i.e. annotations and labels Metadata Metadata `json:"metadata,omitempty" protobuf:"bytes,9,opt,name=metadata"` // Deamon will allow a workflow to proceed to the next step so long as the container reaches readiness Daemon *bool `json:"daemon,omitempty" protobuf:"bytes,10,opt,name=daemon"` // Steps define a series of sequential/parallel workflow steps Steps []ParallelSteps `json:"steps,omitempty" protobuf:"bytes,11,opt,name=steps"` // Container is the main container image to run in the pod Container *apiv1.Container `json:"container,omitempty" protobuf:"bytes,12,opt,name=container"` // Script runs a portion of code against an interpreter Script *ScriptTemplate `json:"script,omitempty" protobuf:"bytes,13,opt,name=script"` // Resource template subtype which can run k8s resources Resource *ResourceTemplate `json:"resource,omitempty" protobuf:"bytes,14,opt,name=resource"` // DAG template subtype which runs a DAG DAG *DAGTemplate `json:"dag,omitempty" protobuf:"bytes,15,opt,name=dag"` // Suspend template subtype which can suspend a workflow when reaching the step Suspend *SuspendTemplate `json:"suspend,omitempty" protobuf:"bytes,16,opt,name=suspend"` // Volumes is a list of volumes that can be mounted by containers in a template. // +patchStrategy=merge // +patchMergeKey=name Volumes []apiv1.Volume `json:"volumes,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,17,opt,name=volumes"` // InitContainers is a list of containers which run before the main container. // +patchStrategy=merge // +patchMergeKey=name InitContainers []UserContainer `json:"initContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,18,opt,name=initContainers"` // Sidecars is a list of containers which run alongside the main container // Sidecars are automatically killed when the main container completes // +patchStrategy=merge // +patchMergeKey=name Sidecars []UserContainer `json:"sidecars,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,19,opt,name=sidecars"` // 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" protobuf:"bytes,20,opt,name=archiveLocation"` // 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 *intstr.IntOrString `json:"activeDeadlineSeconds,omitempty" protobuf:"bytes,21,opt,name=activeDeadlineSeconds"` // RetryStrategy describes how to retry a template when it fails RetryStrategy *RetryStrategy `json:"retryStrategy,omitempty" protobuf:"bytes,22,opt,name=retryStrategy"` // 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" protobuf:"bytes,23,opt,name=parallelism"` // Tolerations to apply to workflow pods. // +patchStrategy=merge // +patchMergeKey=key Tolerations []apiv1.Toleration `json:"tolerations,omitempty" patchStrategy:"merge" patchMergeKey:"key" protobuf:"bytes,24,opt,name=tolerations"` // 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 scheduler. // +optional SchedulerName string `json:"schedulerName,omitempty" protobuf:"bytes,25,opt,name=schedulerName"` // PriorityClassName to apply to workflow pods. PriorityClassName string `json:"priorityClassName,omitempty" protobuf:"bytes,26,opt,name=priorityClassName"` // Priority to apply to workflow pods. Priority *int32 `json:"priority,omitempty" protobuf:"bytes,27,opt,name=priority"` // ServiceAccountName to apply to workflow pods ServiceAccountName string `json:"serviceAccountName,omitempty" protobuf:"bytes,28,opt,name=serviceAccountName"` // AutomountServiceAccountToken indicates whether a service account token should be automatically mounted in pods. // ServiceAccountName of ExecutorConfig must be specified if this value is false. AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty" protobuf:"varint,32,opt,name=automountServiceAccountToken"` // Executor holds configurations of the executor container. Executor *ExecutorConfig `json:"executor,omitempty" protobuf:"bytes,33,opt,name=executor"` // HostAliases is an optional list of hosts and IPs that will be injected into the pod spec // +patchStrategy=merge // +patchMergeKey=ip HostAliases []apiv1.HostAlias `json:"hostAliases,omitempty" patchStrategy:"merge" patchMergeKey:"ip" protobuf:"bytes,29,opt,name=hostAliases"` // SecurityContext holds pod-level security attributes and common container settings. // Optional: Defaults to empty. See type description for default values of each field. // +optional SecurityContext *apiv1.PodSecurityContext `json:"securityContext,omitempty" protobuf:"bytes,30,opt,name=securityContext"` // PodSpecPatch holds strategic merge patch to apply against the pod spec. Allows parameterization of // container fields which are not strings (e.g. resource limits). PodSpecPatch string `json:"podSpecPatch,omitempty" protobuf:"bytes,31,opt,name=podSpecPatch"` // Metrics are a list of metrics emitted from this template Metrics *Metrics `json:"metrics,omitempty" protobuf:"bytes,35,opt,name=metrics"` // Synchronization holds synchronization lock configuration for this template Synchronization *Synchronization `json:"synchronization,omitempty" protobuf:"bytes,36,opt,name=synchronization,casttype=Synchronization"` // Memoize allows templates to use outputs generated from already executed templates Memoize *Memoize `json:"memoize,omitempty" protobuf:"bytes,37,opt,name=memoize"` // Timout 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 be applied to Step or DAG templates. Timeout string `json:"timeout,omitempty" protobuf:"bytes,38,opt,name=timeout"` }
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) GetBaseTemplate ¶
GetBaseTemplate returns a base template content.
func (*Template) GetTemplateName ¶
DEPRECATED: Templates should not be used as TemplateReferenceHolder
func (*Template) GetTemplateRef ¶
func (tmpl *Template) GetTemplateRef() *TemplateRef
DEPRECATED: Templates should not be used as TemplateReferenceHolder
func (*Template) GetType ¶
func (tmpl *Template) GetType() TemplateType
GetType returns the type of this template
func (*Template) HasPodSpecPatch ¶
type TemplateHolder ¶
type TemplateHolder interface { GetNamespace() string GetName() string GroupVersionKind() schema.GroupVersionKind GetTemplateByName(name string) *Template GetResourceScope() ResourceScope }
TemplateHolder is an object that holds templates; e.g. Workflow, WorkflowTemplate, and ClusterWorkflowTemplate
type TemplateRef ¶
type TemplateRef struct { // Name is the resource name of the template. Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` // Template is the name of referred template in the resource. Template string `json:"template,omitempty" protobuf:"bytes,2,opt,name=template"` // RuntimeResolution skips validation at creation time. // By enabling this option, you can create the referred workflow template before the actual runtime. // DEPRECATED: This value is not used anymore and is ignored RuntimeResolution bool `json:"runtimeResolution,omitempty" protobuf:"varint,3,opt,name=runtimeResolution"` // ClusterScope indicates the referred template is cluster scoped (i.e. a ClusterWorkflowTemplate). ClusterScope bool `json:"clusterScope,omitempty" protobuf:"varint,4,opt,name=clusterScope"` }
TemplateRef is a reference of template resource.
func (*TemplateRef) DeepCopy ¶
func (in *TemplateRef) DeepCopy() *TemplateRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateRef.
func (*TemplateRef) DeepCopyInto ¶
func (in *TemplateRef) DeepCopyInto(out *TemplateRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemplateReferenceHolder ¶
type TemplateReferenceHolder interface { GetTemplateName() string GetTemplateRef() *TemplateRef }
TemplateReferenceHolder is an object that holds a reference to other templates; e.g. WorkflowStep, DAGTask, and NodeStatus
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" TemplateTypeUnknown TemplateType = "Unknown" )
Possible template types
type UserContainer ¶
type UserContainer struct { apiv1.Container `json:",inline" protobuf:"bytes,1,opt,name=container"` // MirrorVolumeMounts will mount the same volumes specified in the main container // to the container (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" protobuf:"varint,2,opt,name=mirrorVolumeMounts"` }
UserContainer is a container specified by a user.
func (*UserContainer) DeepCopy ¶
func (in *UserContainer) DeepCopy() *UserContainer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserContainer.
func (*UserContainer) DeepCopyInto ¶
func (in *UserContainer) DeepCopyInto(out *UserContainer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValueFrom ¶
type ValueFrom struct { // Path in the container to retrieve an output parameter value from in container templates Path string `json:"path,omitempty" protobuf:"bytes,1,opt,name=path"` // JSONPath of a resource to retrieve an output parameter value from in resource templates JSONPath string `json:"jsonPath,omitempty" protobuf:"bytes,2,opt,name=jsonPath"` // JQFilter expression against the resource object in resource templates JQFilter string `json:"jqFilter,omitempty" protobuf:"bytes,3,opt,name=jqFilter"` // Selector (https://github.com/antonmedv/expr) that is evaluated against the event to get the value of the parameter. E.g. `payload.message` Event string `json:"event,omitempty" protobuf:"bytes,7,opt,name=event"` // 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" protobuf:"bytes,4,opt,name=parameter"` // Supplied value to be filled in directly, either through the CLI, API, etc. Supplied *SuppliedValueFrom `json:"supplied,omitempty" protobuf:"bytes,6,opt,name=supplied"` // Default specifies a value to be used if retrieving the value from the specified source fails Default *AnyString `json:"default,omitempty" protobuf:"bytes,5,opt,name=default"` }
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 Version ¶
type Version struct { Version string `json:"version" protobuf:"bytes,1,opt,name=version"` BuildDate string `json:"buildDate" protobuf:"bytes,2,opt,name=buildDate"` GitCommit string `json:"gitCommit" protobuf:"bytes,3,opt,name=gitCommit"` GitTag string `json:"gitTag" protobuf:"bytes,4,opt,name=gitTag"` GitTreeState string `json:"gitTreeState" protobuf:"bytes,5,opt,name=gitTreeState"` GoVersion string `json:"goVersion" protobuf:"bytes,6,opt,name=goVersion"` Compiler string `json:"compiler" protobuf:"bytes,7,opt,name=compiler"` Platform string `json:"platform" protobuf:"bytes,8,opt,name=platform"` }
func (*Version) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Version.
func (*Version) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeClaimGC ¶
type VolumeClaimGC struct { // Strategy is the strategy to use. One of "OnWorkflowCompletion", "OnWorkflowSuccess" Strategy VolumeClaimGCStrategy `json:"strategy,omitempty" protobuf:"bytes,1,opt,name=strategy,casttype=VolumeClaimGCStrategy"` }
VolumeClaimGC describes how to delete volumes from completed Workflows
func (*VolumeClaimGC) DeepCopy ¶
func (in *VolumeClaimGC) DeepCopy() *VolumeClaimGC
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeClaimGC.
func (*VolumeClaimGC) DeepCopyInto ¶
func (in *VolumeClaimGC) DeepCopyInto(out *VolumeClaimGC)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (VolumeClaimGC) GetStrategy ¶
func (vgc VolumeClaimGC) GetStrategy() VolumeClaimGCStrategy
GetStrategy returns the VolumeClaimGCStrategy to use for the workflow
type VolumeClaimGCStrategy ¶
type VolumeClaimGCStrategy string
VolumeClaimGCStrategy is the strategy to use when deleting volumes from completed workflows
const ( VolumeClaimGCOnCompletion VolumeClaimGCStrategy = "OnWorkflowCompletion" VolumeClaimGCOnSuccess VolumeClaimGCStrategy = "OnWorkflowSuccess" )
type Workflow ¶
type Workflow struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` Spec WorkflowSpec `json:"spec" protobuf:"bytes,2,opt,name=spec "` Status WorkflowStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` }
Workflow is the definition of a workflow resource +genclient +genclient:noStatus +kubebuilder:resource:shortName=wf +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase",description="Status of the workflow" +kubebuilder:printcolumn:name="Age",type="date",format="date-time",JSONPath=".status.startedAt",description="When the workflow was started" +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) GetNodeByName ¶
func (wf *Workflow) GetNodeByName(nodeName string) *NodeStatus
func (*Workflow) GetOffloadNodeStatusVersion ¶
func (*Workflow) GetResourceScope ¶
func (wf *Workflow) GetResourceScope() ResourceScope
GetResourceScope returns the template scope of workflow.
func (*Workflow) GetSemaphoreKeys ¶
GetSemaphoreKeys will return list of semaphore configmap keys which are configured in the workflow Example key format namespace/configmapname (argo/my-config) Return []string
func (*Workflow) GetStoredTemplate ¶
func (wf *Workflow) GetStoredTemplate(scope ResourceScope, resourceName string, caller TemplateReferenceHolder) *Template
GetStoredTemplate retrieves a template from stored templates of the workflow.
func (*Workflow) GetTTLStrategy ¶
func (w *Workflow) GetTTLStrategy() *TTLStrategy
GetTTLStrategy return TTLStrategy based on Order of precedence: 1. Workflow, 2. WorkflowTemplate, 3. Workflowdefault
func (*Workflow) GetTemplateByName ¶
GetTemplateByName retrieves a defined template by its name
func (*Workflow) GetWorkflowSpec ¶
func (wf *Workflow) GetWorkflowSpec() WorkflowSpec
GetWorkflowSpec returns the Spec of a workflow.
func (*Workflow) SetStoredTemplate ¶
func (wf *Workflow) SetStoredTemplate(scope ResourceScope, resourceName string, caller TemplateReferenceHolder, tmpl *Template) (bool, error)
SetStoredTemplate stores a new template in stored templates of the workflow.
type WorkflowEventBinding ¶
type WorkflowEventBinding struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` Spec WorkflowEventBindingSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` }
WorkflowEventBinding is the definition of an event resource +genclient +genclient:noStatus +kubebuilder:resource:shortName=wfeb +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*WorkflowEventBinding) DeepCopy ¶
func (in *WorkflowEventBinding) DeepCopy() *WorkflowEventBinding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowEventBinding.
func (*WorkflowEventBinding) DeepCopyInto ¶
func (in *WorkflowEventBinding) DeepCopyInto(out *WorkflowEventBinding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowEventBinding) DeepCopyObject ¶
func (in *WorkflowEventBinding) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkflowEventBindingList ¶
type WorkflowEventBindingList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` Items []WorkflowEventBinding `json:"items" protobuf:"bytes,2,rep,name=items"` }
WorkflowEventBindingList is list of event resources +kubebuilder:resource:shortName=wfebs +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*WorkflowEventBindingList) DeepCopy ¶
func (in *WorkflowEventBindingList) DeepCopy() *WorkflowEventBindingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowEventBindingList.
func (*WorkflowEventBindingList) DeepCopyInto ¶
func (in *WorkflowEventBindingList) DeepCopyInto(out *WorkflowEventBindingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowEventBindingList) DeepCopyObject ¶
func (in *WorkflowEventBindingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkflowEventBindingSpec ¶
type WorkflowEventBindingSpec struct { // Event is the event to bind to Event Event `json:"event" protobuf:"bytes,1,opt,name=event"` // Submit is the workflow template to submit Submit *Submit `json:"submit,omitempty" protobuf:"bytes,2,opt,name=submit"` }
func (*WorkflowEventBindingSpec) DeepCopy ¶
func (in *WorkflowEventBindingSpec) DeepCopy() *WorkflowEventBindingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowEventBindingSpec.
func (*WorkflowEventBindingSpec) DeepCopyInto ¶
func (in *WorkflowEventBindingSpec) DeepCopyInto(out *WorkflowEventBindingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowList ¶
type WorkflowList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` Items Workflows `json:"items" protobuf:"bytes,2,opt,name=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 WorkflowPredicate ¶
type WorkflowSpec ¶
type WorkflowSpec struct { // Templates is a list of workflow templates used in a workflow // +patchStrategy=merge // +patchMergeKey=name Templates []Template `json:"templates,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,1,opt,name=templates"` // Entrypoint is a template reference to the starting point of the workflow. Entrypoint string `json:"entrypoint,omitempty" protobuf:"bytes,2,opt,name=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" protobuf:"bytes,3,opt,name=arguments"` // ServiceAccountName is the name of the ServiceAccount to run all pods of the workflow as. ServiceAccountName string `json:"serviceAccountName,omitempty" protobuf:"bytes,4,opt,name=serviceAccountName"` // AutomountServiceAccountToken indicates whether a service account token should be automatically mounted in pods. // ServiceAccountName of ExecutorConfig must be specified if this value is false. AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty" protobuf:"varint,28,opt,name=automountServiceAccountToken"` // Executor holds configurations of executor containers of the workflow. Executor *ExecutorConfig `json:"executor,omitempty" protobuf:"bytes,29,opt,name=executor"` // Volumes is a list of volumes that can be mounted by containers in a workflow. // +patchStrategy=merge // +patchMergeKey=name Volumes []apiv1.Volume `json:"volumes,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,5,opt,name=volumes"` // 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 // +patchStrategy=merge // +patchMergeKey=name VolumeClaimTemplates []apiv1.PersistentVolumeClaim `` /* 129-byte string literal not displayed */ // Parallelism limits the max total parallel pods that can execute at the same time in a workflow Parallelism *int64 `json:"parallelism,omitempty" protobuf:"bytes,7,opt,name=parallelism"` // ArtifactRepositoryRef specifies the configMap name and key containing the artifact repository config. ArtifactRepositoryRef *ArtifactRepositoryRef `json:"artifactRepositoryRef,omitempty" protobuf:"bytes,8,opt,name=artifactRepositoryRef"` // Suspend will suspend the workflow and prevent execution of any future steps in the workflow Suspend *bool `json:"suspend,omitempty" protobuf:"bytes,9,opt,name=suspend"` // 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" protobuf:"bytes,10,opt,name=nodeSelector"` // 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" protobuf:"bytes,11,opt,name=affinity"` // Tolerations to apply to workflow pods. // +patchStrategy=merge // +patchMergeKey=key Tolerations []apiv1.Toleration `json:"tolerations,omitempty" patchStrategy:"merge" patchMergeKey:"key" protobuf:"bytes,12,opt,name=tolerations"` // 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 // +patchStrategy=merge // +patchMergeKey=name ImagePullSecrets []apiv1.LocalObjectReference `json:"imagePullSecrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,13,opt,name=imagePullSecrets"` // Host networking requested for this workflow pod. Default to false. HostNetwork *bool `json:"hostNetwork,omitempty" protobuf:"bytes,14,opt,name=hostNetwork"` // Set DNS policy for the pod. // Defaults to "ClusterFirst". // Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. // DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. // To have DNS options set along with hostNetwork, you have to specify DNS policy // explicitly to 'ClusterFirstWithHostNet'. DNSPolicy *apiv1.DNSPolicy `json:"dnsPolicy,omitempty" protobuf:"bytes,15,opt,name=dnsPolicy"` // PodDNSConfig defines the DNS parameters of a pod in addition to // those generated from DNSPolicy. DNSConfig *apiv1.PodDNSConfig `json:"dnsConfig,omitempty" protobuf:"bytes,16,opt,name=dnsConfig"` // 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" protobuf:"bytes,17,opt,name=onExit"` // TTLSecondsAfterFinished limits the lifetime of a Workflow that has finished execution // (Succeeded, Failed, Error). If this field is set, once the Workflow finishes, it will be // deleted after ttlSecondsAfterFinished expires. If this field is unset, // ttlSecondsAfterFinished will not expire. If this field is set to zero, // ttlSecondsAfterFinished expires immediately after the Workflow finishes. // DEPRECATED: Use TTLStrategy.SecondsAfterCompletion instead. TTLSecondsAfterFinished *int32 `json:"ttlSecondsAfterFinished,omitempty" protobuf:"bytes,18,opt,name=ttlSecondsAfterFinished"` // TTLStrategy limits the lifetime of a Workflow that has finished execution depending on if it // Succeeded or Failed. If this struct is set, once the Workflow finishes, it will be // deleted after the time to live expires. If this field is unset, // the controller config map will hold the default values. TTLStrategy *TTLStrategy `json:"ttlStrategy,omitempty" protobuf:"bytes,30,opt,name=ttlStrategy"` // Optional duration in seconds relative to the workflow start time which the workflow is // allowed to run before the controller terminates the workflow. A value of zero is used to // terminate a Running workflow ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty" protobuf:"bytes,19,opt,name=activeDeadlineSeconds"` // Priority is used if controller is configured to process limited number of workflows in parallel. Workflows with higher priority are processed first. Priority *int32 `json:"priority,omitempty" protobuf:"bytes,20,opt,name=priority"` // Set scheduler name for all pods. // Will be overridden if container/script template's scheduler name is set. // Default scheduler will be used if neither specified. // +optional SchedulerName string `json:"schedulerName,omitempty" protobuf:"bytes,21,opt,name=schedulerName"` // PodGC describes the strategy to use when to deleting completed pods PodGC *PodGC `json:"podGC,omitempty" protobuf:"bytes,22,opt,name=podGC"` // PriorityClassName to apply to workflow pods. PodPriorityClassName string `json:"podPriorityClassName,omitempty" protobuf:"bytes,23,opt,name=podPriorityClassName"` // Priority to apply to workflow pods. PodPriority *int32 `json:"podPriority,omitempty" protobuf:"bytes,24,opt,name=podPriority"` // +patchStrategy=merge // +patchMergeKey=ip HostAliases []apiv1.HostAlias `json:"hostAliases,omitempty" patchStrategy:"merge" patchMergeKey:"ip" protobuf:"bytes,25,opt,name=hostAliases"` // SecurityContext holds pod-level security attributes and common container settings. // Optional: Defaults to empty. See type description for default values of each field. // +optional SecurityContext *apiv1.PodSecurityContext `json:"securityContext,omitempty" protobuf:"bytes,26,opt,name=securityContext"` // PodSpecPatch holds strategic merge patch to apply against the pod spec. Allows parameterization of // container fields which are not strings (e.g. resource limits). PodSpecPatch string `json:"podSpecPatch,omitempty" protobuf:"bytes,27,opt,name=podSpecPatch"` //PodDisruptionBudget holds the number of concurrent disruptions that you allow for Workflow's Pods. //Controller will automatically add the selector with workflow name, if selector is empty. //Optional: Defaults to empty. // +optional PodDisruptionBudget *policyv1beta.PodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty" protobuf:"bytes,31,opt,name=podDisruptionBudget"` // Metrics are a list of metrics emitted from this Workflow Metrics *Metrics `json:"metrics,omitempty" protobuf:"bytes,32,opt,name=metrics"` // Shutdown will shutdown the workflow according to its ShutdownStrategy Shutdown ShutdownStrategy `json:"shutdown,omitempty" protobuf:"bytes,33,opt,name=shutdown,casttype=ShutdownStrategy"` // WorkflowTemplateRef holds a reference to a WorkflowTemplate for execution WorkflowTemplateRef *WorkflowTemplateRef `json:"workflowTemplateRef,omitempty" protobuf:"bytes,34,opt,name=workflowTemplateRef"` // Synchronization holds synchronization lock configuration for this Workflow Synchronization *Synchronization `json:"synchronization,omitempty" protobuf:"bytes,35,opt,name=synchronization,casttype=Synchronization"` // VolumeClaimGC describes the strategy to use when to deleting volumes from completed workflows VolumeClaimGC *VolumeClaimGC `json:"volumeClaimGC,omitempty" protobuf:"bytes,36,opt,name=volumeClaimGC,casttype=VolumeClaimGC"` // RetryStrategy for all templates in the workflow. RetryStrategy *RetryStrategy `json:"retryStrategy,omitempty" protobuf:"bytes,37,opt,name=retryStrategy"` }
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.
func (WorkflowSpec) GetTTLStrategy ¶
func (wfs WorkflowSpec) GetTTLStrategy() *TTLStrategy
func (WorkflowSpec) GetVolumeClaimGC ¶
func (wfs WorkflowSpec) GetVolumeClaimGC() *VolumeClaimGC
GetVolumeClaimGC returns the VolumeClaimGC that was defined in the workflow spec. If none was provided, a default value is returned.
func (*WorkflowSpec) HasPodSpecPatch ¶
func (wfs *WorkflowSpec) HasPodSpecPatch() bool
type WorkflowSpecHolder ¶
type WorkflowSpecHolder interface { metav1.Object GetWorkflowMetadata() *metav1.ObjectMeta GetWorkflowSpec() *WorkflowSpec }
WorkflowSpecHolder is an object that holds a WorkflowSpec; e.g., WorkflowTemplate, and ClusterWorkflowTemplate
type WorkflowStatus ¶
type WorkflowStatus struct { // Phase a simple, high-level summary of where the workflow is in its lifecycle. Phase NodePhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=NodePhase"` // Time at which this workflow started StartedAt metav1.Time `json:"startedAt,omitempty" protobuf:"bytes,2,opt,name=startedAt"` // Time at which this workflow completed FinishedAt metav1.Time `json:"finishedAt,omitempty" protobuf:"bytes,3,opt,name=finishedAt"` // EstimatedDuration in seconds. EstimatedDuration EstimatedDuration `json:"estimatedDuration,omitempty" protobuf:"varint,16,opt,name=estimatedDuration,casttype=EstimatedDuration"` // Progress to completion Progress Progress `json:"progress,omitempty" protobuf:"bytes,17,opt,name=progress,casttype=Progress"` // A human readable message indicating details about why the workflow is in this condition. Message string `json:"message,omitempty" protobuf:"bytes,4,opt,name=message"` // Compressed and base64 decoded Nodes map CompressedNodes string `json:"compressedNodes,omitempty" protobuf:"bytes,5,opt,name=compressedNodes"` // Nodes is a mapping between a node ID and the node's status. Nodes Nodes `json:"nodes,omitempty" protobuf:"bytes,6,rep,name=nodes"` // Whether on not node status has been offloaded to a database. If exists, then Nodes and CompressedNodes will be empty. // This will actually be populated with a hash of the offloaded data. OffloadNodeStatusVersion string `json:"offloadNodeStatusVersion,omitempty" protobuf:"bytes,10,rep,name=offloadNodeStatusVersion"` // StoredTemplates is a mapping between a template ref and the node's status. StoredTemplates map[string]Template `json:"storedTemplates,omitempty" protobuf:"bytes,9,rep,name=storedTemplates"` // 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" protobuf:"bytes,7,rep,name=persistentVolumeClaims"` // Outputs captures output values and artifact locations produced by the workflow via global outputs Outputs *Outputs `json:"outputs,omitempty" protobuf:"bytes,8,opt,name=outputs"` // Conditions is a list of conditions the Workflow may have Conditions Conditions `json:"conditions,omitempty" protobuf:"bytes,13,rep,name=conditions"` // ResourcesDuration is the total for the workflow ResourcesDuration ResourcesDuration `json:"resourcesDuration,omitempty" protobuf:"bytes,12,opt,name=resourcesDuration"` // StoredWorkflowSpec stores the WorkflowTemplate spec for future execution. StoredWorkflowSpec *WorkflowSpec `json:"storedWorkflowTemplateSpec,omitempty" protobuf:"bytes,14,opt,name=storedWorkflowTemplateSpec"` // Synchronization stores the status of synchronization locks Synchronization *SynchronizationStatus `json:"synchronization,omitempty" protobuf:"bytes,15,opt,name=synchronization"` // ArtifactRepositoryRef is used to cache the repository to use so we do not need to determine it everytime we reconcile. ArtifactRepositoryRef *ArtifactRepositoryRefStatus `json:"artifactRepositoryRef,omitempty" protobuf:"bytes,18,opt,name=artifactRepositoryRef"` }
WorkflowStatus contains overall status information about a workflow
func (*WorkflowStatus) AnyActiveSuspendNode ¶
func (in *WorkflowStatus) AnyActiveSuspendNode() bool
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.
func (WorkflowStatus) Failed ¶
func (ws WorkflowStatus) Failed() bool
Failed return whether or not the workflow has failed
func (WorkflowStatus) FinishTime ¶
func (ws WorkflowStatus) FinishTime() *metav1.Time
func (WorkflowStatus) Fulfilled ¶
func (ws WorkflowStatus) Fulfilled() bool
Fulfilled returns whether or not the workflow has fulfilled its execution, i.e. it completed execution or was skipped
func (*WorkflowStatus) GetDuration ¶
func (ws *WorkflowStatus) GetDuration() time.Duration
func (*WorkflowStatus) GetOffloadNodeStatusVersion ¶
func (ws *WorkflowStatus) GetOffloadNodeStatusVersion() string
func (*WorkflowStatus) IsOffloadNodeStatus ¶
func (ws *WorkflowStatus) IsOffloadNodeStatus() bool
func (WorkflowStatus) StartTime ¶
func (ws WorkflowStatus) StartTime() *metav1.Time
func (WorkflowStatus) Successful ¶
func (ws WorkflowStatus) Successful() bool
Successful return whether or not the workflow has succeeded
type WorkflowStep ¶
type WorkflowStep struct { // Name of the step Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` // Template is the name of the template to execute as the step Template string `json:"template,omitempty" protobuf:"bytes,2,opt,name=template"` // Arguments hold arguments to the template Arguments Arguments `json:"arguments,omitempty" protobuf:"bytes,3,opt,name=arguments"` // TemplateRef is the reference to the template resource to execute as the step. TemplateRef *TemplateRef `json:"templateRef,omitempty" protobuf:"bytes,4,opt,name=templateRef"` // WithItems expands a step into multiple parallel steps from the items in the list WithItems []Item `json:"withItems,omitempty" protobuf:"bytes,5,rep,name=withItems"` // WithParam expands a step into multiple parallel steps from the value in the parameter, // which is expected to be a JSON list. WithParam string `json:"withParam,omitempty" protobuf:"bytes,6,opt,name=withParam"` // WithSequence expands a step into a numeric sequence WithSequence *Sequence `json:"withSequence,omitempty" protobuf:"bytes,7,opt,name=withSequence"` // When is an expression in which the step should conditionally execute When string `json:"when,omitempty" protobuf:"bytes,8,opt,name=when"` // ContinueOn makes argo to proceed with the following step even if this step fails. // Errors and Failed states can be specified ContinueOn *ContinueOn `json:"continueOn,omitempty" protobuf:"bytes,9,opt,name=continueOn"` // OnExit is a template reference which is invoked at the end of the // template, irrespective of the success, failure, or error of the // primary template. OnExit string `json:"onExit,omitempty" protobuf:"bytes,11,opt,name=onExit"` }
WorkflowStep is a reference to a template to execute in a series of step
func (*WorkflowStep) ContinuesOn ¶
func (s *WorkflowStep) ContinuesOn(phase NodePhase) bool
ContinuesOn returns whether the StepGroup should be proceeded if the task fails or errors.
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.
func (*WorkflowStep) GetTemplateName ¶
func (step *WorkflowStep) GetTemplateName() string
func (*WorkflowStep) GetTemplateRef ¶
func (step *WorkflowStep) GetTemplateRef() *TemplateRef
func (*WorkflowStep) ShouldExpand ¶
func (step *WorkflowStep) ShouldExpand() bool
type WorkflowTemplate ¶
type WorkflowTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` Spec WorkflowTemplateSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` }
WorkflowTemplate is the definition of a workflow template resource +genclient +genclient:noStatus +kubebuilder:resource:shortName=wftmpl +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*WorkflowTemplate) DeepCopy ¶
func (in *WorkflowTemplate) DeepCopy() *WorkflowTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowTemplate.
func (*WorkflowTemplate) DeepCopyInto ¶
func (in *WorkflowTemplate) DeepCopyInto(out *WorkflowTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowTemplate) DeepCopyObject ¶
func (in *WorkflowTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*WorkflowTemplate) GetResourceScope ¶
func (wftmpl *WorkflowTemplate) GetResourceScope() ResourceScope
GetResourceScope returns the template scope of workflow template.
func (*WorkflowTemplate) GetTemplateByName ¶
func (wftmpl *WorkflowTemplate) GetTemplateByName(name string) *Template
GetTemplateByName retrieves a defined template by its name
func (*WorkflowTemplate) GetWorkflowMetadata ¶
func (wftmpl *WorkflowTemplate) GetWorkflowMetadata() *metav1.ObjectMeta
func (*WorkflowTemplate) GetWorkflowSpec ¶
func (wftmpl *WorkflowTemplate) GetWorkflowSpec() *WorkflowSpec
GetWorkflowSpec returns the WorkflowSpec of workflow template.
type WorkflowTemplateList ¶
type WorkflowTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` Items WorkflowTemplates `json:"items" protobuf:"bytes,2,rep,name=items"` }
WorkflowTemplateList is list of WorkflowTemplate resources +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*WorkflowTemplateList) DeepCopy ¶
func (in *WorkflowTemplateList) DeepCopy() *WorkflowTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowTemplateList.
func (*WorkflowTemplateList) DeepCopyInto ¶
func (in *WorkflowTemplateList) DeepCopyInto(out *WorkflowTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowTemplateList) DeepCopyObject ¶
func (in *WorkflowTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkflowTemplateRef ¶
type WorkflowTemplateRef struct { // Name is the resource name of the workflow template. Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` // ClusterScope indicates the referred template is cluster scoped (i.e. a ClusterWorkflowTemplate). ClusterScope bool `json:"clusterScope,omitempty" protobuf:"varint,2,opt,name=clusterScope"` }
WorkflowTemplateRef is a reference to a WorkflowTemplate resource.
func (*WorkflowTemplateRef) DeepCopy ¶
func (in *WorkflowTemplateRef) DeepCopy() *WorkflowTemplateRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowTemplateRef.
func (*WorkflowTemplateRef) DeepCopyInto ¶
func (in *WorkflowTemplateRef) DeepCopyInto(out *WorkflowTemplateRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowTemplateRef) ToTemplateRef ¶
func (ref *WorkflowTemplateRef) ToTemplateRef(entrypoint string) *TemplateRef
type WorkflowTemplateSpec ¶
type WorkflowTemplateSpec struct { WorkflowSpec `json:",inline" protobuf:"bytes,1,opt,name=workflowSpec"` // WorkflowMetadata contains some metadata of the workflow to be refer WorkflowMetadata *metav1.ObjectMeta `json:"workflowMetadata,omitempty" protobuf:"bytes,2,opt,name=workflowMeta"` }
WorkflowTemplateSpec is a spec of WorkflowTemplate.
func (*WorkflowTemplateSpec) DeepCopy ¶
func (in *WorkflowTemplateSpec) DeepCopy() *WorkflowTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowTemplateSpec.
func (*WorkflowTemplateSpec) DeepCopyInto ¶
func (in *WorkflowTemplateSpec) DeepCopyInto(out *WorkflowTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowTemplates ¶
type WorkflowTemplates []WorkflowTemplate
func (WorkflowTemplates) DeepCopy ¶
func (in WorkflowTemplates) DeepCopy() WorkflowTemplates
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowTemplates.
func (WorkflowTemplates) DeepCopyInto ¶
func (in WorkflowTemplates) DeepCopyInto(out *WorkflowTemplates)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (WorkflowTemplates) Len ¶
func (w WorkflowTemplates) Len() int
func (WorkflowTemplates) Less ¶
func (w WorkflowTemplates) Less(i, j int) bool
func (WorkflowTemplates) Swap ¶
func (w WorkflowTemplates) Swap(i, j int)
type Workflows ¶
type Workflows []Workflow
Workflows is a sort interface which sorts running jobs earlier before considering FinishedAt
func (Workflows) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Workflows.
func (Workflows) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Workflows) Filter ¶
func (w Workflows) Filter(predicate WorkflowPredicate) Workflows
type ZipStrategy ¶
type ZipStrategy struct{}
ZipStrategy will unzip zipped input artifacts
func (*ZipStrategy) DeepCopy ¶
func (in *ZipStrategy) DeepCopy() *ZipStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZipStrategy.
func (*ZipStrategy) DeepCopyInto ¶
func (in *ZipStrategy) DeepCopyInto(out *ZipStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.