-export interface ProcessResource extends Resource {
- kind: ResourceKind.PROCESS;
- name: string;
- description: string;
- properties: any;
- state: ProcessState;
- requestingContainerUuid: string;
- containerUuid: string;
- containerCountMax: number;
- mounts: any;
- runtimeConstraints: any;
- schedulingParameters: any;
- containerImage: string;
- environment: any;
- cwd: string;
- command: string[];
- outputPath: string;
- outputName: string;
- outputTtl: number;
- priority: number;
- expiresAt: string;
- useExisting: boolean;
- logUuid: string;
- outputUuid: string;
- filters: string;
-}
+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,
+ }
+ };
+};