Documentation
¶
Overview ¶
Package engine provides an embeddable engine variant.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultDeployerRegistry = registry.New( deployer.Any(docker.NewFactory()), deployer.Any(kubernetes.NewFactory()), deployer.Any(podman.NewFactory()), deployer.Any(python.NewFactory()), )
DefaultDeployerRegistry contains the deployers.
View Source
var ErrNoWorkflowFile = fmt.Errorf("no workflow file provided in context")
ErrNoWorkflowFile signals that no workflow file was provided in the context.
Functions ¶
func NewDefaultStepRegistry ¶ added in v0.4.0
func NewDefaultStepRegistry( logger log.Logger, deployerRegistry deployerRegistry.Registry, config *config.Config, ) (step.Registry, error)
NewDefaultStepRegistry creates a registry with the default step types applied.
Types ¶
type Workflow ¶ added in v0.4.0
type Workflow interface { // Run executes the workflow with the passed, YAML-formatted input data. Run( ctx context.Context, input []byte, ) ( outputID string, outputData any, outputIsError bool, err error, ) // InputSchema returns the requested input schema for the workflow. InputSchema() schema.Scope // Outputs returns the list of possible outputs and their schema for the workflow. Outputs() map[string]schema.StepOutput }
Workflow is a runnable, queryable workflow. You can execute it, or query it for schema information.
type WorkflowEngine ¶
type WorkflowEngine interface { // RunWorkflow is a simplified shortcut to parse and immediately run a workflow. RunWorkflow( ctx context.Context, input []byte, workflowContext map[string][]byte, workflowFileName string, ) (outputID string, outputData any, outputError bool, err error) // Parse ingests a workflow context as a map of files to their contents and a workflow file name and // parses the data into an executable workflow. Parse( workflowContext map[string][]byte, workflowFileName string, ) ( workflow Workflow, err error, ) }
WorkflowEngine is responsible for executing workflows and returning their result.
Directories
¶
Path | Synopsis |
---|---|
cmd
|
|
arcaflow
Package main provides the main entrypoint for Arcaflow.
|
Package main provides the main entrypoint for Arcaflow. |
run-plugin
Package main provides a simple script to run a plugin as a standalone.
|
Package main provides a simple script to run a plugin as a standalone. |
Package config provides the Engine configuration structure.
|
Package config provides the Engine configuration structure. |
internal
|
|
infer
Package infer provides the ability to construct a schema inferred from existing data and possibly expressions.
|
Package infer provides the ability to construct a schema inferred from existing data and possibly expressions. |
step
Package step provides the abstract definition of an Arcaflow workflow step.
|
Package step provides the abstract definition of an Arcaflow workflow step. |
step/dummy
Package dummy is a step provider that just says hello.
|
Package dummy is a step provider that just says hello. |
step/foreach
Package foreach provides the ability to loop over items.
|
Package foreach provides the ability to loop over items. |
step/plugin
Package plugin provides a step provider that executes container-based Arcaflow plugins using deployers.
|
Package plugin provides a step provider that executes container-based Arcaflow plugins using deployers. |
step/registry
Package registry provides the step registry, joining the step providers together.
|
Package registry provides the step registry, joining the step providers together. |
util
Package util provides a few minor tools.
|
Package util provides a few minor tools. |
Package workflow provides the workflow execution engine.
|
Package workflow provides the workflow execution engine. |
Click to show internal directories.
Click to hide internal directories.