Skip to content

Calrissian Command-Line Tool Reference

calrissian command-line tool reuses and extends the cwltool command-line tool interface.

cwltool mandatory cli options

calrissian command-line tool reuses the cwltool command-line tool interface.

These options described below are mandatory when using calrissian.

--tmp-outdir-prefix

--tmp-outdir-prefix sets the prefix for temporary output directories.

When a CWL tool or workflow is executed, calrissian creates temporary directories to store intermediate output files.

By default, these directories are created in the system's temporary directory (e.g., /tmp/).

The --tmp-outdir-prefix option allows you to specify a custom prefix for these temporary directories in the ReadWriteMany volume, which can be useful for organizing or controlling the location of these directories.

--outdir

--outdir specifies the output directory for final results.

When calrissian completes the execution of a workflow or tool, the final output files are stored in a designated directory.

The --outdir option allows you to define the location of this output directory in the ReadWriteMany volume.

calrissian extended cli options

calrissian command-line tool extends the cwltool command-line tool interface.

These options are described below.

--max-ram

--max-ram sets the maximum amount of RAM to use, e.g., 1048576, 512Mi, or 2G. Follows Kubernetes (k8s) resource conventions.

Calrissian spawns pods until the max RAM value is reached. Remaining pods remain pending until resources are freed or procured.

--max-cores

--max-cores sets the maximum number of CPU cores to use.

This option limits the number of CPU cores available for the pods. If the specified number of cores is exceeded, additional pods will be queued until resources are available.

--max-gpus

--max-gpus sets the maximum number of GPU cores to use.

This option is optional and, if provided, limits the GPU resources available for the pods. If the specified number of GPU cores is exceeded, additional pods will be queued until resources are available.

--pod-labels

--pod-labels allows the user to specify a YAML file containing labels to add to the Pods submitted.

These labels can be used to categorize, organize, or manage the Pods in the Kubernetes environment.

--pod-env-vars

--pod-env-vars allows the user to specify a YAML file containing environment variables to add at runtime to the Pods submitted.

This is useful for injecting configuration values or secrets into the pod environments.

--pod-nodeselectors

--pod-nodeselectors allows the user to specify a YAML file containing node selectors to add to the Pods submitted.

Node selectors constrain the Pods to run only on specific nodes within the Kubernetes cluster that match the specified criteria.

--pod-serviceaccount

--pod-serviceaccount sets the Service Account to use for pods management.

The Service Account defines the permissions and access controls for the Pods running in the Kubernetes cluster.

--usage-report

--usage-report specifies the output JSON file name to record resource usage.

This file contains details on the resource utilization (CPU, RAM, GPU, etc.) of the Pods during execution, which can be used for monitoring and optimization purposes.

--stdout

--stdout specifies the output file name to tee standard output (CWL output object).

This option captures the standard output of the tool and saves it to the specified file, in addition to displaying it in the console.

--stderr

--stderr specifies the output file name to tee standard error to (includes tool logs).

This option captures the standard error output, including logs, and saves it to the specified file, in addition to displaying it in the console.

--tool-logs-basepath

--tool-logs-basepath sets the base path for saving the tool logs.

This option defines the directory where the tool's log files will be stored. It helps in organizing logs by location.

--conf

--conf allows the user to define the default values for the CLI arguments.

This option can be used multiple times to override or set default values for the various command-line options, simplifying repeated use cases.