Merge branch 'patch-1' of https://github.com/mr-c/arvados into mr-c-patch-1
[arvados.git] / sdk / cwl / tests / federation / arvbox-make-federation.cwl
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: Apache-2.0
4
5 cwlVersion: v1.1
6 class: Workflow
7 $namespaces:
8   arv: "http://arvados.org/cwl#"
9   cwltool: "http://commonwl.org/cwltool#"
10 requirements:
11   ScatterFeatureRequirement: {}
12   StepInputExpressionRequirement: {}
13   LoadListingRequirement:
14     loadListing: no_listing
15   InlineJavascriptRequirement: {}
16 inputs:
17   containers:
18     type: string[]
19     default: [fedbox1, fedbox2, fedbox3]
20   arvbox_base: Directory
21   in_acr: string?
22   insecure:
23     type: boolean
24     default: true
25   arvbox:
26     type: File
27     default:
28       class: File
29       location: ../../../../tools/arvbox/bin/arvbox
30   branch:
31     type: string
32     default: master
33   logincluster:
34     type: boolean
35     default: false
36   arvbox_mode:
37     type: string?
38     default: "dev"
39 outputs:
40   arvados_api_token:
41     type: string
42     outputSource: setup-user/test_user_token
43   arvados_api_hosts:
44     type: string[]
45     outputSource: start/container_host
46   arvados_cluster_ids:
47     type: string[]
48     outputSource: start/cluster_id
49   superuser_tokens:
50     type: string[]
51     outputSource: start/superuser_token
52   acr:
53     type: string?
54     outputSource: in_acr
55   arvado_api_host_insecure:
56     type: boolean
57     outputSource: insecure
58   arvbox_containers:
59     type: string[]
60     outputSource: containers
61   arvbox_bin:
62     type: File
63     outputSource: arvbox
64 steps:
65   mkdir:
66     in:
67       containers: containers
68       arvbox_base: arvbox_base
69     out: [arvbox_data]
70     run: arvboxcwl/mkdir.cwl
71   start:
72     in:
73       container_name: containers
74       arvbox_data: mkdir/arvbox_data
75       arvbox_bin: arvbox
76       branch: branch
77       arvbox_mode: arvbox_mode
78     out: [cluster_id, container_host, arvbox_data_out, superuser_token]
79     scatter: [container_name, arvbox_data]
80     scatterMethod: dotproduct
81     run: arvboxcwl/start.cwl
82   fed-config:
83     in:
84       container_name: containers
85       this_cluster_id: start/cluster_id
86       cluster_ids: start/cluster_id
87       cluster_hosts: start/container_host
88       arvbox_data: start/arvbox_data_out
89       arvbox_bin: arvbox
90       logincluster: logincluster
91     out: []
92     scatter: [container_name, this_cluster_id, arvbox_data]
93     scatterMethod: dotproduct
94     run: arvboxcwl/fed-config.cwl
95   setup-user:
96     in:
97       container_host: {source: start/container_host, valueFrom: "$(self[0])"}
98       superuser_token: {source: start/superuser_token, valueFrom: "$(self[0])"}
99     out: [test_user_uuid, test_user_token]
100     run: arvboxcwl/setup-user.cwl