14198: Federation feature and testing
[arvados.git] / sdk / cwl / tests / federation / arvbox / arvbox-fed.cwl
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: Apache-2.0
4
5 cwlVersion: v1.0
6 class: Workflow
7 $namespaces:
8   arv: "http://arvados.org/cwl#"
9   cwltool: "http://commonwl.org/cwltool#"
10 requirements:
11   ScatterFeatureRequirement: {}
12   StepInputExpressionRequirement: {}
13   cwltool: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 outputs:
26   arvados_api_token:
27     type: string
28     outputSource: setup-user/test_user_token
29   arvados_api_hosts:
30     type: string[]
31     outputSource: start/container_host
32   arvados_cluster_ids:
33     type: string[]
34     outputSource: start/cluster_id
35   acr:
36     type: string?
37     outputSource: in_acr
38   arvado_api_host_insecure:
39     type: boolean
40     outputSource: insecure
41 steps:
42   mkdir:
43     in:
44       containers: containers
45       arvbox_base: arvbox_base
46     out: [arvbox_data]
47     run: arvbox-mkdir.cwl
48   start:
49     in:
50       container_name: containers
51       arvbox_data: mkdir/arvbox_data
52     out: [cluster_id, container_host, arvbox_data_out, superuser_token]
53     scatter: [container_name, arvbox_data]
54     scatterMethod: dotproduct
55     run: arvbox-start.cwl
56   fed-config:
57     in:
58       container_name: containers
59       this_cluster_id: start/cluster_id
60       cluster_ids: start/cluster_id
61       cluster_hosts: start/container_host
62       arvbox_data: start/arvbox_data_out
63     out: []
64     scatter: [container_name, this_cluster_id, arvbox_data]
65     scatterMethod: dotproduct
66     run: arvbox-fed-config.cwl
67   setup-user:
68     in:
69       container_host: {source: start/container_host, valueFrom: "$(self[0])"}
70       superuser_token: {source: start/superuser_token, valueFrom: "$(self[0])"}
71     out: [test_user_uuid, test_user_token]
72     run: arvbox-setup-user.cwl