Argo Workflows Plugin
The Argo Workflows plugin allows you to orchestrate complex tasks and workflows as containerized jobs.
You must set up a connection to the Argo Workflows server before adding Argo Workflows tasks. For more information, see Set up Connection to Argo Workflows Server.
In the release flow editor, Container tasks have a blue border.
Argo Workflows plugin provides the following features:
- Create Workflow (Container)
- Delete Workflow (Container)
- Get Workflow (Container)
- List Workflows (Container)
- Resubmit Workflow (Container)
- Resume Workflow (Container)
- Retry Workflow (Container)
- Stop Workflow (Container)
- Suspend Workflow (Container)
- Terminate Workflow (Container)
Prerequisites
For Argo Workflow integration, you need the following:
- Argo Workflow server running and accessible via HTTP(s)
- Digital.ai Release Runner setup to run the container tasks
Set up Connection to Argo Workflow Server
- From the navigation pane, under CONFIGURATION, click Connections.
- Under HTTP Server connections, next to Argo Workflows API Server (Container), click . The New Argo Workflows API Server (Container) page opens.
- In the Title field, enter a name for the configuration.
- In the URL field, enter the server URL.
- If you want to connect to the server, using HTTP, select the Use HTTP checkbox.
- If you want to connect to the server, without validating the TLS certificate, select the Insecure checkbox.
- In the Bearer Token field, enter the bearer token.
- To test the connection, click Test.
- To save the configuration, click Save.
Create Workflow (Container)
The Create Workflow (Container) task allows you to create complex workflows based on your requirements.
- In the release flow tab of a Release template, add a task of type Argo Workflows > Create Workflow (Container).
- Click the added task to open it.
- In the Capabilities field, enter a value that matches the capability set for your Runner. This will help you to route jobs to that particular Runner.
- In the Server field, select the configured Argo Workflow server.
- In the Namespace field, enter the name of the Kubernetes namespace.
- In the Workflow Format drop-down list, select the format of your workflow.
- yaml
- json
- In the Workflow field, you can copy the workflow in its specific format.
Delete Workflow (Container)
The Delete Workflow (Container) task allows you to effortlessly remove obsolete or redundant workflows.
- In the release flow tab of a Release template, add a task of type Argo Workflows > Delete Workflow (Container).
- Click the added task to open it.
- In the Capabilities field, enter a value that matches the capability set for your Runner. This will help you to route jobs to that particular Runner.
- In the Server field, select the configured Argo Workflow server.
- In the Namespace field, enter the name of the Kubernetes namespace.
- In the Workflow Name drop-down list, enter the name of the workflow.
- In the Force toggle, select the toggle if you want to forcefully delete the workflow.
Get Workflow (Container)
This task gets an Argo workflow. It is used to retrieve the details of a specific workflow for monitoring or debugging purposes.
List Workflows (Container)
This task lists all the Argo workflows. It is used to provide an overview of all existing workflows for better management and visibility.
Resubmit Workflow (Container)
This task resubmits an Argo workflow. It is used to restart a workflow from the beginning, often after resolving issues that caused a failure.
Resume Workflow (Container)
This task resumes an Argo workflow. It is used to continue a previously paused workflow, ensuring it completes its execution.
Retry Workflow (Container)
This task retries an Argo workflow. It is used to attempt executing a failed workflow again, often to handle transient errors.
Stop Workflow (Container)
This task stops an Argo workflow. It is used to halt a running workflow, usually for troubleshooting or to prevent unnecessary resource usage.
Suspend Workflow (Container)
This task suspends an Argo workflow. It is used to temporarily pause a workflow, allowing for intervention or resource reallocation.
Terminate Workflow (Container)
This task terminates an Argo workflow. It is used to forcefully end a workflow, typically when it is no longer needed or is causing issues.