Blueprint¶
The Blueprint defines a list of tasks or stages that should be executed by a runner. The Blueprint is used by the Work Order as a reusable task specifier.
The Task list in the Blueprint contains either task names, stage names with a stage:
prefixed to the name, or actions.
The Blueprint does not allow for context switching or bootenv changing within the task list.
Unlike Workflows, Blueprints allow for specifying parameters or profiles. This allows for customization of the tasks without requiring the single stage / task pair pattern.
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 is the key of this particular Blueprint. required: true |
Params | Params holds the values of parameters on the object. The field is a key / value store of the parameters. The key is the name of a parameter. The key is of type string. The value is the value of the parameter. The type of the value is defined by the parameter object. If the key doesn't reference a parameter, the type of the object can be anything. The system will enforce the named parameter's value's type. Go calls the "anything" parameters as "interface {}". Hence, the type of this field is a map[string]interface{}. |
Profiles | Profiles is an array of profiles to apply to this object in order when looking for a parameter during rendering. |
Tasks | Tasks is a list of strings that match the same as the machine's Task list. Actions, contexts, and stages are allowed, provided that the bootenv does not change. |