Command-line description#
WfExS main directives are:
init
: This command is used to initialize a WfExS installation. It takes a local configuration file through-L
parameter, and it can both generate crypt4gh paired keys for installation work and identification purposes and update the path to them in case they are not properly defined. Those keys are needed to decrypt encrypted working directories, and in the future to decrypt secure requests and encrypt secure results.config-validate
: This command is used to validate workflow staging configuration file, as well as its paired security context configuration file using the corresponding JSON Schemas. It honours-L
,-W
,-Z
parameters andWFEXS_CONFIG_FILE
environment variable. If command is not set, this is the default command to be run.cache
: This command is used to manage the different caches, helping in their own lifecycle (list, fetch, inject, validate, remove). It recognizes both-L
parameter andWFEXS_CONFIG_FILE
environment variable.stage
: This command is used to first validate workflow staging and security context configuration files, then fetch all the workflow preconditions and files, staging them for an execution. It honours-L
,-W
,-Z
parameters andWFEXS_CONFIG_FILE
environment variable, and once the staging is finished it prints the path to the parent execution environment.re-stage
: This command is used to reuse an already staged workflow in a completely uncoupled working directory. The command allows replacing some of the parameters.import
: This command is used to fetch and import a previously generated Workflow Run RO-Crate, for reproducibility. The command allows replacing some of the original parameters, for replicability.staged-workdir
: This command is complementary tostage
. It recognizes both-L
parameter andWFEXS_CONFIG_FILE
environment variable. This command has several subcommands which help on the workflow execution lifecycle (list available working directories and their statuses, remove some of them, execute either a shell or a custom command in a working directory context, execute, export prospective and retrospective provenance to RO-Crate, …).export
: This command is complementary tostage
. It recognizes both-L
parameter andWFEXS_CONFIG_FILE
environment variable, and depends on-J
parameter to locate the execution environment directory to be used, properly staged throughstage
. It also depends on both -E and -Z parameters, to declare the different export patterns and the needed credentials to complete the rules. This command has a couple of subcommands to list previously exported items and to do those exports.export-stage
(to be done): This command is complementary tostage
. It recognizes both-L
parameter andWFEXS_CONFIG_FILE
environment variable, and depends on-J
parameter to locate the execution environment directory to be used, properly staged throughstage
. It will bundle the description of the staged environment in an RO-Crate, in order to be reused later, or uploaded to places like WorkflowHub. All of this assuming there is an stage there.offline-execute
: This command is complementary tostage
. It recognizes both-L
parameter andWFEXS_CONFIG_FILE
environment variable, and depends on-J
parameter to locate the execution environment directory to be used, properly staged throughstage
. It executes the workflow, assuming all the preconditions are in place.export-results
: This command is complementary tooffline-execute
. It recognizes both-L
parameter andWFEXS_CONFIG_FILE
environment variable, and depends on-J
parameter to locate the execution environment directory to be used, properly staged throughstage
and executed throughoffline-execute
. It export the results from an execution at a working directory, assuming there is an execution there. Export rules should be described in the file used in-W
parameter when the working directory was staged.export-crate
: This command is complementary toexport-results
. It recognizes both-L
parameter andWFEXS_CONFIG_FILE
environment variable, and depends on-J
parameter to locate the execution environment directory to be used, properly staged throughstage
and executed throughoffline-execute
andexport-results
. It bundles the metadata and provenance results from an execution at a working directory in an RO-Crate, assuming there is an execution there.mount-workdir
: This command is a helper to inspect encrypted execution environments, as it mounts its working directory for a limited time. Asexport-stage
,offline-execute
orexport-results
, it recognizes both-L
parameter andWFEXS_CONFIG_FILE
environment variable, and depends on-J
parameter.execute
: This command’s behaviour is equivalent tostage
followed byexport-stage
,offline-execute
,export-results
andexport-crate
.
When the execution has finished properly, the working directory outputs
subdirectory should contain both the outputs and an execution.crate.zip
, which can be used to create a workflow entry in https://workflowhub.eu.