Workflow¶
A Workflow defines an ordered sequence of stages that a machine progresses through during provisioning or lifecycle management. It is the top-level orchestration object that drives machine state transitions from discovery through OS installation to final configuration.
When a Workflow is applied to a Machine, the machine's current task list is replaced with the expanded contents of each stage in the workflow. For each stage, the expansion produces: a stage:stageName entry, an optional bootenv:bootEnvName entry (if the stage has a non-empty BootEnv), and then the stage's individual tasks. This flattened task list becomes the machine's execution plan.
While a Workflow is active on a machine, the machine's Stage and BootEnv fields become read-only. Stage and boot environment transitions occur automatically as the machine progresses through its task list, and manual changes to those fields are not permitted. The Workflow's Stages field can also include direct task references (prefixed with task:), action references (prefixed with action:), and context switches (prefixed with context:), providing flexibility in composing execution sequences.
Workflows are applied to Machine objects and contain references to Stage objects. They work in concert with BootEnv, Tasks, and Profile objects to define complete provisioning pipelines.
Metadata¶
| Field | Description | Value |
|---|---|---|
universal |
Describes the entry point for the workflow. | |
| The entry point for pipelines. | start |
|
| Performs provision operations for pipelines. | provision |
Fields¶
| Field | Definition |
|---|---|
| Description | Description is a string for providing a simple description |
| Documentation | Documentation is a string for providing additional in depth information. |
| Meta | Meta contains the meta data of the object. The type of this field is a key / value map/dictionary. The key type is string. The value type is also string. The general content of the field is undefined and can be an arbritary store. There are some common known keys: color - The color the UX uses when displaying icon - The icon the UX uses when displaying * title - The UX uses this for additional display information. Often the source of the object. Specific Object types use additional meta data fields. These are described at: https://docs.rackn.io/stable/redirect/?ref=rs_object_metadata |
| Name | Name defines the name of the workflow |
| Stages | Stages contains the list of stages that make up the workflow. Additionally, tasks can be directly specified by prepending task: to the task name.Additionally, actions can be directly specified by prepending action: to the action name.Additionally, context changes can be directly specified by prepending context: to the context name. |
When the workflow field on a machine is set, the current task list on the machine is replaced with the results of expanding each stage in the workflow using the following items:
- stage:stageName
- bootenv:bootEnvName (if the stage has a non-empty bootenv field)
- task0...taskN (the content of the stage's
Tasksfield)
Additionally, the Stage and BootEnv fields of the machine become read-only, as stage and bootenv transitions will occur as dictated by the machine task list, and when the stage changes it does not affect the task list.