2.8 KiB
Workflow design rules
- A data resource may be directly linked to a processing
- A processing resource is linked always linked to the next processing resource.
- If two processing resources need to exchange file data, they need to be connected to the same file storage(s)
- A processing shall be linked to a computing resource
Data - Resource link
A data resource may be linked to a processing resource. The processing resource shall be compatible with the data resource format and API.
Example 1 : Trivial download
For a simple example :
- the data resource will provide an http url to download a file.
- the processing resource is the simple curl command that will download the file in the current computing resource
Example 2 : Advanced download processing resource
For a more specific example :
- the data resource is a complex data archive
- the processing resource is a complex download component that can be configured to retrieve specific data or datasets from the archive
Processing - Processing link
Dependant processings must be graphically linked, those links allow build the workflow's acyclic diagram.
Processing - Storage link
A processing may be linked to one or several storage resources.
Basic storage resource types
Storage resource types generally require a list source - destination information tha describe reaw/write operations. This information is associated to the link between the processing and the storage resources.
In the case of a write to storage operation :
- the source information specifies the local path/filename in the container where the file is created by the processing.
- the destination information contains the url/path/filename where the file shall be stored
In the case of a read from storage operation :
- the source information specifies the url/path/filename where the file is stored
- the destination information contains local path/filename in the container where the file shall be created for the processing to use it.
Local cluster storage
The generated Argo workflow defines a local storage available to all containers in the current cluster This storage is available from every container under the path defined in the $LOCALSTORAGE environment varlable. On this special storage, as it is mounted in all container, the source - destination information is implicit. Any data can be read or written directly.
S3 type storages
Several S3 compatible storage may be used in a workflow
- OCS3 : The global MinIO deployed in the local OpenCloud instance
- Generic S3 : Any external accessible S3 compatible service
- WFS3 : An internal MinIO instance deployed for the workflow duration, that instance might be exposed outside the current cluster
Custom storage types
Processing - Computing link
A processing shall be connected to a computing link.