X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/b0573b45f19c656ac07901004a3686ef10d402a5..0ca7039728489e25ae1e196278454e7bafbca948:/src/models/process.ts diff --git a/src/models/process.ts b/src/models/process.ts index 1e04cb10..b89e3bef 100644 --- a/src/models/process.ts +++ b/src/models/process.ts @@ -3,5 +3,32 @@ // SPDX-License-Identifier: AGPL-3.0 import { ContainerRequestResource } from "./container-request"; +import { MountType, MountKind } from '~/models/mount-types'; +import { WorkflowResource, parseWorkflowDefinition } from '~/models/workflow'; +import { WorkflowInputsData } from './workflow'; export type ProcessResource = ContainerRequestResource; + +export const MOUNT_PATH_CWL_WORKFLOW = '/var/lib/cwl/workflow.json'; +export const MOUNT_PATH_CWL_INPUT = '/var/lib/cwl/cwl.input.json'; + +export const createWorkflowMounts = (workflow: WorkflowResource, inputs: WorkflowInputsData): { [path: string]: MountType } => { + return { + '/var/spool/cwl': { + kind: MountKind.COLLECTION, + writable: true, + }, + 'stdout': { + kind: MountKind.MOUNTED_FILE, + path: '/var/spool/cwl/cwl.output.json', + }, + '/var/lib/cwl/workflow.json': { + kind: MountKind.JSON, + content: parseWorkflowDefinition(workflow) + }, + '/var/lib/cwl/cwl.input.json': { + kind: MountKind.JSON, + content: inputs, + } + }; +};