streamflow
The StreamFlow Workflow Manager
50K+
The StreamFlow framework is a container-native Workflow Management System (WMS) written in Python 3. It has been designed around two main principles:
In order to run a workflow inside the StreamFlow image:
streamflow.yml file and all the other relevant dependencies (e.g. a CWL
description of the workflow steps and a Helm description of the execution environment) needs to be mounted as a volume
inside the container, for example in the /streamflow/project folder/streamflow/results folder. Therefore, it is necessary to mount
such location as a volume in order to persist the results/tmp/streamflow location. For debugging purposes, or in
order to improve I/O performances in case of huge files, it could be useful to mount also such location as a volumestreamflow.yml file inside the container (e.g. /streamflow/project/streamflow.yml) must be
passed as an argument to the Docker containerThe script below gives an example of StreamFlow execution in a Docker container
docker run -d \
--mount type=bind,source="$(pwd)"/my-project,target=/streamflow/project \
--mount type=bind,source="$(pwd)"/results,target=/streamflow/results \
--mount type=bind,source="$(pwd)"/tmp,target=/tmp/streamflow \
alphaunito/streamflow run /streamflow/project/streamflow.yml
It is also possible to execute the StreamFlow container as a Job in Kubernetes.
In this case, StreamFlow is able to deploy Helm models directly on the parent cluster through the
ServiceAccount credentials. In order to do that, the inCluster option must be set to true for each
involved module on the streamflow.yml file
models:
helm-model:
type: helm
config:
inCluster: true
...
A Helm template of a StreamFlow Job can be found in the helm/chart folder.
Please note that, in case RBAC is active on the
Kubernetes cluster, a proper RoleBinding must be attached to the ServiceAccount object, in order to give
StreamFlow the permissions to manage deployments of pods and executions of tasks.
Content type
Image
Digest
sha256:4424a7b1d…
Size
124.3 MB
Last updated
3 months ago
docker pull alphaunito/streamflow