Skip to content

Commit c856d73

Browse files
committed
docs and example, addtional env vars
1 parent 14a10a3 commit c856d73

File tree

4 files changed

+559
-9
lines changed

4 files changed

+559
-9
lines changed

README.md

Lines changed: 95 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,98 @@ Zoo runner using Argo Workflows
44

55
## Environment variables
66

7-
- `STORAGE_CLASS`: standard
8-
- `DEFAULT_VOLUME_SIZE` 12Gi
9-
- `DEFAULT_MAX_CORES`: 4
10-
- `DEFAULT_MAX_RAM`: 4Gi
11-
- `ARGO_WF_ENDPOINT`: "http://localhost:2746"
12-
- `ARGO_WF_TOKEN`: `kubectl get -n ns1 secret argo.service-account-token -o=jsonpath='{.data.token}' | base64 --decode`
13-
- `ARGO_WF_SYNCHRONIZATION_CM`: "semaphore-water-bodies"
7+
- `STORAGE_CLASS`: k8s cluster RWX storage class, defaults to `standard`.
8+
- `DEFAULT_VOLUME_SIZE`: Calrissian default RWX volume size, defaults to `12Gi`.
9+
- `DEFAULT_MAX_CORES`: Calrissian default max cores, defaults to `4`.
10+
- `DEFAULT_MAX_RAM`: Calrissian default max RAM, defaults to `4Gi`.
11+
- `ARGO_WF_ENDPOINT`: this is the Argo Workflows API endpoint, defaults to `"http://localhost:2746"`.
12+
- `ARGO_WF_TOKEN`: this is the Argo Workflows API token that can be retrieved with: `kubectl get -n ns1 secret argo.service-account-token -o=jsonpath='{.data.token}' | base64 --decode`
13+
- `ARGO_WF_SYNCHRONIZATION_CM`: this is the Argo Workflows synchronizaion configmap (with key "workflow"). For tests, we use "semaphore-argo-cwl-runner"
14+
- `ARGO_CWL_RUNNER_TEMPLATE`: this is the Argo Workflows WorkflowTemplate that runs the CWL, defaults to: "argo-cwl-runner"
15+
- `ARGO_CWL_RUNNER_ENTRYPOINT`: this is the Argo Workflows WorkflowTemplate entrypoint, defaults to: "calrissian-runner"
16+
17+
## Requirements
18+
19+
The Argo Workflows deployment has a Argo Workflows `WorkflowTemplate` or `ClusterWorkflowTemplate` impllementing the execution of a Calrissian Job and exposing the interface:
20+
21+
**Input parameters:**
22+
23+
```yaml
24+
templates:
25+
- name: calrissian-runner
26+
inputs:
27+
parameters:
28+
- name: parameters
29+
description: Parameters in JSON format
30+
- name: cwl
31+
description: CWL document in JSON format
32+
- name: max_ram
33+
default: 8G
34+
description: Max RAM (e.g. 8G)
35+
- name: max_cores
36+
default: '4'
37+
description: Max cores (e.g. 4)
38+
- name: entry_point
39+
description: CWL document entry_point
40+
```
41+
42+
**Outputs:**
43+
44+
```yaml
45+
outputs:
46+
parameters:
47+
- name: results
48+
valueFrom:
49+
parameter: '{{steps.get-results.outputs.parameters.calrissian-output}}'
50+
- name: log
51+
valueFrom:
52+
parameter: '{{steps.get-results.outputs.parameters.calrissian-stderr}}'
53+
- name: usage-report
54+
valueFrom:
55+
parameter: '{{steps.get-results.outputs.parameters.calrissian-report}}'
56+
- name: stac-catalog
57+
valueFrom:
58+
parameter: '{{steps.stage-out.outputs.parameters.stac-catalog}}'
59+
- name: feature-collection
60+
valueFrom:
61+
parameter: >-
62+
{{steps.feature-collection.outputs.parameters.feature-collection}}
63+
artifacts:
64+
- name: tool-logs
65+
from: '{{steps.get-results.outputs.artifacts.tool-logs}}'
66+
- name: calrissian-output
67+
from: '{{steps.get-results.outputs.artifacts.calrissian-output}}'
68+
- name: calrissian-stderr
69+
from: '{{steps.get-results.outputs.artifacts.calrissian-stderr}}'
70+
- name: calrissian-report
71+
from: '{{steps.get-results.outputs.artifacts.calrissian-report}}'
72+
```
73+
74+
Where:
75+
76+
- `results` is the Calrissian job stdout
77+
- `log` is the Calrissian job stderr
78+
- `usage-report` is the Calrissian usage report
79+
- `stac-catalog` is the s3 path to the published STAC Catalog
80+
- `feature-collection` is the Feature Collection with the STAC Items produced
81+
82+
And the artifacts:
83+
84+
- `tool-logs` is the Calrissian CWL step logs defined as:
85+
86+
87+
```yaml
88+
artifacts:
89+
- name: tool-logs
90+
path: /calrissian/logs
91+
s3:
92+
key: '{{workflow.name}}-{{workflow.uid}}-artifacts/tool-logs'
93+
archive:
94+
none: {}
95+
```
96+
97+
- `calrissian-output` is the Calrissian stdout
98+
- `calrissian-stderr` is the Calrissian job stderr
99+
- `calrissian-report` is the Calrissian usage report
100+
101+
See the example provided in folder `example`

0 commit comments

Comments
 (0)