Workflow system overview¶
Note: Support for workflows is experimental and subject to change
MetalSoft software enables a fully managed, end-to-end IaaS service for the Edge. This vertically integrated, “opinionated” design provides a lot of features and usability but it might not fit snugly into the complex, existing “telco” & enterprise ecosystems.
To enable users to build onto with a myriad of scenarios, MetalSoft provides means to build entire provisioning systems from scratch.
Our approach¶
To enable the fully custom provisioning flows our low level API layer is exposed for direct consumption as part of “Workflows”. Users can then directly call the underlying bare metal layer.
metalsoft stack
At the same time the Metalsoft preserves compatibility with high level services such as the “As-a-Service” consumption layer and associated infrastructure editor, firmware management, monitoring etc. allowing architects to pick-and-choose the features that best match their scenario.
An example of this compatibility with upper layers, in this tutorial users create a custom OS Template for esxi. This template will appear to users in the UI like this:
custom-os
This allows regular users to use the system just like with built-in provisioning processes.
Important components¶
Various building blocks are used:
metalsoft stack
- Stage definitions - describe a reusable stage in a Workflow.
- Workflows - describe a reusable sequence of stages that can be executed within a context such as applied to single server or to multiple servers or as a preparatory stage.
- OS Templates - describes a PXE or ONIE process that can be used for unattended installs
- Assets - describe files and templates that the system will serve as part of a deployment process
- Variables & Secrets - allow the customization of stages & Workflows for various contexts
- Infrastructures - defines an execution context for workflows