Closed Fryguy closed 1 year ago
Exciting initiative and long overdue!
This issue has been automatically marked as stale because it has not been updated for at least 3 months.
If you can still reproduce this issue on the current release or on master
, please reply with all of the information you have about it in order to keep the issue open.
Thank you for all your contributions! More information about the ManageIQ triage process can be found in the triage process documentation.
Marking this as completed. All future changes will be done in a follow up issues/PRs.
This feature spec proposes a new automation experience that is much less complicated. The underlying driver for this change is actually to create an improved service catalog experience. However, as one builds out their service catalog, the first stumbling block is the need to build a dialog, and the automation behind it. Writing Automate is incredibly complicated, and requires a lot of knowledge of the system in addition to Automate itself (there's literally an entire book). This feature spec is to design a new experience that is much more user friendly, and allows users to build automation in a much more natural way.
Tracking issues:
Overview
We will create a new a new step based automation system. Each step will execute a container. We will support import/export and even in-browser development by serializing to Amazon State Languages (ASL). It is the responsibility of the end user to build and support the containers with the execution of each step.
Considerations
There are some considerations about the current system that we need to take into account.
Design
For the purposes of this document I am referring to this step-function-like automation as "workflows".
Backend
ASL Runtime/Orchestration
Modeling
ConfigurationScriptSource
model as a baseAuthentication
model as a baseConfigurationScriptPayload
model as a basepayload
column to be used to embed the ASL directlycredentials
column to be used for credential mapping needed by the workflow to know which fields map to which credentialsConfigurationScript
model as a basecontext
field will store the running context of the workflow.context
encapsulates the entire workspace of the workflowAPI
/api/configuration_script_sources
for repositories/api/configuration_script_payloads
for workflows/api/configuration_scripts
for workflow instances/api/authentications
(or/api/providers/:id/authentications
) for credentialsUI
Automate -> Embedded Workflows
(can be mostly copied from Embedded Ansible)Repositories
Workflows
Credentials
Documentation
Phase 2
Future Plans
Backward Compatibility
We do not intend for this to be directly backward compatible with Automate, and therefore we don't intend for there to be a migration plan. If this new Workflow system is better, we will manually migrate existing things, such as the provisioning and retirement Automate models.
Alternatives considered
Videos