Documentation ¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API. +groupName=kozmoworkflow.kozmo.net
Index ¶
- Constants
- Variables
- func IsPhaseTerminal(phase NodePhase) bool
- func IsWorkflowPhaseTerminal(p WorkflowPhase) bool
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type Alias
- type ApproveCondition
- type ArrayNodePhase
- type ArrayNodeSpec
- type ArrayNodeStatus
- func (in *ArrayNodeStatus) GetArrayNodePhase() ArrayNodePhase
- func (in *ArrayNodeStatus) GetExecutionError() *core.ExecutionError
- func (in *ArrayNodeStatus) GetSubNodePhases() bitarray.CompactArray
- func (in *ArrayNodeStatus) GetSubNodeRetryAttempts() bitarray.CompactArray
- func (in *ArrayNodeStatus) GetSubNodeSystemFailures() bitarray.CompactArray
- func (in *ArrayNodeStatus) GetSubNodeTaskPhases() bitarray.CompactArray
- func (in *ArrayNodeStatus) GetTaskPhaseVersion() uint32
- func (in *ArrayNodeStatus) SetArrayNodePhase(phase ArrayNodePhase)
- func (in *ArrayNodeStatus) SetExecutionError(executionError *core.ExecutionError)
- func (in *ArrayNodeStatus) SetSubNodePhases(subNodePhases bitarray.CompactArray)
- func (in *ArrayNodeStatus) SetSubNodeRetryAttempts(subNodeRetryAttempts bitarray.CompactArray)
- func (in *ArrayNodeStatus) SetSubNodeSystemFailures(subNodeSystemFailures bitarray.CompactArray)
- func (in *ArrayNodeStatus) SetSubNodeTaskPhases(subNodeTaskPhases bitarray.CompactArray)
- func (in *ArrayNodeStatus) SetTaskPhaseVersion(taskPhaseVersion uint32)
- type BaseNode
- type BaseWorkflow
- type BaseWorkflowWithStatus
- type Binding
- type BooleanExpression
- type BranchNodePhase
- type BranchNodeSpec
- func (in *BranchNodeSpec) DeepCopy() *BranchNodeSpec
- func (in *BranchNodeSpec) DeepCopyInto(out *BranchNodeSpec)
- func (in *BranchNodeSpec) GetElse() *NodeID
- func (in *BranchNodeSpec) GetElseFail() *core.Error
- func (in *BranchNodeSpec) GetElseIf() []ExecutableIfBlock
- func (in *BranchNodeSpec) GetIf() ExecutableIfBlock
- type BranchNodeStatus
- func (in *BranchNodeStatus) DeepCopy() *BranchNodeStatus
- func (in *BranchNodeStatus) DeepCopyInto(out *BranchNodeStatus)
- func (in *BranchNodeStatus) Equals(other *BranchNodeStatus) bool
- func (in *BranchNodeStatus) GetFinalizedNode() *NodeID
- func (in *BranchNodeStatus) GetPhase() BranchNodePhase
- func (in *BranchNodeStatus) SetBranchNodeError()
- func (in *BranchNodeStatus) SetBranchNodeSuccess(id NodeID)
- type ConditionKind
- type Connections
- type CustomState
- type DataReference
- type DeprecatedConnectionsdeprecated
- type DynamicNodePhase
- type DynamicNodeStatus
- func (in *DynamicNodeStatus) DeepCopy() *DynamicNodeStatus
- func (in *DynamicNodeStatus) DeepCopyInto(out *DynamicNodeStatus)
- func (in *DynamicNodeStatus) Equals(o *DynamicNodeStatus) bool
- func (in *DynamicNodeStatus) GetDynamicNodePhase() DynamicNodePhase
- func (in *DynamicNodeStatus) GetDynamicNodeReason() string
- func (in *DynamicNodeStatus) GetExecutionError() *core.ExecutionError
- func (in *DynamicNodeStatus) GetIsFailurePermanent() bool
- func (in *DynamicNodeStatus) SetDynamicNodePhase(phase DynamicNodePhase)
- func (in *DynamicNodeStatus) SetDynamicNodeReason(reason string)
- func (in *DynamicNodeStatus) SetExecutionError(err *core.ExecutionError)
- func (in *DynamicNodeStatus) SetIsFailurePermanent(isFailurePermanent bool)
- type EnqueueWorkflow
- type EventVersion
- type ExecutableArrayNode
- type ExecutableArrayNodeStatus
- type ExecutableBranchNode
- type ExecutableBranchNodeStatus
- type ExecutableDynamicNodeStatus
- type ExecutableGateNode
- type ExecutableGateNodeStatus
- type ExecutableIfBlock
- type ExecutableNode
- type ExecutableNodeStatus
- type ExecutableSubWorkflow
- type ExecutableSubWorkflowNodeStatus
- type ExecutableTask
- type ExecutableTaskNodeStatus
- type ExecutableWorkflow
- type ExecutableWorkflowNode
- type ExecutableWorkflowNodeStatus
- type ExecutableWorkflowStatus
- type ExecutionConfig
- type ExecutionError
- type ExecutionID
- type ExecutionTimeInfo
- type ExtendedResources
- type GateNodePhase
- type GateNodeSpec
- type GateNodeStatus
- type Identifier
- type IfBlock
- type Inputs
- type KozmoWorkflow
- func (in *KozmoWorkflow) DeepCopy() *KozmoWorkflow
- func (in *KozmoWorkflow) DeepCopyInto(out *KozmoWorkflow)
- func (in *KozmoWorkflow) DeepCopyObject() runtime.Object
- func (in *KozmoWorkflow) FindSubWorkflow(subID WorkflowID) ExecutableSubWorkflow
- func (in *KozmoWorkflow) GetDefinitionVersion() WorkflowDefinitionVersion
- func (in *KozmoWorkflow) GetEventVersion() EventVersion
- func (in *KozmoWorkflow) GetExecutionConfig() ExecutionConfig
- func (in *KozmoWorkflow) GetExecutionID() ExecutionID
- func (in *KozmoWorkflow) GetExecutionStatus() ExecutableWorkflowStatus
- func (in *KozmoWorkflow) GetK8sWorkflowID() types.NamespacedName
- func (in *KozmoWorkflow) GetNodeExecutionStatus(ctx context.Context, id NodeID) ExecutableNodeStatus
- func (in *KozmoWorkflow) GetOwnerReference() metav1.OwnerReference
- func (in *KozmoWorkflow) GetRawOutputDataConfig() RawOutputDataConfig
- func (in *KozmoWorkflow) GetSecurityContext() core.SecurityContext
- func (in *KozmoWorkflow) GetServiceAccountName() string
- func (in *KozmoWorkflow) GetTask(id TaskID) (ExecutableTask, error)
- func (in *KozmoWorkflow) IsInterruptible() bool
- type KozmoWorkflowList
- type LaunchPlanRefID
- type Meta
- type MetaExtended
- type Mutable
- type MutableArrayNodeStatus
- type MutableBranchNodeStatus
- type MutableDynamicNodeStatus
- type MutableGateNodeStatus
- type MutableNodeStatus
- type MutableStruct
- type MutableSubWorkflowNodeStatus
- type MutableTaskNodeStatus
- type MutableWorkflowNodeStatus
- type NodeDefaults
- type NodeGetter
- type NodeID
- type NodeKind
- type NodeMetadata
- type NodePhase
- type NodeSpec
- func (in *NodeSpec) DeepCopy() *NodeSpec
- func (in *NodeSpec) DeepCopyInto(out *NodeSpec)
- func (in *NodeSpec) GetActiveDeadline() *time.Duration
- func (in *NodeSpec) GetArrayNode() ExecutableArrayNode
- func (in *NodeSpec) GetBranchNode() ExecutableBranchNode
- func (in *NodeSpec) GetConfig() *typesv1.ConfigMap
- func (in *NodeSpec) GetExecutionDeadline() *time.Duration
- func (in *NodeSpec) GetExtendedResources() *core.ExtendedResources
- func (in *NodeSpec) GetGateNode() ExecutableGateNode
- func (in *NodeSpec) GetID() NodeID
- func (in *NodeSpec) GetInputBindings() []*Binding
- func (in *NodeSpec) GetKind() NodeKind
- func (in *NodeSpec) GetName() string
- func (in *NodeSpec) GetOutputAlias() []Alias
- func (in *NodeSpec) GetResources() *typesv1.ResourceRequirements
- func (in *NodeSpec) GetRetryStrategy() *RetryStrategy
- func (in *NodeSpec) GetTaskID() *TaskID
- func (in *NodeSpec) GetWorkflowNode() ExecutableWorkflowNode
- func (in *NodeSpec) IsEndNode() bool
- func (in *NodeSpec) IsInterruptible() *bool
- func (in *NodeSpec) IsStartNode() bool
- type NodeStatus
- func (in *NodeStatus) ClearArrayNodeStatus()
- func (in *NodeStatus) ClearDynamicNodeStatus()
- func (in *NodeStatus) ClearGateNodeStatus()
- func (in *NodeStatus) ClearLastAttemptStartedAt()
- func (in *NodeStatus) ClearSubNodeStatus()
- func (in *NodeStatus) ClearTaskStatus()
- func (in *NodeStatus) ClearWorkflowStatus()
- func (in *NodeStatus) DeepCopy() *NodeStatus
- func (in *NodeStatus) DeepCopyInto(out *NodeStatus)
- func (in *NodeStatus) Equals(other *NodeStatus) bool
- func (in *NodeStatus) GetArrayNodeStatus() MutableArrayNodeStatus
- func (in *NodeStatus) GetAttempts() uint32
- func (in *NodeStatus) GetBranchStatus() MutableBranchNodeStatus
- func (in *NodeStatus) GetDataDir() DataReference
- func (in NodeStatus) GetDynamicNodeStatus() MutableDynamicNodeStatus
- func (in *NodeStatus) GetExecutionError() *core.ExecutionError
- func (in *NodeStatus) GetGateNodeStatus() MutableGateNodeStatus
- func (in *NodeStatus) GetLastAttemptStartedAt() *metav1.Time
- func (in *NodeStatus) GetLastUpdatedAt() *metav1.Time
- func (in *NodeStatus) GetMessage() string
- func (in *NodeStatus) GetNodeExecutionStatus(ctx context.Context, id NodeID) ExecutableNodeStatus
- func (in *NodeStatus) GetOrCreateArrayNodeStatus() MutableArrayNodeStatus
- func (in *NodeStatus) GetOrCreateBranchStatus() MutableBranchNodeStatus
- func (in *NodeStatus) GetOrCreateDynamicNodeStatus() MutableDynamicNodeStatus
- func (in *NodeStatus) GetOrCreateGateNodeStatus() MutableGateNodeStatus
- func (in *NodeStatus) GetOrCreateTaskStatus() MutableTaskNodeStatus
- func (in *NodeStatus) GetOrCreateWorkflowStatus() MutableWorkflowNodeStatus
- func (in *NodeStatus) GetOutputDir() DataReference
- func (in *NodeStatus) GetParentNodeID() *NodeID
- func (in *NodeStatus) GetParentTaskID() *core.TaskExecutionIdentifier
- func (in *NodeStatus) GetPhase() NodePhase
- func (in *NodeStatus) GetQueuedAt() *metav1.Time
- func (in *NodeStatus) GetStartedAt() *metav1.Time
- func (in *NodeStatus) GetStoppedAt() *metav1.Time
- func (in *NodeStatus) GetSystemFailures() uint32
- func (in NodeStatus) GetTaskNodeStatus() ExecutableTaskNodeStatus
- func (in *NodeStatus) GetTaskStatus() MutableTaskNodeStatus
- func (in *NodeStatus) GetWorkflowNodeStatus() ExecutableWorkflowNodeStatus
- func (in *NodeStatus) GetWorkflowStatus() MutableWorkflowNodeStatus
- func (in *NodeStatus) IncrementAttempts() uint32
- func (in *NodeStatus) IncrementSystemFailures() uint32
- func (in *NodeStatus) IsCached() bool
- func (in *NodeStatus) IsDirty() bool
- func (in *NodeStatus) IsTerminated() bool
- func (in *NodeStatus) ResetDirty()
- func (in *NodeStatus) SetCached()
- func (in *NodeStatus) SetDataDir(d DataReference)
- func (in *NodeStatus) SetOutputDir(d DataReference)
- func (in *NodeStatus) SetParentNodeID(n *NodeID)
- func (in *NodeStatus) SetParentTaskID(t *core.TaskExecutionIdentifier)
- func (in *NodeStatus) UpdatePhase(p NodePhase, occurredAt metav1.Time, reason string, enableCRDebugMetadata bool, ...)
- func (in NodeStatus) VisitNodeStatuses(visitor NodeStatusVisitFn)
- type NodeStatusGetter
- type NodeStatusMap
- type NodeStatusVisitFn
- type NodeStatusVisitor
- type OutputVarMap
- type RawOutputDataConfig
- type RetryStrategy
- type SignalCondition
- type SleepCondition
- type SubWorkflowGetter
- type TaskDetailsGetter
- type TaskExecutionIdentifier
- type TaskID
- type TaskNodeStatus
- func (in *TaskNodeStatus) DeepCopy() *TaskNodeStatus
- func (in *TaskNodeStatus) DeepCopyInto(out *TaskNodeStatus)
- func (in *TaskNodeStatus) Equals(other *TaskNodeStatus) bool
- func (in *TaskNodeStatus) GetBarrierClockTick() uint32
- func (in TaskNodeStatus) GetCleanupOnFailure() bool
- func (in TaskNodeStatus) GetLastPhaseUpdatedAt() time.Time
- func (in TaskNodeStatus) GetPhase() int
- func (in TaskNodeStatus) GetPhaseVersion() uint32
- func (in *TaskNodeStatus) GetPluginState() []byte
- func (in *TaskNodeStatus) GetPluginStateVersion() uint32
- func (in TaskNodeStatus) GetPreviousNodeExecutionCheckpointPath() DataReference
- func (in *TaskNodeStatus) SetBarrierClockTick(tick uint32)
- func (in *TaskNodeStatus) SetCleanupOnFailure(cleanupOnFailure bool)
- func (in *TaskNodeStatus) SetLastPhaseUpdatedAt(updatedAt time.Time)
- func (in *TaskNodeStatus) SetPhase(phase int)
- func (in *TaskNodeStatus) SetPhaseVersion(version uint32)
- func (in *TaskNodeStatus) SetPluginState(s []byte)
- func (in *TaskNodeStatus) SetPluginStateVersion(v uint32)
- func (in *TaskNodeStatus) SetPreviousNodeExecutionCheckpointPath(path DataReference)
- func (in *TaskNodeStatus) UpdatePhase(phase int, phaseVersion uint32)
- type TaskPluginOverride
- type TaskResourceSpec
- type TaskResources
- type TaskSpec
- type TaskType
- type WorkflowDefinitionVersion
- type WorkflowExecutionIdentifier
- type WorkflowID
- type WorkflowMeta
- type WorkflowNodePhase
- type WorkflowNodeSpec
- type WorkflowNodeStatus
- func (in *WorkflowNodeStatus) DeepCopy() *WorkflowNodeStatus
- func (in *WorkflowNodeStatus) DeepCopyInto(out *WorkflowNodeStatus)
- func (in *WorkflowNodeStatus) GetExecutionError() *core.ExecutionError
- func (in *WorkflowNodeStatus) GetWorkflowNodePhase() WorkflowNodePhase
- func (in *WorkflowNodeStatus) SetExecutionError(executionError *core.ExecutionError)
- func (in *WorkflowNodeStatus) SetWorkflowNodePhase(phase WorkflowNodePhase)
- type WorkflowOnFailurePolicy
- type WorkflowPhase
- type WorkflowSpec
- func (in *WorkflowSpec) DeepCopy() *WorkflowSpec
- func (in *WorkflowSpec) DeepCopyInto(out *WorkflowSpec)
- func (in *WorkflowSpec) FromNode(name NodeID) ([]NodeID, error)
- func (in *WorkflowSpec) GetConnections() *Connections
- func (in *WorkflowSpec) GetID() WorkflowID
- func (in *WorkflowSpec) GetNode(nodeID NodeID) (ExecutableNode, bool)
- func (in *WorkflowSpec) GetNodes() []NodeID
- func (in *WorkflowSpec) GetOnFailureNode() ExecutableNode
- func (in *WorkflowSpec) GetOnFailurePolicy() WorkflowOnFailurePolicy
- func (in *WorkflowSpec) GetOutputBindings() []*Binding
- func (in *WorkflowSpec) GetOutputs() *OutputVarMap
- func (in *WorkflowSpec) StartNode() ExecutableNode
- func (in *WorkflowSpec) ToNode(name NodeID) ([]NodeID, error)
- type WorkflowStatus
- func (in *WorkflowStatus) ConstructNodeDataDir(ctx context.Context, name NodeID) (storage.DataReference, error)
- func (in *WorkflowStatus) DeepCopy() *WorkflowStatus
- func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus)
- func (in *WorkflowStatus) Equals(other *WorkflowStatus) bool
- func (in *WorkflowStatus) GetDataDir() DataReference
- func (in *WorkflowStatus) GetExecutionError() *core.ExecutionError
- func (in *WorkflowStatus) GetLastUpdatedAt() *metav1.Time
- func (in *WorkflowStatus) GetMessage() string
- func (in *WorkflowStatus) GetNodeExecutionStatus(ctx context.Context, id NodeID) ExecutableNodeStatus
- func (in *WorkflowStatus) GetOutputReference() DataReference
- func (in *WorkflowStatus) GetPhase() WorkflowPhase
- func (in *WorkflowStatus) GetStartedAt() *metav1.Time
- func (in *WorkflowStatus) GetStoppedAt() *metav1.Time
- func (in *WorkflowStatus) IncFailedAttempts()
- func (in *WorkflowStatus) IsTerminated() bool
- func (in *WorkflowStatus) SetDataDir(d DataReference)
- func (in *WorkflowStatus) SetMessage(msg string)
- func (in *WorkflowStatus) SetOutputReference(reference DataReference)
- func (in *WorkflowStatus) UpdatePhase(p WorkflowPhase, msg string, err *core.ExecutionError)
Constants ¶
const EndNodeID = "end-node"
const KozmoWorkflowKind = "kozmoworkflow"
const ShardKeyspaceSize = 32
Defines a non-configurable keyspace size for shard keys. This needs to be a small value because we use label selectors to define shard key ranges which do not support range queries. It should only be modified increasingly to ensure backward compatibility.
const StartNodeID = "start-node"
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var KozmoWorkflowGVK = SchemeGroupVersion.WithKind(KozmoWorkflowKind)
var LatestWorkflowDefinitionVersion = WorkflowDefinitionVersion1
var SchemeGroupVersion = schema.GroupVersion{Group: kozmoworkflow.GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func IsPhaseTerminal ¶
func IsWorkflowPhaseTerminal ¶
func IsWorkflowPhaseTerminal(p WorkflowPhase) bool
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type Alias ¶
func (*Alias) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Alias.
func (*Alias) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApproveCondition ¶
type ApproveCondition struct {
*core.ApproveCondition
}
func (ApproveCondition) MarshalJSON ¶
func (in ApproveCondition) MarshalJSON() ([]byte, error)
func (*ApproveCondition) UnmarshalJSON ¶
func (in *ApproveCondition) UnmarshalJSON(b []byte) error
type ArrayNodePhase ¶
type ArrayNodePhase int
const ( ArrayNodePhaseNone ArrayNodePhase = iota ArrayNodePhaseExecuting ArrayNodePhaseFailing ArrayNodePhaseSucceeding )
type ArrayNodeSpec ¶
type ArrayNodeSpec struct { SubNodeSpec *NodeSpec Parallelism uint32 MinSuccesses *uint32 MinSuccessRatio *float32 }
func (*ArrayNodeSpec) GetMinSuccessRatio ¶
func (a *ArrayNodeSpec) GetMinSuccessRatio() *float32
func (*ArrayNodeSpec) GetMinSuccesses ¶
func (a *ArrayNodeSpec) GetMinSuccesses() *uint32
func (*ArrayNodeSpec) GetParallelism ¶
func (a *ArrayNodeSpec) GetParallelism() uint32
func (*ArrayNodeSpec) GetSubNodeSpec ¶
func (a *ArrayNodeSpec) GetSubNodeSpec() *NodeSpec
type ArrayNodeStatus ¶
type ArrayNodeStatus struct { MutableStruct Phase ArrayNodePhase `json:"phase,omitempty"` ExecutionError *core.ExecutionError `json:"executionError,omitempty"` SubNodePhases bitarray.CompactArray `json:"subphase,omitempty"` SubNodeTaskPhases bitarray.CompactArray `json:"subtphase,omitempty"` SubNodeRetryAttempts bitarray.CompactArray `json:"subattempts,omitempty"` SubNodeSystemFailures bitarray.CompactArray `json:"subsysfailures,omitempty"` TaskPhaseVersion uint32 `json:"taskPhaseVersion,omitempty"` }
func (*ArrayNodeStatus) GetArrayNodePhase ¶
func (in *ArrayNodeStatus) GetArrayNodePhase() ArrayNodePhase
func (*ArrayNodeStatus) GetExecutionError ¶
func (in *ArrayNodeStatus) GetExecutionError() *core.ExecutionError
func (*ArrayNodeStatus) GetSubNodePhases ¶
func (in *ArrayNodeStatus) GetSubNodePhases() bitarray.CompactArray
func (*ArrayNodeStatus) GetSubNodeRetryAttempts ¶
func (in *ArrayNodeStatus) GetSubNodeRetryAttempts() bitarray.CompactArray
func (*ArrayNodeStatus) GetSubNodeSystemFailures ¶
func (in *ArrayNodeStatus) GetSubNodeSystemFailures() bitarray.CompactArray
func (*ArrayNodeStatus) GetSubNodeTaskPhases ¶
func (in *ArrayNodeStatus) GetSubNodeTaskPhases() bitarray.CompactArray
func (*ArrayNodeStatus) GetTaskPhaseVersion ¶
func (in *ArrayNodeStatus) GetTaskPhaseVersion() uint32
func (*ArrayNodeStatus) SetArrayNodePhase ¶
func (in *ArrayNodeStatus) SetArrayNodePhase(phase ArrayNodePhase)
func (*ArrayNodeStatus) SetExecutionError ¶
func (in *ArrayNodeStatus) SetExecutionError(executionError *core.ExecutionError)
func (*ArrayNodeStatus) SetSubNodePhases ¶
func (in *ArrayNodeStatus) SetSubNodePhases(subNodePhases bitarray.CompactArray)
func (*ArrayNodeStatus) SetSubNodeRetryAttempts ¶
func (in *ArrayNodeStatus) SetSubNodeRetryAttempts(subNodeRetryAttempts bitarray.CompactArray)
func (*ArrayNodeStatus) SetSubNodeSystemFailures ¶
func (in *ArrayNodeStatus) SetSubNodeSystemFailures(subNodeSystemFailures bitarray.CompactArray)
func (*ArrayNodeStatus) SetSubNodeTaskPhases ¶
func (in *ArrayNodeStatus) SetSubNodeTaskPhases(subNodeTaskPhases bitarray.CompactArray)
func (*ArrayNodeStatus) SetTaskPhaseVersion ¶
func (in *ArrayNodeStatus) SetTaskPhaseVersion(taskPhaseVersion uint32)
type BaseWorkflow ¶
type BaseWorkflow interface { NodeGetter StartNode() ExecutableNode GetID() WorkflowID // FromNode returns all nodes that can be reached directly // from the node with the given unique name. FromNode(name NodeID) ([]NodeID, error) ToNode(name NodeID) ([]NodeID, error) }
type BaseWorkflowWithStatus ¶
type BaseWorkflowWithStatus interface { BaseWorkflow NodeStatusGetter }
type Binding ¶
func (*Binding) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Binding.
func (*Binding) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Binding) MarshalJSON ¶
func (*Binding) UnmarshalJSON ¶
type BooleanExpression ¶
type BooleanExpression struct {
*core.BooleanExpression
}
func (*BooleanExpression) DeepCopy ¶
func (in *BooleanExpression) DeepCopy() *BooleanExpression
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BooleanExpression.
func (*BooleanExpression) DeepCopyInto ¶
func (in *BooleanExpression) DeepCopyInto(out *BooleanExpression)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (BooleanExpression) MarshalJSON ¶
func (in BooleanExpression) MarshalJSON() ([]byte, error)
func (*BooleanExpression) UnmarshalJSON ¶
func (in *BooleanExpression) UnmarshalJSON(b []byte) error
type BranchNodePhase ¶
type BranchNodePhase int
A branchNode has its own Phases. These are used by the child nodes to ensure that the branch node is in the right state
const ( BranchNodeNotYetEvaluated BranchNodePhase = iota BranchNodeSuccess BranchNodeError )
func (BranchNodePhase) String ¶
func (b BranchNodePhase) String() string
type BranchNodeSpec ¶
type BranchNodeSpec struct { If IfBlock `json:"if"` ElseIf []*IfBlock `json:"elseIf,omitempty"` Else *NodeID `json:"else,omitempty"` ElseFail *core.Error `json:"elseFail,omitempty"` }
func (*BranchNodeSpec) DeepCopy ¶
func (in *BranchNodeSpec) DeepCopy() *BranchNodeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BranchNodeSpec.
func (*BranchNodeSpec) DeepCopyInto ¶
func (in *BranchNodeSpec) DeepCopyInto(out *BranchNodeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BranchNodeSpec) GetElse ¶
func (in *BranchNodeSpec) GetElse() *NodeID
func (*BranchNodeSpec) GetElseFail ¶
func (in *BranchNodeSpec) GetElseFail() *core.Error
func (*BranchNodeSpec) GetElseIf ¶
func (in *BranchNodeSpec) GetElseIf() []ExecutableIfBlock
func (*BranchNodeSpec) GetIf ¶
func (in *BranchNodeSpec) GetIf() ExecutableIfBlock
type BranchNodeStatus ¶
type BranchNodeStatus struct { MutableStruct Phase BranchNodePhase `json:"phase,omitempty"` FinalizedNodeID *NodeID `json:"finalNodeId,omitempty"` }
func (*BranchNodeStatus) DeepCopy ¶
func (in *BranchNodeStatus) DeepCopy() *BranchNodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BranchNodeStatus.
func (*BranchNodeStatus) DeepCopyInto ¶
func (in *BranchNodeStatus) DeepCopyInto(out *BranchNodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BranchNodeStatus) Equals ¶
func (in *BranchNodeStatus) Equals(other *BranchNodeStatus) bool
func (*BranchNodeStatus) GetFinalizedNode ¶
func (in *BranchNodeStatus) GetFinalizedNode() *NodeID
func (*BranchNodeStatus) GetPhase ¶
func (in *BranchNodeStatus) GetPhase() BranchNodePhase
func (*BranchNodeStatus) SetBranchNodeError ¶
func (in *BranchNodeStatus) SetBranchNodeError()
func (*BranchNodeStatus) SetBranchNodeSuccess ¶
func (in *BranchNodeStatus) SetBranchNodeSuccess(id NodeID)
type ConditionKind ¶
type ConditionKind string
const ( ConditionKindApprove ConditionKind = "approve" ConditionKindSignal ConditionKind = "signal" ConditionKindSleep ConditionKind = "sleep" )
func (ConditionKind) String ¶
func (n ConditionKind) String() string
type Connections ¶
type Connections struct { Downstream map[NodeID][]NodeID `json:"downstream"` Upstream map[NodeID][]NodeID `json:"upstream"` }
Connections keep track of downstream and upstream dependencies (including data and execution dependencies).
func (*Connections) DeepCopy ¶
func (in *Connections) DeepCopy() *Connections
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Connections.
func (*Connections) DeepCopyInto ¶
func (in *Connections) DeepCopyInto(out *Connections)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomState ¶
type CustomState map[string]interface{}
func (*CustomState) DeepCopy ¶
func (in *CustomState) DeepCopy() *CustomState
func (*CustomState) DeepCopyInto ¶
func (in *CustomState) DeepCopyInto(out *CustomState)
THIS IS NOT AUTO GENERATED
type DataReference ¶
type DataReference = storage.DataReference
func GetDeckFile ¶
func GetDeckFile(inputDir DataReference) DataReference
func GetInputsFile ¶
func GetInputsFile(inputDir DataReference) DataReference
func GetOutputsFile ¶
func GetOutputsFile(outputDir DataReference) DataReference
type DeprecatedConnections
deprecated
type DeprecatedConnections struct { DownstreamEdges map[NodeID][]NodeID UpstreamEdges map[NodeID][]NodeID }
Deprecated: Please use Connections instead
func (*DeprecatedConnections) DeepCopy ¶
func (in *DeprecatedConnections) DeepCopy() *DeprecatedConnections
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeprecatedConnections.
func (*DeprecatedConnections) DeepCopyInto ¶
func (in *DeprecatedConnections) DeepCopyInto(out *DeprecatedConnections)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeprecatedConnections) MarshalJSON ¶
func (in *DeprecatedConnections) MarshalJSON() ([]byte, error)
func (*DeprecatedConnections) UnmarshalJSON ¶
func (in *DeprecatedConnections) UnmarshalJSON(b []byte) error
type DynamicNodePhase ¶
type DynamicNodePhase int
const ( // This is the default phase for a Dynamic Node execution. This also implies that the parent node is being executed DynamicNodePhaseNone DynamicNodePhase = iota // This phase implies that all the sub-nodes are being executed DynamicNodePhaseExecuting // This implies that the dynamic sub-nodes have failed and failure is being handled DynamicNodePhaseFailing // This Phase implies that the Parent node is done but it needs to be finalized before progressing to the sub-nodes (or dynamically yielded nodes) DynamicNodePhaseParentFinalizing // This Phase implies that the Parent node has finalized and the sub-node (or dynamically yielded nodes) can now be processed. DynamicNodePhaseParentFinalized )
type DynamicNodeStatus ¶
type DynamicNodeStatus struct { MutableStruct Phase DynamicNodePhase `json:"phase,omitempty"` Reason string `json:"reason,omitempty"` Error *ExecutionError `json:"error,omitempty"` IsFailurePermanent bool `json:"permFailure,omitempty"` }
func (*DynamicNodeStatus) DeepCopy ¶
func (in *DynamicNodeStatus) DeepCopy() *DynamicNodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynamicNodeStatus.
func (*DynamicNodeStatus) DeepCopyInto ¶
func (in *DynamicNodeStatus) DeepCopyInto(out *DynamicNodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DynamicNodeStatus) Equals ¶
func (in *DynamicNodeStatus) Equals(o *DynamicNodeStatus) bool
func (*DynamicNodeStatus) GetDynamicNodePhase ¶
func (in *DynamicNodeStatus) GetDynamicNodePhase() DynamicNodePhase
func (*DynamicNodeStatus) GetDynamicNodeReason ¶
func (in *DynamicNodeStatus) GetDynamicNodeReason() string
func (*DynamicNodeStatus) GetExecutionError ¶
func (in *DynamicNodeStatus) GetExecutionError() *core.ExecutionError
func (*DynamicNodeStatus) GetIsFailurePermanent ¶
func (in *DynamicNodeStatus) GetIsFailurePermanent() bool
func (*DynamicNodeStatus) SetDynamicNodePhase ¶
func (in *DynamicNodeStatus) SetDynamicNodePhase(phase DynamicNodePhase)
func (*DynamicNodeStatus) SetDynamicNodeReason ¶
func (in *DynamicNodeStatus) SetDynamicNodeReason(reason string)
func (*DynamicNodeStatus) SetExecutionError ¶
func (in *DynamicNodeStatus) SetExecutionError(err *core.ExecutionError)
func (*DynamicNodeStatus) SetIsFailurePermanent ¶
func (in *DynamicNodeStatus) SetIsFailurePermanent(isFailurePermanent bool)
type EnqueueWorkflow ¶
type EnqueueWorkflow func(workflowID WorkflowID)
Simple callback that can be used to indicate that the workflow with WorkflowID should be re-enqueued for examination.
type EventVersion ¶
type EventVersion int
const ( EventVersion0 EventVersion = iota EventVersion1 EventVersion2 )
type ExecutableArrayNode ¶
type ExecutableArrayNodeStatus ¶
type ExecutableArrayNodeStatus interface { GetArrayNodePhase() ArrayNodePhase GetExecutionError() *core.ExecutionError GetSubNodePhases() bitarray.CompactArray GetSubNodeTaskPhases() bitarray.CompactArray GetSubNodeRetryAttempts() bitarray.CompactArray GetSubNodeSystemFailures() bitarray.CompactArray GetTaskPhaseVersion() uint32 }
type ExecutableBranchNode ¶
type ExecutableBranchNode interface { GetIf() ExecutableIfBlock GetElse() *NodeID GetElseIf() []ExecutableIfBlock GetElseFail() *core.Error }
ExecutableBranchNode is an interface for Branch node. All the methods are purely read only except for the GetExecutionStatus. p returns ExecutableBranchNodeStatus, which permits some mutations
type ExecutableBranchNodeStatus ¶
type ExecutableBranchNodeStatus interface { GetPhase() BranchNodePhase GetFinalizedNode() *NodeID }
Interface for branch node status. This is the mutable API for a branch node
type ExecutableDynamicNodeStatus ¶
type ExecutableDynamicNodeStatus interface { GetDynamicNodePhase() DynamicNodePhase GetDynamicNodeReason() string GetExecutionError() *core.ExecutionError GetIsFailurePermanent() bool }
Interface for dynamic node status.
type ExecutableGateNode ¶
type ExecutableGateNode interface { GetKind() ConditionKind GetApprove() *core.ApproveCondition GetSignal() *core.SignalCondition GetSleep() *core.SleepCondition }
type ExecutableGateNodeStatus ¶
type ExecutableGateNodeStatus interface {
GetGateNodePhase() GateNodePhase
}
type ExecutableIfBlock ¶
type ExecutableIfBlock interface { GetCondition() *core.BooleanExpression GetThenNode() *NodeID }
Interface for the executable If block
type ExecutableNode ¶
type ExecutableNode interface { BaseNode IsStartNode() bool IsEndNode() bool GetTaskID() *TaskID GetBranchNode() ExecutableBranchNode GetWorkflowNode() ExecutableWorkflowNode GetGateNode() ExecutableGateNode GetArrayNode() ExecutableArrayNode GetOutputAlias() []Alias GetInputBindings() []*Binding GetResources() *v1.ResourceRequirements GetExtendedResources() *core.ExtendedResources GetConfig() *v1.ConfigMap GetRetryStrategy() *RetryStrategy GetExecutionDeadline() *time.Duration GetActiveDeadline() *time.Duration IsInterruptible() *bool GetName() string }
ExecutableNode is an interface for the Executable Node
type ExecutableNodeStatus ¶
type ExecutableNodeStatus interface { NodeStatusGetter MutableNodeStatus NodeStatusVisitor ExecutionTimeInfo GetPhase() NodePhase GetQueuedAt() *metav1.Time GetLastAttemptStartedAt() *metav1.Time GetParentNodeID() *NodeID GetParentTaskID() *core.TaskExecutionIdentifier GetDataDir() DataReference GetOutputDir() DataReference GetMessage() string GetExecutionError() *core.ExecutionError GetAttempts() uint32 GetSystemFailures() uint32 GetWorkflowNodeStatus() ExecutableWorkflowNodeStatus GetTaskNodeStatus() ExecutableTaskNodeStatus IsCached() bool }
ExecutableNodeStatus interface for a Node p. This provides a mutable API.
type ExecutableSubWorkflow ¶
type ExecutableSubWorkflow interface { BaseWorkflow GetOutputBindings() []*Binding GetOnFailureNode() ExecutableNode GetNodes() []NodeID GetConnections() *Connections GetOutputs() *OutputVarMap GetOnFailurePolicy() WorkflowOnFailurePolicy }
ExecutableSubWorkflow interface captures the methods available on any workflow (top level or child). The Meta section is available only for the top level workflow
type ExecutableSubWorkflowNodeStatus ¶
type ExecutableSubWorkflowNodeStatus interface {
GetPhase() WorkflowPhase
}
type ExecutableTask ¶
type ExecutableTask interface { TaskType() TaskType CoreTask() *core.TaskTemplate }
Interface for a Task that can be executed
type ExecutableWorkflow ¶
type ExecutableWorkflow interface { ExecutableSubWorkflow MetaExtended NodeStatusGetter GetExecutionConfig() ExecutionConfig }
A Top level Workflow is a combination of Meta and an ExecutableSubWorkflow
type ExecutableWorkflowNode ¶
type ExecutableWorkflowNode interface { GetLaunchPlanRefID() *LaunchPlanRefID GetSubWorkflowRef() *WorkflowID }
ExecutableWorkflowNode is an interface for a Child Workflow Node
type ExecutableWorkflowNodeStatus ¶
type ExecutableWorkflowNodeStatus interface { GetWorkflowNodePhase() WorkflowNodePhase GetExecutionError() *core.ExecutionError }
type ExecutableWorkflowStatus ¶
type ExecutableWorkflowStatus interface { NodeStatusGetter ExecutionTimeInfo UpdatePhase(p WorkflowPhase, msg string, err *core.ExecutionError) GetPhase() WorkflowPhase IsTerminated() bool GetMessage() string GetExecutionError() *core.ExecutionError SetDataDir(DataReference) GetDataDir() DataReference GetOutputReference() DataReference SetOutputReference(reference DataReference) IncFailedAttempts() SetMessage(msg string) ConstructNodeDataDir(ctx context.Context, name NodeID) (storage.DataReference, error) }
ExecutableWorkflowStatus is an interface for the Workflow p. This is the mutable portion for a Workflow
type ExecutionConfig ¶
type ExecutionConfig struct { // Maps individual task types to their alternate (non-default) plugin handlers by name. TaskPluginImpls map[string]TaskPluginOverride // Can be used to control the number of parallel nodes to run within the workflow. This is useful to achieve fairness. MaxParallelism uint32 // Defines execution behavior for processing nodes. RecoveryExecution WorkflowExecutionIdentifier // Defines the resource requests and limits specified for tasks run as part of this execution that ought to be // applied at execution time. TaskResources TaskResources // Defines whether a workflow has been flagged as interruptible. Interruptible *bool // Defines whether a workflow should skip all its cached results and re-compute its output, overwriting any already stored data. OverwriteCache bool // Defines a map of environment variable name / value pairs that are applied to all tasks. EnvironmentVariables map[string]string }
This contains workflow-execution specifications and overrides.
func (*ExecutionConfig) DeepCopy ¶
func (in *ExecutionConfig) DeepCopy() *ExecutionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutionConfig.
func (*ExecutionConfig) DeepCopyInto ¶
func (in *ExecutionConfig) DeepCopyInto(out *ExecutionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecutionError ¶
type ExecutionError struct {
*core.ExecutionError
}
Wrapper around core.Execution error. Execution Error has a protobuf enum and hence needs to be wrapped by custom marshaller
func (*ExecutionError) DeepCopy ¶
func (in *ExecutionError) DeepCopy() *ExecutionError
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutionError.
func (*ExecutionError) DeepCopyInto ¶
func (in *ExecutionError) DeepCopyInto(out *ExecutionError)
func (*ExecutionError) MarshalJSON ¶
func (in *ExecutionError) MarshalJSON() ([]byte, error)
func (*ExecutionError) UnmarshalJSON ¶
func (in *ExecutionError) UnmarshalJSON(b []byte) error
type ExecutionID ¶
type ExecutionID = WorkflowExecutionIdentifier
type ExecutionTimeInfo ¶
type ExtendedResources ¶
type ExtendedResources struct {
*core.ExtendedResources
}
func (*ExtendedResources) DeepCopyInto ¶
func (in *ExtendedResources) DeepCopyInto(out *ExtendedResources)
func (*ExtendedResources) MarshalJSON ¶
func (in *ExtendedResources) MarshalJSON() ([]byte, error)
func (*ExtendedResources) UnmarshalJSON ¶
func (in *ExtendedResources) UnmarshalJSON(b []byte) error
type GateNodePhase ¶
type GateNodePhase int
const ( GateNodePhaseUndefined GateNodePhase = iota GateNodePhaseExecuting )
type GateNodeSpec ¶
type GateNodeSpec struct { Kind ConditionKind `json:"kind"` Approve *ApproveCondition `json:"approve,omitempty"` Signal *SignalCondition `json:"signal,omitempty"` Sleep *SleepCondition `json:"sleep,omitempty"` }
func (*GateNodeSpec) GetApprove ¶
func (g *GateNodeSpec) GetApprove() *core.ApproveCondition
func (*GateNodeSpec) GetKind ¶
func (g *GateNodeSpec) GetKind() ConditionKind
func (*GateNodeSpec) GetSignal ¶
func (g *GateNodeSpec) GetSignal() *core.SignalCondition
func (*GateNodeSpec) GetSleep ¶
func (g *GateNodeSpec) GetSleep() *core.SleepCondition
type GateNodeStatus ¶
type GateNodeStatus struct { MutableStruct Phase GateNodePhase `json:"phase,omitempty"` }
func (*GateNodeStatus) GetGateNodePhase ¶
func (in *GateNodeStatus) GetGateNodePhase() GateNodePhase
func (*GateNodeStatus) SetGateNodePhase ¶
func (in *GateNodeStatus) SetGateNodePhase(phase GateNodePhase)
type Identifier ¶
type Identifier struct {
*core.Identifier
}
func (*Identifier) DeepCopy ¶
func (in *Identifier) DeepCopy() *Identifier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Identifier.
func (*Identifier) DeepCopyInto ¶
func (in *Identifier) DeepCopyInto(out *Identifier)
func (*Identifier) MarshalJSON ¶
func (in *Identifier) MarshalJSON() ([]byte, error)
func (*Identifier) UnmarshalJSON ¶
func (in *Identifier) UnmarshalJSON(b []byte) error
type IfBlock ¶
type IfBlock struct { Condition BooleanExpression `json:"condition"` ThenNode *NodeID `json:"then"` }
func (*IfBlock) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IfBlock.
func (*IfBlock) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (IfBlock) GetCondition ¶
func (in IfBlock) GetCondition() *core.BooleanExpression
func (*IfBlock) GetThenNode ¶
type Inputs ¶
type Inputs struct {
*core.LiteralMap
}
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) MarshalJSON ¶
func (*Inputs) UnmarshalJSON ¶
type KozmoWorkflow ¶
type KozmoWorkflow struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` *WorkflowSpec `json:"spec"` WorkflowMeta *WorkflowMeta `json:"workflowMeta,omitempty"` Inputs *Inputs `json:"inputs,omitempty"` ExecutionID ExecutionID `json:"executionId"` Tasks map[TaskID]*TaskSpec `json:"tasks"` SubWorkflows map[WorkflowID]*WorkflowSpec `json:"subWorkflows,omitempty"` // StartTime before the system will actively try to mark it failed and kill associated containers. // Value must be a positive integer. // +optional ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty"` // Defaults value of parameters to be used for nodes if not set by the node. NodeDefaults NodeDefaults `json:"node-defaults,omitempty"` // Specifies the time when the workflow has been accepted into the system. AcceptedAt *metav1.Time `json:"acceptedAt,omitempty"` // [DEPRECATED] ServiceAccountName is the name of the ServiceAccount to use to run this pod. // [DEPRECATED] More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ // [DEPRECATED] +optional ServiceAccountName string `json:"serviceAccountName,omitempty" protobuf:"bytes,8,opt,name=serviceAccountName"` // Security context fields to define privilege and access control settings // +optional SecurityContext core.SecurityContext `json:"securityContext,omitempty" protobuf:"bytes,12,rep,name=securityContext"` // Status is the only mutable section in the workflow. It holds all the execution information Status WorkflowStatus `json:"status,omitempty"` // RawOutputDataConfig defines the configurations to use for generating raw outputs (e.g. blobs, schemas). RawOutputDataConfig RawOutputDataConfig `json:"rawOutputDataConfig,omitempty"` // Workflow-execution specifications and overrides ExecutionConfig ExecutionConfig `json:"executionConfig,omitempty"` // non-Serialized fields (these will not get written to etcd) // As of 2020-07, the only real implementation of this interface is a URLPathConstructor, which is just an empty // struct. However, because this field is an interface, we create it once when the crd is hydrated from etcd, // so that it can be used downstream without any confusion. // This field is here because it's easier to put it here than pipe through a new object through all of propeller. DataReferenceConstructor storage.ReferenceConstructor `json:"-"` // WorkflowClosureReference is the location containing an offloaded WorkflowClosure. This is used to offload // portions of the CRD to an external data store to reduce CRD size. If this exists, KozmoPropeller must retrieve // and parse the static data prior to processing. WorkflowClosureReference DataReference `json:"workflowClosureReference,omitempty"` }
KozmoWorkflow: represents one Execution Workflow object
func (*KozmoWorkflow) DeepCopy ¶
func (in *KozmoWorkflow) DeepCopy() *KozmoWorkflow
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KozmoWorkflow.
func (*KozmoWorkflow) DeepCopyInto ¶
func (in *KozmoWorkflow) DeepCopyInto(out *KozmoWorkflow)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KozmoWorkflow) DeepCopyObject ¶
func (in *KozmoWorkflow) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KozmoWorkflow) FindSubWorkflow ¶
func (in *KozmoWorkflow) FindSubWorkflow(subID WorkflowID) ExecutableSubWorkflow
func (*KozmoWorkflow) GetDefinitionVersion ¶
func (in *KozmoWorkflow) GetDefinitionVersion() WorkflowDefinitionVersion
func (*KozmoWorkflow) GetEventVersion ¶
func (in *KozmoWorkflow) GetEventVersion() EventVersion
func (*KozmoWorkflow) GetExecutionConfig ¶
func (in *KozmoWorkflow) GetExecutionConfig() ExecutionConfig
func (*KozmoWorkflow) GetExecutionID ¶
func (in *KozmoWorkflow) GetExecutionID() ExecutionID
func (*KozmoWorkflow) GetExecutionStatus ¶
func (in *KozmoWorkflow) GetExecutionStatus() ExecutableWorkflowStatus
func (*KozmoWorkflow) GetK8sWorkflowID ¶
func (in *KozmoWorkflow) GetK8sWorkflowID() types.NamespacedName
func (*KozmoWorkflow) GetNodeExecutionStatus ¶
func (in *KozmoWorkflow) GetNodeExecutionStatus(ctx context.Context, id NodeID) ExecutableNodeStatus
func (*KozmoWorkflow) GetOwnerReference ¶
func (in *KozmoWorkflow) GetOwnerReference() metav1.OwnerReference
func (*KozmoWorkflow) GetRawOutputDataConfig ¶
func (in *KozmoWorkflow) GetRawOutputDataConfig() RawOutputDataConfig
func (*KozmoWorkflow) GetSecurityContext ¶
func (in *KozmoWorkflow) GetSecurityContext() core.SecurityContext
func (*KozmoWorkflow) GetServiceAccountName ¶
func (in *KozmoWorkflow) GetServiceAccountName() string
func (*KozmoWorkflow) GetTask ¶
func (in *KozmoWorkflow) GetTask(id TaskID) (ExecutableTask, error)
func (*KozmoWorkflow) IsInterruptible ¶
func (in *KozmoWorkflow) IsInterruptible() bool
type KozmoWorkflowList ¶
type KozmoWorkflowList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []KozmoWorkflow `json:"items"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object KozmoWorkflowList is a list of KozmoWorkflow resources
func (*KozmoWorkflowList) DeepCopy ¶
func (in *KozmoWorkflowList) DeepCopy() *KozmoWorkflowList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KozmoWorkflowList.
func (*KozmoWorkflowList) DeepCopyInto ¶
func (in *KozmoWorkflowList) DeepCopyInto(out *KozmoWorkflowList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KozmoWorkflowList) DeepCopyObject ¶
func (in *KozmoWorkflowList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LaunchPlanRefID ¶
type LaunchPlanRefID = Identifier
type Meta ¶
type Meta interface { GetExecutionID() ExecutionID GetK8sWorkflowID() types.NamespacedName GetOwnerReference() metav1.OwnerReference GetNamespace() string GetCreationTimestamp() metav1.Time GetAnnotations() map[string]string GetLabels() map[string]string GetName() string GetServiceAccountName() string GetSecurityContext() core.SecurityContext IsInterruptible() bool GetEventVersion() EventVersion GetDefinitionVersion() WorkflowDefinitionVersion GetRawOutputDataConfig() RawOutputDataConfig }
Meta provides an interface to retrieve labels, annotations and other concepts that are declared only once for the top level workflow
type MetaExtended ¶
type MetaExtended interface { Meta TaskDetailsGetter SubWorkflowGetter GetExecutionStatus() ExecutableWorkflowStatus }
type MutableArrayNodeStatus ¶
type MutableArrayNodeStatus interface { Mutable ExecutableArrayNodeStatus SetArrayNodePhase(phase ArrayNodePhase) SetExecutionError(executionError *core.ExecutionError) SetSubNodePhases(subNodePhases bitarray.CompactArray) SetSubNodeTaskPhases(subNodeTaskPhases bitarray.CompactArray) SetSubNodeRetryAttempts(subNodeRetryAttempts bitarray.CompactArray) SetSubNodeSystemFailures(subNodeSystemFailures bitarray.CompactArray) SetTaskPhaseVersion(taskPhaseVersion uint32) }
type MutableBranchNodeStatus ¶
type MutableBranchNodeStatus interface { Mutable ExecutableBranchNodeStatus SetBranchNodeError() SetBranchNodeSuccess(id NodeID) }
type MutableDynamicNodeStatus ¶
type MutableDynamicNodeStatus interface { Mutable ExecutableDynamicNodeStatus SetDynamicNodePhase(phase DynamicNodePhase) SetDynamicNodeReason(reason string) SetExecutionError(executionError *core.ExecutionError) SetIsFailurePermanent(isFailurePermanent bool) }
type MutableGateNodeStatus ¶
type MutableGateNodeStatus interface { Mutable ExecutableGateNodeStatus SetGateNodePhase(phase GateNodePhase) }
type MutableNodeStatus ¶
type MutableNodeStatus interface { Mutable // Mutation API's SetDataDir(DataReference) SetOutputDir(d DataReference) SetParentNodeID(n *NodeID) SetParentTaskID(t *core.TaskExecutionIdentifier) UpdatePhase(phase NodePhase, occurredAt metav1.Time, reason string, enableCRDebugMetadata bool, err *core.ExecutionError) IncrementAttempts() uint32 IncrementSystemFailures() uint32 SetCached() ResetDirty() GetBranchStatus() MutableBranchNodeStatus GetOrCreateBranchStatus() MutableBranchNodeStatus GetWorkflowStatus() MutableWorkflowNodeStatus GetOrCreateWorkflowStatus() MutableWorkflowNodeStatus ClearWorkflowStatus() GetOrCreateTaskStatus() MutableTaskNodeStatus GetTaskStatus() MutableTaskNodeStatus ClearTaskStatus() GetOrCreateDynamicNodeStatus() MutableDynamicNodeStatus GetDynamicNodeStatus() MutableDynamicNodeStatus ClearDynamicNodeStatus() ClearLastAttemptStartedAt() ClearSubNodeStatus() GetGateNodeStatus() MutableGateNodeStatus GetOrCreateGateNodeStatus() MutableGateNodeStatus ClearGateNodeStatus() GetArrayNodeStatus() MutableArrayNodeStatus GetOrCreateArrayNodeStatus() MutableArrayNodeStatus ClearArrayNodeStatus() }
type MutableStruct ¶
type MutableStruct struct {
// contains filtered or unexported fields
}
func (*MutableStruct) DeepCopy ¶
func (in *MutableStruct) DeepCopy() *MutableStruct
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutableStruct.
func (*MutableStruct) DeepCopyInto ¶
func (in *MutableStruct) DeepCopyInto(out *MutableStruct)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MutableStruct) IsDirty ¶
func (in MutableStruct) IsDirty() bool
func (*MutableStruct) SetDirty ¶
func (in *MutableStruct) SetDirty()
type MutableSubWorkflowNodeStatus ¶
type MutableSubWorkflowNodeStatus interface { Mutable ExecutableSubWorkflowNodeStatus SetPhase(phase WorkflowPhase) }
type MutableTaskNodeStatus ¶
type MutableTaskNodeStatus interface { Mutable ExecutableTaskNodeStatus SetPhase(phase int) SetLastPhaseUpdatedAt(updatedAt time.Time) SetPhaseVersion(version uint32) SetPluginState([]byte) SetPluginStateVersion(uint32) SetBarrierClockTick(tick uint32) SetPreviousNodeExecutionCheckpointPath(DataReference) SetCleanupOnFailure(bool) }
type MutableWorkflowNodeStatus ¶
type MutableWorkflowNodeStatus interface { Mutable ExecutableWorkflowNodeStatus SetWorkflowNodePhase(phase WorkflowNodePhase) SetExecutionError(executionError *core.ExecutionError) }
type NodeDefaults ¶
type NodeDefaults struct { // Default behaviour for Interruptible for nodes unless explicitly set at the node level. Interruptible bool `json:"interruptible,omitempty"` }
func (*NodeDefaults) DeepCopy ¶
func (in *NodeDefaults) DeepCopy() *NodeDefaults
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeDefaults.
func (*NodeDefaults) DeepCopyInto ¶
func (in *NodeDefaults) DeepCopyInto(out *NodeDefaults)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeGetter ¶
type NodeGetter interface {
GetNode(nodeID NodeID) (ExecutableNode, bool)
}
type NodeKind ¶
type NodeKind string
NodeKind refers to the type of Node.
const ( // TODO Should we default a NodeKindTask to empty? thus we can assume all unspecified nodetypes as task NodeKindTask NodeKind = "task" NodeKindBranch NodeKind = "branch" // A Branch node with conditions NodeKindWorkflow NodeKind = "workflow" // Either an inline workflow or a remote workflow definition NodeKindGate NodeKind = "gate" // A Gate node with a condition NodeKindArray NodeKind = "array" // An array node with a subtask Node NodeKindStart NodeKind = "start" // Start node is a special node NodeKindEnd NodeKind = "end" )
type NodeMetadata ¶
type NodeMetadata struct {
core.NodeMetadata
}
func (*NodeMetadata) DeepCopy ¶
func (in *NodeMetadata) DeepCopy() *NodeMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeMetadata.
func (*NodeMetadata) DeepCopyInto ¶
func (in *NodeMetadata) DeepCopyInto(out *NodeMetadata)
type NodePhase ¶
type NodePhase int
NodePhase indicates the current state of the Node (phase). A node progresses through these states
type NodeSpec ¶
type NodeSpec struct { ID NodeID `json:"id"` Name string `json:"name,omitempty"` Resources *typesv1.ResourceRequirements `json:"resources,omitempty"` Kind NodeKind `json:"kind"` BranchNode *BranchNodeSpec `json:"branch,omitempty"` TaskRef *TaskID `json:"task,omitempty"` WorkflowNode *WorkflowNodeSpec `json:"workflow,omitempty"` GateNode *GateNodeSpec `json:"gate,omitempty"` ArrayNode *ArrayNodeSpec `json:"array,omitempty"` InputBindings []*Binding `json:"inputBindings,omitempty"` Config *typesv1.ConfigMap `json:"config,omitempty"` RetryStrategy *RetryStrategy `json:"retry,omitempty"` OutputAliases []Alias `json:"outputAlias,omitempty"` // 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 *typesv1.PodSecurityContext `json:"securityContext,omitempty" protobuf:"bytes,14,opt,name=securityContext"` // ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. // If specified, these secrets will be passed to individual puller implementations for them to use. For example, // in the case of docker, only DockerConfig type secrets are honored. // More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod // +optional // +patchMergeKey=name // +patchStrategy=merge ImagePullSecrets []typesv1.LocalObjectReference `json:"imagePullSecrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,15,rep,name=imagePullSecrets"` // Specifies the hostname of the Pod // If not specified, the pod's hostname will be set to a system-defined value. // +optional Hostname string `json:"hostname,omitempty" protobuf:"bytes,16,opt,name=hostname"` // If specified, the fully qualified Pod hostname will be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>". // If not specified, the pod will not have a domainname at all. // +optional Subdomain string `json:"subdomain,omitempty" protobuf:"bytes,17,opt,name=subdomain"` // If specified, the pod's scheduling constraints // +optional Affinity *typesv1.Affinity `json:"affinity,omitempty" protobuf:"bytes,18,opt,name=affinity"` // If specified, the pod will be dispatched by specified scheduler. // If not specified, the pod will be dispatched by default scheduler. // +optional SchedulerName string `json:"schedulerName,omitempty" protobuf:"bytes,19,opt,name=schedulerName"` // If specified, includes overrides for extended resources to allocate to the // node. // +optional ExtendedResources *ExtendedResources `json:"extendedResources,omitempty" protobuf:"bytes,20,opt,name=extendedResources"` // If specified, the pod's tolerations. // +optional Tolerations []typesv1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"` // Node execution timeout ExecutionDeadline *v1.Duration `json:"executionDeadline,omitempty"` // StartTime before the system will actively try to mark it failed and kill associated containers. // Value must be a positive integer. This includes time spent waiting in the queue. // +optional ActiveDeadline *v1.Duration `json:"activeDeadline,omitempty"` // The value set to True means task is OK with getting interrupted // +optional Interruptible *bool `json:"interruptible,omitempty"` }
func (*NodeSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSpec.
func (*NodeSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeSpec) GetActiveDeadline ¶
func (*NodeSpec) GetArrayNode ¶
func (in *NodeSpec) GetArrayNode() ExecutableArrayNode
func (*NodeSpec) GetBranchNode ¶
func (in *NodeSpec) GetBranchNode() ExecutableBranchNode
func (*NodeSpec) GetExecutionDeadline ¶
func (*NodeSpec) GetExtendedResources ¶
func (in *NodeSpec) GetExtendedResources() *core.ExtendedResources
func (*NodeSpec) GetGateNode ¶
func (in *NodeSpec) GetGateNode() ExecutableGateNode
func (*NodeSpec) GetInputBindings ¶
func (*NodeSpec) GetOutputAlias ¶
func (*NodeSpec) GetResources ¶
func (in *NodeSpec) GetResources() *typesv1.ResourceRequirements
func (*NodeSpec) GetRetryStrategy ¶
func (in *NodeSpec) GetRetryStrategy() *RetryStrategy
func (*NodeSpec) GetWorkflowNode ¶
func (in *NodeSpec) GetWorkflowNode() ExecutableWorkflowNode
func (*NodeSpec) IsInterruptible ¶
func (*NodeSpec) IsStartNode ¶
type NodeStatus ¶
type NodeStatus struct { MutableStruct Phase NodePhase `json:"phase,omitempty"` QueuedAt *metav1.Time `json:"queuedAt,omitempty"` StartedAt *metav1.Time `json:"startedAt,omitempty"` StoppedAt *metav1.Time `json:"stoppedAt,omitempty"` LastUpdatedAt *metav1.Time `json:"lastUpdatedAt,omitempty"` LastAttemptStartedAt *metav1.Time `json:"laStartedAt,omitempty"` Message string `json:"message,omitempty"` DataDir DataReference `json:"-"` OutputDir DataReference `json:"-"` Attempts uint32 `json:"attempts,omitempty"` SystemFailures uint32 `json:"systemFailures,omitempty"` Cached bool `json:"cached,omitempty"` // This is useful only for branch nodes. If this is set, then it can be used to determine if execution can proceed ParentNode *NodeID `json:"parentNode,omitempty"` ParentTask *TaskExecutionIdentifier `json:"-"` BranchStatus *BranchNodeStatus `json:"branchStatus,omitempty"` SubNodeStatus map[NodeID]*NodeStatus `json:"subNodeStatus,omitempty"` // TODO not used delete WorkflowNodeStatus *WorkflowNodeStatus `json:"workflowNodeStatus,omitempty"` TaskNodeStatus *TaskNodeStatus `json:",omitempty"` DynamicNodeStatus *DynamicNodeStatus `json:"dynamicNodeStatus,omitempty"` GateNodeStatus *GateNodeStatus `json:"gateNodeStatus,omitempty"` ArrayNodeStatus *ArrayNodeStatus `json:"arrayNodeStatus,omitempty"` // In case of Failing/Failed Phase, an execution error can be optionally associated with the Node Error *ExecutionError `json:"error,omitempty"` // Not Persisted DataReferenceConstructor storage.ReferenceConstructor `json:"-"` }
func (*NodeStatus) ClearArrayNodeStatus ¶
func (in *NodeStatus) ClearArrayNodeStatus()
func (*NodeStatus) ClearDynamicNodeStatus ¶
func (in *NodeStatus) ClearDynamicNodeStatus()
func (*NodeStatus) ClearGateNodeStatus ¶
func (in *NodeStatus) ClearGateNodeStatus()
func (*NodeStatus) ClearLastAttemptStartedAt ¶
func (in *NodeStatus) ClearLastAttemptStartedAt()
func (*NodeStatus) ClearSubNodeStatus ¶
func (in *NodeStatus) ClearSubNodeStatus()
func (*NodeStatus) ClearTaskStatus ¶
func (in *NodeStatus) ClearTaskStatus()
func (*NodeStatus) ClearWorkflowStatus ¶
func (in *NodeStatus) ClearWorkflowStatus()
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) Equals ¶
func (in *NodeStatus) Equals(other *NodeStatus) bool
func (*NodeStatus) GetArrayNodeStatus ¶
func (in *NodeStatus) GetArrayNodeStatus() MutableArrayNodeStatus
func (*NodeStatus) GetAttempts ¶
func (in *NodeStatus) GetAttempts() uint32
func (*NodeStatus) GetBranchStatus ¶
func (in *NodeStatus) GetBranchStatus() MutableBranchNodeStatus
func (*NodeStatus) GetDataDir ¶
func (in *NodeStatus) GetDataDir() DataReference
func (NodeStatus) GetDynamicNodeStatus ¶
func (in NodeStatus) GetDynamicNodeStatus() MutableDynamicNodeStatus
func (*NodeStatus) GetExecutionError ¶
func (in *NodeStatus) GetExecutionError() *core.ExecutionError
func (*NodeStatus) GetGateNodeStatus ¶
func (in *NodeStatus) GetGateNodeStatus() MutableGateNodeStatus
func (*NodeStatus) GetLastAttemptStartedAt ¶
func (in *NodeStatus) GetLastAttemptStartedAt() *metav1.Time
func (*NodeStatus) GetLastUpdatedAt ¶
func (in *NodeStatus) GetLastUpdatedAt() *metav1.Time
func (*NodeStatus) GetMessage ¶
func (in *NodeStatus) GetMessage() string
func (*NodeStatus) GetNodeExecutionStatus ¶
func (in *NodeStatus) GetNodeExecutionStatus(ctx context.Context, id NodeID) ExecutableNodeStatus
func (*NodeStatus) GetOrCreateArrayNodeStatus ¶
func (in *NodeStatus) GetOrCreateArrayNodeStatus() MutableArrayNodeStatus
func (*NodeStatus) GetOrCreateBranchStatus ¶
func (in *NodeStatus) GetOrCreateBranchStatus() MutableBranchNodeStatus
func (*NodeStatus) GetOrCreateDynamicNodeStatus ¶
func (in *NodeStatus) GetOrCreateDynamicNodeStatus() MutableDynamicNodeStatus
func (*NodeStatus) GetOrCreateGateNodeStatus ¶
func (in *NodeStatus) GetOrCreateGateNodeStatus() MutableGateNodeStatus
func (*NodeStatus) GetOrCreateTaskStatus ¶
func (in *NodeStatus) GetOrCreateTaskStatus() MutableTaskNodeStatus
func (*NodeStatus) GetOrCreateWorkflowStatus ¶
func (in *NodeStatus) GetOrCreateWorkflowStatus() MutableWorkflowNodeStatus
func (*NodeStatus) GetOutputDir ¶
func (in *NodeStatus) GetOutputDir() DataReference
func (*NodeStatus) GetParentNodeID ¶
func (in *NodeStatus) GetParentNodeID() *NodeID
func (*NodeStatus) GetParentTaskID ¶
func (in *NodeStatus) GetParentTaskID() *core.TaskExecutionIdentifier
func (*NodeStatus) GetPhase ¶
func (in *NodeStatus) GetPhase() NodePhase
func (*NodeStatus) GetQueuedAt ¶
func (in *NodeStatus) GetQueuedAt() *metav1.Time
func (*NodeStatus) GetStartedAt ¶
func (in *NodeStatus) GetStartedAt() *metav1.Time
func (*NodeStatus) GetStoppedAt ¶
func (in *NodeStatus) GetStoppedAt() *metav1.Time
func (*NodeStatus) GetSystemFailures ¶
func (in *NodeStatus) GetSystemFailures() uint32
func (NodeStatus) GetTaskNodeStatus ¶
func (in NodeStatus) GetTaskNodeStatus() ExecutableTaskNodeStatus
func (*NodeStatus) GetTaskStatus ¶
func (in *NodeStatus) GetTaskStatus() MutableTaskNodeStatus
func (*NodeStatus) GetWorkflowNodeStatus ¶
func (in *NodeStatus) GetWorkflowNodeStatus() ExecutableWorkflowNodeStatus
func (*NodeStatus) GetWorkflowStatus ¶
func (in *NodeStatus) GetWorkflowStatus() MutableWorkflowNodeStatus
func (*NodeStatus) IncrementAttempts ¶
func (in *NodeStatus) IncrementAttempts() uint32
func (*NodeStatus) IncrementSystemFailures ¶
func (in *NodeStatus) IncrementSystemFailures() uint32
func (*NodeStatus) IsCached ¶
func (in *NodeStatus) IsCached() bool
func (*NodeStatus) IsDirty ¶
func (in *NodeStatus) IsDirty() bool
func (*NodeStatus) IsTerminated ¶
func (in *NodeStatus) IsTerminated() bool
func (*NodeStatus) ResetDirty ¶
func (in *NodeStatus) ResetDirty()
ResetDirty is for unit tests, shouldn't be used in actual logic.
func (*NodeStatus) SetCached ¶
func (in *NodeStatus) SetCached()
func (*NodeStatus) SetDataDir ¶
func (in *NodeStatus) SetDataDir(d DataReference)
func (*NodeStatus) SetOutputDir ¶
func (in *NodeStatus) SetOutputDir(d DataReference)
func (*NodeStatus) SetParentNodeID ¶
func (in *NodeStatus) SetParentNodeID(n *NodeID)
func (*NodeStatus) SetParentTaskID ¶
func (in *NodeStatus) SetParentTaskID(t *core.TaskExecutionIdentifier)
func (*NodeStatus) UpdatePhase ¶
func (in *NodeStatus) UpdatePhase(p NodePhase, occurredAt metav1.Time, reason string, enableCRDebugMetadata bool, err *core.ExecutionError)
func (NodeStatus) VisitNodeStatuses ¶
func (in NodeStatus) VisitNodeStatuses(visitor NodeStatusVisitFn)
type NodeStatusGetter ¶
type NodeStatusGetter interface {
GetNodeExecutionStatus(ctx context.Context, id NodeID) ExecutableNodeStatus
}
type NodeStatusMap ¶
type NodeStatusMap = map[NodeID]ExecutableNodeStatus
type NodeStatusVisitFn ¶
type NodeStatusVisitFn = func(node NodeID, status ExecutableNodeStatus)
type NodeStatusVisitor ¶
type NodeStatusVisitor interface {
VisitNodeStatuses(visitor NodeStatusVisitFn)
}
type OutputVarMap ¶
type OutputVarMap struct {
*core.VariableMap
}
func (*OutputVarMap) DeepCopy ¶
func (in *OutputVarMap) DeepCopy() *OutputVarMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutputVarMap.
func (*OutputVarMap) DeepCopyInto ¶
func (in *OutputVarMap) DeepCopyInto(out *OutputVarMap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OutputVarMap) MarshalJSON ¶
func (in *OutputVarMap) MarshalJSON() ([]byte, error)
func (*OutputVarMap) UnmarshalJSON ¶
func (in *OutputVarMap) UnmarshalJSON(b []byte) error
type RawOutputDataConfig ¶
type RawOutputDataConfig struct {
*admin.RawOutputDataConfig
}
This contains an OutputLocationPrefix. When running against AWS, this should be something of the form s3://my-bucket, or s3://my-bucket/ A sharding string will automatically be appended to this prefix before handing off to plugins/tasks. Sharding behavior may change in the future. Background available at https://github.com/kozmoai/kozmo/issues/211
func (*RawOutputDataConfig) DeepCopy ¶
func (in *RawOutputDataConfig) DeepCopy() *RawOutputDataConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawOutputDataConfig.
func (*RawOutputDataConfig) DeepCopyInto ¶
func (in *RawOutputDataConfig) DeepCopyInto(out *RawOutputDataConfig)
type RetryStrategy ¶
type RetryStrategy struct { // MinAttempts implies the at least n attempts to try this node before giving up. The at least here is because we may // fail to write the attempt information and end up retrying again. // Also `0` and `1` both mean at least one attempt will be done. 0 is a degenerate case. MinAttempts *int `json:"minAttempts"` }
Strategy to be used to Retry a node that is in RetryableFailure state
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 SignalCondition ¶
type SignalCondition struct {
*core.SignalCondition
}
func (SignalCondition) MarshalJSON ¶
func (in SignalCondition) MarshalJSON() ([]byte, error)
func (*SignalCondition) UnmarshalJSON ¶
func (in *SignalCondition) UnmarshalJSON(b []byte) error
type SleepCondition ¶
type SleepCondition struct {
*core.SleepCondition
}
func (SleepCondition) MarshalJSON ¶
func (in SleepCondition) MarshalJSON() ([]byte, error)
func (*SleepCondition) UnmarshalJSON ¶
func (in *SleepCondition) UnmarshalJSON(b []byte) error
type SubWorkflowGetter ¶
type SubWorkflowGetter interface {
FindSubWorkflow(subID WorkflowID) ExecutableSubWorkflow
}
type TaskDetailsGetter ¶
type TaskDetailsGetter interface {
GetTask(id TaskID) (ExecutableTask, error)
}
type TaskExecutionIdentifier ¶
type TaskExecutionIdentifier struct {
*core.TaskExecutionIdentifier
}
func (*TaskExecutionIdentifier) DeepCopy ¶
func (in *TaskExecutionIdentifier) DeepCopy() *TaskExecutionIdentifier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskExecutionIdentifier.
func (*TaskExecutionIdentifier) DeepCopyInto ¶
func (in *TaskExecutionIdentifier) DeepCopyInto(out *TaskExecutionIdentifier)
type TaskNodeStatus ¶
type TaskNodeStatus struct { MutableStruct Phase int `json:"phase,omitempty"` PhaseVersion uint32 `json:"phaseVersion,omitempty"` PluginState []byte `json:"pState,omitempty"` PluginStateVersion uint32 `json:"psv,omitempty"` BarrierClockTick uint32 `json:"tick,omitempty"` LastPhaseUpdatedAt time.Time `json:"updAt,omitempty"` PreviousNodeExecutionCheckpointPath DataReference `json:"checkpointPath,omitempty"` CleanupOnFailure bool `json:"clean,omitempty"` }
func (*TaskNodeStatus) DeepCopy ¶
func (in *TaskNodeStatus) DeepCopy() *TaskNodeStatus
func (*TaskNodeStatus) DeepCopyInto ¶
func (in *TaskNodeStatus) DeepCopyInto(out *TaskNodeStatus)
func (*TaskNodeStatus) Equals ¶
func (in *TaskNodeStatus) Equals(other *TaskNodeStatus) bool
func (*TaskNodeStatus) GetBarrierClockTick ¶
func (in *TaskNodeStatus) GetBarrierClockTick() uint32
func (TaskNodeStatus) GetCleanupOnFailure ¶
func (in TaskNodeStatus) GetCleanupOnFailure() bool
func (TaskNodeStatus) GetLastPhaseUpdatedAt ¶
func (in TaskNodeStatus) GetLastPhaseUpdatedAt() time.Time
func (TaskNodeStatus) GetPhase ¶
func (in TaskNodeStatus) GetPhase() int
func (TaskNodeStatus) GetPhaseVersion ¶
func (in TaskNodeStatus) GetPhaseVersion() uint32
func (*TaskNodeStatus) GetPluginState ¶
func (in *TaskNodeStatus) GetPluginState() []byte
func (*TaskNodeStatus) GetPluginStateVersion ¶
func (in *TaskNodeStatus) GetPluginStateVersion() uint32
func (TaskNodeStatus) GetPreviousNodeExecutionCheckpointPath ¶
func (in TaskNodeStatus) GetPreviousNodeExecutionCheckpointPath() DataReference
func (*TaskNodeStatus) SetBarrierClockTick ¶
func (in *TaskNodeStatus) SetBarrierClockTick(tick uint32)
func (*TaskNodeStatus) SetCleanupOnFailure ¶
func (in *TaskNodeStatus) SetCleanupOnFailure(cleanupOnFailure bool)
func (*TaskNodeStatus) SetLastPhaseUpdatedAt ¶
func (in *TaskNodeStatus) SetLastPhaseUpdatedAt(updatedAt time.Time)
func (*TaskNodeStatus) SetPhase ¶
func (in *TaskNodeStatus) SetPhase(phase int)
func (*TaskNodeStatus) SetPhaseVersion ¶
func (in *TaskNodeStatus) SetPhaseVersion(version uint32)
func (*TaskNodeStatus) SetPluginState ¶
func (in *TaskNodeStatus) SetPluginState(s []byte)
func (*TaskNodeStatus) SetPluginStateVersion ¶
func (in *TaskNodeStatus) SetPluginStateVersion(v uint32)
func (*TaskNodeStatus) SetPreviousNodeExecutionCheckpointPath ¶
func (in *TaskNodeStatus) SetPreviousNodeExecutionCheckpointPath(path DataReference)
func (*TaskNodeStatus) UpdatePhase ¶
func (in *TaskNodeStatus) UpdatePhase(phase int, phaseVersion uint32)
type TaskPluginOverride ¶
type TaskPluginOverride struct { PluginIDs []string MissingPluginBehavior admin.PluginOverride_MissingPluginBehavior }
func (*TaskPluginOverride) DeepCopy ¶
func (in *TaskPluginOverride) DeepCopy() *TaskPluginOverride
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskPluginOverride.
func (*TaskPluginOverride) DeepCopyInto ¶
func (in *TaskPluginOverride) DeepCopyInto(out *TaskPluginOverride)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TaskResourceSpec ¶
type TaskResourceSpec struct { CPU resource.Quantity Memory resource.Quantity EphemeralStorage resource.Quantity Storage resource.Quantity GPU resource.Quantity }
Defines a set of configurable resources of different types that a task can request or apply as limits.
type TaskResources ¶
type TaskResources struct { // If the node where a task is running has enough of a resource available, a // container may use more resources than its request for that resource specifies. Requests TaskResourceSpec // A hard limit, a task cannot consume resources greater than the limit specifies. Limits TaskResourceSpec }
Defines the complete closure of compute resources a task can request and apply as limits.
type TaskSpec ¶
type TaskSpec struct {
*core.TaskTemplate
}
func (*TaskSpec) CoreTask ¶
func (in *TaskSpec) CoreTask() *core.TaskTemplate
func (*TaskSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskSpec.
func (*TaskSpec) DeepCopyInto ¶
func (*TaskSpec) MarshalJSON ¶
func (*TaskSpec) UnmarshalJSON ¶
type TaskType ¶
type TaskType = string
TaskType is a dynamic enumeration, that is defined by configuration
type WorkflowDefinitionVersion ¶
type WorkflowDefinitionVersion uint32
const ( WorkflowDefinitionVersion0 WorkflowDefinitionVersion = iota WorkflowDefinitionVersion1 )
type WorkflowExecutionIdentifier ¶
type WorkflowExecutionIdentifier struct {
*core.WorkflowExecutionIdentifier
}
func (*WorkflowExecutionIdentifier) DeepCopy ¶
func (in *WorkflowExecutionIdentifier) DeepCopy() *WorkflowExecutionIdentifier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowExecutionIdentifier.
func (*WorkflowExecutionIdentifier) DeepCopyInto ¶
func (in *WorkflowExecutionIdentifier) DeepCopyInto(out *WorkflowExecutionIdentifier)
type WorkflowID ¶
type WorkflowID = string
type WorkflowMeta ¶
type WorkflowMeta struct {
EventVersion EventVersion `json:"eventVersion,omitempty"`
}
func (*WorkflowMeta) DeepCopy ¶
func (in *WorkflowMeta) DeepCopy() *WorkflowMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowMeta.
func (*WorkflowMeta) DeepCopyInto ¶
func (in *WorkflowMeta) DeepCopyInto(out *WorkflowMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowNodePhase ¶
type WorkflowNodePhase int
const ( WorkflowNodePhaseUndefined WorkflowNodePhase = iota WorkflowNodePhaseExecuting WorkflowNodePhaseFailing )
type WorkflowNodeSpec ¶
type WorkflowNodeSpec struct { // Either one of the two LaunchPlanRefID *LaunchPlanRefID `json:"launchPlanRefId,omitempty"` // We currently want the SubWorkflow to be completely contained in the node. this is because // We use the node status to store the information of the execution. // Important Note: This may cause a bloat in case we use the same SubWorkflow in multiple nodes. The recommended // technique for that is to use launch plan refs. This is because we will end up executing the launch plan refs as // disparate executions in Kozmo propeller. This is potentially better as it prevents us from hitting the storage limit // in etcd //+optional. // Workflow *WorkflowSpec `json:"workflow,omitempty"` SubWorkflowReference *WorkflowID `json:"subWorkflowRef,omitempty"` }
func (*WorkflowNodeSpec) DeepCopy ¶
func (in *WorkflowNodeSpec) DeepCopy() *WorkflowNodeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowNodeSpec.
func (*WorkflowNodeSpec) DeepCopyInto ¶
func (in *WorkflowNodeSpec) DeepCopyInto(out *WorkflowNodeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowNodeSpec) GetLaunchPlanRefID ¶
func (in *WorkflowNodeSpec) GetLaunchPlanRefID() *LaunchPlanRefID
func (*WorkflowNodeSpec) GetSubWorkflowRef ¶
func (in *WorkflowNodeSpec) GetSubWorkflowRef() *WorkflowID
type WorkflowNodeStatus ¶
type WorkflowNodeStatus struct { MutableStruct Phase WorkflowNodePhase `json:"phase,omitempty"` ExecutionError *core.ExecutionError `json:"executionError,omitempty"` }
func (*WorkflowNodeStatus) DeepCopy ¶
func (in *WorkflowNodeStatus) DeepCopy() *WorkflowNodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowNodeStatus.
func (*WorkflowNodeStatus) DeepCopyInto ¶
func (in *WorkflowNodeStatus) DeepCopyInto(out *WorkflowNodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowNodeStatus) GetExecutionError ¶
func (in *WorkflowNodeStatus) GetExecutionError() *core.ExecutionError
func (*WorkflowNodeStatus) GetWorkflowNodePhase ¶
func (in *WorkflowNodeStatus) GetWorkflowNodePhase() WorkflowNodePhase
func (*WorkflowNodeStatus) SetExecutionError ¶
func (in *WorkflowNodeStatus) SetExecutionError(executionError *core.ExecutionError)
func (*WorkflowNodeStatus) SetWorkflowNodePhase ¶
func (in *WorkflowNodeStatus) SetWorkflowNodePhase(phase WorkflowNodePhase)
type WorkflowOnFailurePolicy ¶
type WorkflowOnFailurePolicy core.WorkflowMetadata_OnFailurePolicy
Failure Handling Policy
func WorkflowOnFailurePolicyString ¶
func WorkflowOnFailurePolicyString(policy string) (WorkflowOnFailurePolicy, error)
func (WorkflowOnFailurePolicy) MarshalJSON ¶
func (in WorkflowOnFailurePolicy) MarshalJSON() ([]byte, error)
func (*WorkflowOnFailurePolicy) UnmarshalJSON ¶
func (in *WorkflowOnFailurePolicy) UnmarshalJSON(data []byte) error
type WorkflowPhase ¶
type WorkflowPhase int
WorkflowPhase indicates current state of the Workflow.
const ( WorkflowPhaseReady WorkflowPhase = iota WorkflowPhaseRunning WorkflowPhaseSucceeding WorkflowPhaseSuccess WorkflowPhaseFailing WorkflowPhaseFailed WorkflowPhaseAborted // WorkflowPhaseHandlingFailureNode is the phase the workflow will enter when a failure is detected in the workflow, // the workflow has finished cleaning up (aborted running nodes... etc.) and a failure node is declared in the // workflow spec. We enter this explicit phase so as to ensure we do not attempt to repeatedly clean up old nodes // when handling a workflow event which might yield to seemingly random failures. This phase ensure we are handling, // and only so, the failure node until it's done executing or it fails itself. // If a failure node fails to execute (a real possibility), the final failure output of the workflow will only include // its failure reason. In other words, its failure will mask the original failure for the workflow. It's imperative // failure nodes should be very simple, very resilient and very well tested. WorkflowPhaseHandlingFailureNode )
func (WorkflowPhase) String ¶
func (p WorkflowPhase) String() string
type WorkflowSpec ¶
type WorkflowSpec struct { ID WorkflowID `json:"id"` Nodes map[NodeID]*NodeSpec `json:"nodes"` // Defines the set of connections (both data dependencies and execution dependencies) that the graph is // formed of. The execution engine will respect and follow these connections as it determines which nodes // can and should be executed. // Deprecated: Please use Connections DeprecatedConnections DeprecatedConnections `json:"connections"` // Defines the set of connections (both data dependencies and execution dependencies) that the graph is // formed of. The execution engine will respect and follow these connections as it determines which nodes // can and should be executed. Connections Connections `json:"edges"` // Defines a single node to execute in case the system determined the Workflow has failed. OnFailure *NodeSpec `json:"onFailure,omitempty"` // Defines the declaration of the outputs types and names this workflow is expected to generate. Outputs *OutputVarMap `json:"outputs,omitempty"` // Defines the data links used to construct the final outputs of the workflow. Bindings will typically // refer to specific outputs of a subset of the nodes executed in the Workflow. When executing the end-node, // the execution engine will traverse these bindings and assemble the final set of outputs of the workflow. OutputBindings []*Binding `json:"outputBindings,omitempty"` // Defines the policy for handling failures whether it's to fail immediately, or let the nodes run // to completion. OnFailurePolicy WorkflowOnFailurePolicy `json:"onFailurePolicy,omitempty"` }
WorkflowSpec is the spec for the actual Kozmo Workflow (DAG)
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) GetConnections ¶
func (in *WorkflowSpec) GetConnections() *Connections
func (*WorkflowSpec) GetID ¶
func (in *WorkflowSpec) GetID() WorkflowID
func (*WorkflowSpec) GetNode ¶
func (in *WorkflowSpec) GetNode(nodeID NodeID) (ExecutableNode, bool)
func (*WorkflowSpec) GetNodes ¶
func (in *WorkflowSpec) GetNodes() []NodeID
func (*WorkflowSpec) GetOnFailureNode ¶
func (in *WorkflowSpec) GetOnFailureNode() ExecutableNode
func (*WorkflowSpec) GetOnFailurePolicy ¶
func (in *WorkflowSpec) GetOnFailurePolicy() WorkflowOnFailurePolicy
func (*WorkflowSpec) GetOutputBindings ¶
func (in *WorkflowSpec) GetOutputBindings() []*Binding
func (*WorkflowSpec) GetOutputs ¶
func (in *WorkflowSpec) GetOutputs() *OutputVarMap
func (*WorkflowSpec) StartNode ¶
func (in *WorkflowSpec) StartNode() ExecutableNode
type WorkflowStatus ¶
type WorkflowStatus struct { Phase WorkflowPhase `json:"phase"` StartedAt *metav1.Time `json:"startedAt,omitempty"` StoppedAt *metav1.Time `json:"stoppedAt,omitempty"` LastUpdatedAt *metav1.Time `json:"lastUpdatedAt,omitempty"` Message string `json:"message,omitempty"` DataDir DataReference `json:"dataDir,omitempty"` OutputReference DataReference `json:"outputRef,omitempty"` NodeStatus map[NodeID]*NodeStatus `json:"nodeStatus,omitempty"` // Number of Attempts completed with rounds resulting in error. this is used to cap out poison pill workflows // that spin in an error loop. The value should be set at the global level and will be enforced. At the end of // the retries the workflow will fail FailedAttempts uint32 `json:"failedAttempts,omitempty"` // Stores the Error during the Execution of the Workflow. It is optional and usually associated with Failing/Failed state only Error *ExecutionError `json:"error,omitempty"` // DefinitionVersion allows propeller code that populates the CRD to evolve (in backward incompatible ways) without // affecting in-flight executions. Once an execution starts, propeller will populate this field with the current or // latest version. If a newer propeller version is deployed midway that comes with a newer version, code that relies // on the latest version should be gated behind this. DefinitionVersion *WorkflowDefinitionVersion `json:"defVersion,omitempty"` // non-Serialized fields DataReferenceConstructor storage.ReferenceConstructor `json:"-"` }
func (*WorkflowStatus) ConstructNodeDataDir ¶
func (in *WorkflowStatus) ConstructNodeDataDir(ctx context.Context, name NodeID) (storage.DataReference, error)
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) Equals ¶
func (in *WorkflowStatus) Equals(other *WorkflowStatus) bool
func (*WorkflowStatus) GetDataDir ¶
func (in *WorkflowStatus) GetDataDir() DataReference
func (*WorkflowStatus) GetExecutionError ¶
func (in *WorkflowStatus) GetExecutionError() *core.ExecutionError
func (*WorkflowStatus) GetLastUpdatedAt ¶
func (in *WorkflowStatus) GetLastUpdatedAt() *metav1.Time
func (*WorkflowStatus) GetMessage ¶
func (in *WorkflowStatus) GetMessage() string
func (*WorkflowStatus) GetNodeExecutionStatus ¶
func (in *WorkflowStatus) GetNodeExecutionStatus(ctx context.Context, id NodeID) ExecutableNodeStatus
func (*WorkflowStatus) GetOutputReference ¶
func (in *WorkflowStatus) GetOutputReference() DataReference
func (*WorkflowStatus) GetPhase ¶
func (in *WorkflowStatus) GetPhase() WorkflowPhase
func (*WorkflowStatus) GetStartedAt ¶
func (in *WorkflowStatus) GetStartedAt() *metav1.Time
func (*WorkflowStatus) GetStoppedAt ¶
func (in *WorkflowStatus) GetStoppedAt() *metav1.Time
func (*WorkflowStatus) IncFailedAttempts ¶
func (in *WorkflowStatus) IncFailedAttempts()
func (*WorkflowStatus) IsTerminated ¶
func (in *WorkflowStatus) IsTerminated() bool
func (*WorkflowStatus) SetDataDir ¶
func (in *WorkflowStatus) SetDataDir(d DataReference)
func (*WorkflowStatus) SetMessage ¶
func (in *WorkflowStatus) SetMessage(msg string)
func (*WorkflowStatus) SetOutputReference ¶
func (in *WorkflowStatus) SetOutputReference(reference DataReference)
func (*WorkflowStatus) UpdatePhase ¶
func (in *WorkflowStatus) UpdatePhase(p WorkflowPhase, msg string, err *core.ExecutionError)