Skip to content

igmor/workglow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

workglow is a Go library for defining and running Go workflows. Every step in the workglow should be mapped to a workflow Go handler, created in a way that accepts a subset of workglow step's named parameters as input arguments, i.e:

workglow:
  name: example_workflow
  steps:
    initialize:
      name: workglow/step1.go
    configure_iam_role:
      name: workglow/aws/iam.go
      role_arn: ${example_workflow.initialize.arn} 
      policy: ${example_workflow.initialize.arn}
    configure_k8s_rbac:
      role_arn: ${example_workflow.initialize.arn} 

All workglow steps are run concurrently and simultaneously unless a step has an implicit dependency on output parameters of other steps, ie

role_arn: ${example_workflow.initialize.arn}

In this case, the step is run afer output parameter becomes available, ie after step runs that produce all the necessary input parameters .

Steps Go handlers are implemented as Go plugins with all the limitations for this feature. Please read https://pkg.go.dev/plugin for more information.

About

Go declarative workflow engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages