Documentation
¶
Overview ¶
Package workflow defines the Role interface, along with tooling to build the control tree. A workflow is a tree of Roles, and it's loaded from Configuration with a combination of YAML unmarshaling and Go template execution.
Index ¶
- Constants
- func Graft(root *yaml.Node, path string, toAdd []byte, graftedName string) (out []byte, err error)
- func LeafWalk(root Role, do func(role Role))
- func LoadWorkflow(in []byte) (out yaml.Node, err error)
- func RoleToYAML(input Role) ([]byte, error)
- func Walk(root Role, do func(role Role))
- func WrapConstraints(items constraint.Constraints) template.Fields
- type GetCurrentRunNumberFunc
- type GetEnvIdFunc
- type GetStringMapFunc
- type LoadSubworkflowFunc
- type ParentAdapter
- func (*ParentAdapter) CollectInboundChannels() []channel.Inbound
- func (*ParentAdapter) CollectOutboundChannels() []channel.Outbound
- func (p *ParentAdapter) GetCurrentRunNumber() uint32
- func (p *ParentAdapter) GetDefaults() gera.StringMap
- func (p *ParentAdapter) GetEnvironmentId() uid.ID
- func (p *ParentAdapter) GetParent() Updatable
- func (*ParentAdapter) GetPath() string
- func (p *ParentAdapter) GetUserVars() gera.StringMap
- func (p *ParentAdapter) GetVars() gera.StringMap
- func (p *ParentAdapter) SendEvent(ev event.Event)
- func (p *ParentAdapter) SubscribeToStateChange(subscriptionId string, c chan task.State)
- func (p *ParentAdapter) SubscribeToStatusChange(subscriptionId string, c chan task.Status)
- func (p *ParentAdapter) UnsubscribeFromStateChange(subscriptionId string)
- func (p *ParentAdapter) UnsubscribeFromStatusChange(subscriptionId string)
- type PublicUpdatable
- type Role
- type SafeState
- type SafeStatus
- type SendEvents
- type Updatable
- type VarNode
Constants ¶
View Source
const ( PATH_SEPARATOR = "." PATH_SEPARATOR_RUNE = '.' )
Variables ¶
This section is empty.
Functions ¶
func Graft ¶ added in v0.17.0
Graft takes a root node, a path to a role in root, byte array with an existing role and appends this role asa child of the role in root where the path specifies.
func LoadWorkflow ¶ added in v0.17.0
func RoleToYAML ¶ added in v0.17.0
RoleToYAML exists to avoid exporting aggregatorRole/iteratorRole. Simply put, this function is nothing but a wrapper which allows marshalling Roles outside the workflow package
func WrapConstraints ¶ added in v0.19.90
func WrapConstraints(items constraint.Constraints) template.Fields
Types ¶
type GetCurrentRunNumberFunc ¶ added in v0.20.0
type GetCurrentRunNumberFunc func() uint32
type GetEnvIdFunc ¶
type GetStringMapFunc ¶ added in v0.12.90
type LoadSubworkflowFunc ¶ added in v0.21.80
type ParentAdapter ¶
type ParentAdapter struct {
SendEvents SendEvents
// contains filtered or unexported fields
}
func NewParentAdapter ¶
func NewParentAdapter(getEnvId GetEnvIdFunc, getCurrentRunNumber GetCurrentRunNumberFunc, getDefaults GetStringMapFunc, getVars GetStringMapFunc, getUserVars GetStringMapFunc, SendEvents SendEvents) *ParentAdapter
func (*ParentAdapter) CollectInboundChannels ¶ added in v0.13.90
func (*ParentAdapter) CollectInboundChannels() []channel.Inbound
func (*ParentAdapter) CollectOutboundChannels ¶
func (*ParentAdapter) CollectOutboundChannels() []channel.Outbound
func (*ParentAdapter) GetCurrentRunNumber ¶ added in v0.20.0
func (p *ParentAdapter) GetCurrentRunNumber() uint32
func (*ParentAdapter) GetDefaults ¶ added in v0.12.90
func (p *ParentAdapter) GetDefaults() gera.StringMap
func (*ParentAdapter) GetEnvironmentId ¶
func (p *ParentAdapter) GetEnvironmentId() uid.ID
func (*ParentAdapter) GetParent ¶
func (p *ParentAdapter) GetParent() Updatable
func (*ParentAdapter) GetPath ¶
func (*ParentAdapter) GetPath() string
func (*ParentAdapter) GetUserVars ¶ added in v0.12.90
func (p *ParentAdapter) GetUserVars() gera.StringMap
func (*ParentAdapter) GetVars ¶ added in v0.12.90
func (p *ParentAdapter) GetVars() gera.StringMap
func (*ParentAdapter) SendEvent ¶ added in v0.19.80
func (p *ParentAdapter) SendEvent(ev event.Event)
func (*ParentAdapter) SubscribeToStateChange ¶
func (p *ParentAdapter) SubscribeToStateChange(subscriptionId string, c chan task.State)
func (*ParentAdapter) SubscribeToStatusChange ¶
func (p *ParentAdapter) SubscribeToStatusChange(subscriptionId string, c chan task.Status)
func (*ParentAdapter) UnsubscribeFromStateChange ¶
func (p *ParentAdapter) UnsubscribeFromStateChange(subscriptionId string)
func (*ParentAdapter) UnsubscribeFromStatusChange ¶
func (p *ParentAdapter) UnsubscribeFromStatusChange(subscriptionId string)
type PublicUpdatable ¶ added in v0.20.0
type Role ¶
type Role interface {
VarNode
GetParent() Updatable
GetParentRole() Role
GetRootRole() Role
GetRoles() []Role
GetPath() string
GetName() string
GetStatus() task.Status
GetState() task.State
GetTasks() task.Tasks
GetTaskClasses() []string
GenerateTaskDescriptors() task.Descriptors
ProcessTemplates(workflowRepo repos.IRepo, loadSubworkflow LoadSubworkflowFunc) error
GlobFilter(g glob.Glob) []Role
SetRuntimeVar(key string, value string)
SetRuntimeVars(kv map[string]string)
GetHooksMapForTrigger(trigger string) callable.HooksMap
GetAllHooks() callable.Hooks
IsEnabled() bool
GetCurrentRunNumber() uint32
ConsolidatedVarStack() (varStack map[string]string, err error)
GetEnvironmentId() uid.ID
// contains filtered or unexported methods
}
type SafeStatus ¶
type SafeStatus struct {
// contains filtered or unexported fields
}
type SendEvents ¶ added in v0.19.80
Source Files
¶
Click to show internal directories.
Click to hide internal directories.