14198: Federation feature and testing
[arvados.git] / sdk / cwl / tests / federation / arvbox / arvbox-start.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: CommandLineTool
7 $namespaces:
8   arv: "http://arvados.org/cwl#"
9   cwltool: "http://commonwl.org/cwltool#"
10 inputs:
11   container_name: string
12   arvbox_data: Directory
13 outputs:
14   cluster_id:
15     type: string
16     outputBinding:
17       glob: status.txt
18       loadContents: true
19       outputEval: |
20         ${
21         var sp = self[0].contents.split("\n");
22         for (var i = 0; i < sp.length; i++) {
23           if (sp[i].startsWith("Cluster id: ")) {
24             return sp[i].substr(12);
25           }
26         }
27         }
28   container_host:
29     type: string
30     outputBinding:
31       glob: status.txt
32       loadContents: true
33       outputEval: |
34         ${
35         var sp = self[0].contents.split("\n");
36         for (var i = 0; i < sp.length; i++) {
37           if (sp[i].startsWith("Container IP: ")) {
38             return sp[i].substr(14)+":8000";
39           }
40         }
41         }
42   superuser_token:
43     type: string
44     outputBinding:
45       glob: superuser_token.txt
46       loadContents: true
47       outputEval: $(self[0].contents.trim())
48   arvbox_data_out:
49     type: Directory
50     outputBinding:
51       outputEval: $(inputs.arvbox_data)
52 requirements:
53   EnvVarRequirement:
54     envDef:
55       ARVBOX_CONTAINER: $(inputs.container_name)
56       ARVBOX_DATA: $(inputs.arvbox_data.path)
57   ShellCommandRequirement: {}
58   InitialWorkDirRequirement:
59     listing:
60       - entry: $(inputs.arvbox_data)
61         entryname: $(inputs.container_name)
62         writable: true
63   cwltool:InplaceUpdateRequirement:
64     inplaceUpdate: true
65   InlineJavascriptRequirement: {}
66 arguments:
67   - shellQuote: false
68     valueFrom: |
69       set -e
70       arvbox start dev
71       arvbox status > status.txt
72       arvbox cat /var/lib/arvados/superuser_token > superuser_token.txt