interfaces

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AbortData

type AbortData struct {
	// Execution namespace.
	Namespace string
	// Execution identifier.
	ExecutionID *core.WorkflowExecutionIdentifier
	// Cluster identifier where the execution was created
	Cluster string
}

AbortData includes all parameters required to abort an execution CRD object.

type Compiler

type Compiler interface {
	CompileTask(task *core.TaskTemplate) (*core.CompiledTask, error)
	GetRequirements(fg *core.WorkflowTemplate, subWfs []*core.WorkflowTemplate) (
		compiler.WorkflowExecutionRequirements, error)
	CompileWorkflow(primaryWf *core.WorkflowTemplate, subworkflows []*core.WorkflowTemplate, tasks []*core.CompiledTask,
		launchPlans []common.InterfaceProvider) (*core.CompiledWorkflowClosure, error)
}

Workflow compiler interface.

type ExecutionData

type ExecutionData struct {
	// Execution namespace.
	Namespace string
	// Execution identifier.
	ExecutionID *core.WorkflowExecutionIdentifier
	// Underlying workflow name for the execution.
	ReferenceWorkflowName string
	// Launch plan name used to trigger the execution.
	ReferenceLaunchPlanName string
	// Compiled workflow closure used to build the kozmo workflow
	WorkflowClosure *core.CompiledWorkflowClosure
	// Storage Data Reference for the WorkflowClosure
	WorkflowClosureReference storage.DataReference
	// Additional parameters used to build a workflow execution
	ExecutionParameters ExecutionParameters
}

ExecutionData includes all parameters required to create an execution CRD object.

type ExecutionParameters

type ExecutionParameters struct {
	Inputs              *core.LiteralMap
	AcceptedAt          time.Time
	Labels              map[string]string
	Annotations         map[string]string
	TaskPluginOverrides []*admin.PluginOverride
	ExecutionConfig     *admin.WorkflowExecutionConfig
	RecoveryExecution   *core.WorkflowExecutionIdentifier
	TaskResources       *TaskResources
	EventVersion        int
	RoleNameKey         string
	RawOutputDataConfig *admin.RawOutputDataConfig
	ClusterAssignment   *admin.ClusterAssignment
}

type ExecutionResponse

type ExecutionResponse struct {
	// Cluster identifier where the execution was created
	Cluster string
}

ExecutionResponse is returned when a Kozmo workflow execution is successfully created.

type KozmoWorkflowBuilder

type KozmoWorkflowBuilder interface {
	Build(
		wfClosure *core.CompiledWorkflowClosure, inputs *core.LiteralMap, executionID *core.WorkflowExecutionIdentifier,
		namespace string) (*v1alpha1.KozmoWorkflow, error)
}

KozmoWorkflowBuilder produces a v1alpha1.KozmoWorkflow definition from a compiled workflow closure and execution inputs

type TaskResources

type TaskResources struct {
	Defaults runtime.TaskResourceSet
	Limits   runtime.TaskResourceSet
}

type WorkflowExecutor

type WorkflowExecutor interface {
	// ID returns the unique name of this executor implementation.
	ID() string
	// Execute creates a Kozmo workflow execution CRD object.
	Execute(ctx context.Context, data ExecutionData) (ExecutionResponse, error)
	// Abort aborts a running Kozmo workflow execution CRD object.
	Abort(ctx context.Context, data AbortData) error
}

WorkflowExecutor is a client interface used to create and delete Kozmo workflow CRD objects.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL