Skip to content

Commit 3588af7

Browse files
authored
Merge pull request #4 from eoxhub-workspaces/capability_integration
first version of capability requirements
2 parents c66c92a + 7bc4616 commit 3588af7

File tree

3 files changed

+78
-0
lines changed

3 files changed

+78
-0
lines changed

_toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ sections:
1818
- file: applications/publishing_dashboard.md
1919
- file: applications/narrative_editor
2020
- file: applications/argo
21+
sections:
22+
- file: applications/capability_integration
2123
- file: applications/headless_execution
2224
- file: applications/secret_manager
2325
- file: applications/eoapi

applications/argo.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ Argo Workflows details of a finished workflow with details of a step
2626

2727
Sample templates will become available in the tutorial section once possible
2828

29+
## Capability requirements for integration
30+
31+
Docker image/capability requirements for integration are described on the [**separate page**](capability_integration.md)
32+
2933
## Argo workflow steps
3034

3135
Each workflow includes usually following types of steps:
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Integration Requirements for Argo Workflows on EOxHub
2+
3+
This document is intended as support material to describe how to best provide a capability implementation and its description in order to allow EOX to integrate it as a workflow inside of an EOxHub Workspace. This includes input definitions, expected Docker image standards, and output formats.
4+
5+
## Input Requirements
6+
7+
To ensure compatibility with various interfaces (e.g. OGC Process API) to allow on demand execution of the capability some input requirements need to be considered. Furthermore information providing more context is needed regarding following points:
8+
9+
- Description of expected input data - does the service expect data already present or data are downloaded as part of the dockerized algorithm?
10+
- Description of expected argument and parameters
11+
- Description of expected output - see Output requirements section
12+
13+
14+
### Arguments and parameters
15+
16+
eodash processing widget support multiple ways how to pass input.
17+
- Area/location - process can take as input drawn point or polygon from the eodash user interface. For this integration, input field must accept eather coorinates directly or geoJSON as a string. File input is not accepted.
18+
- Example GeoJSON Feature String '{"type":"Feature","geometry":{"type":"Polygon" "coordinates":[[[30,10],[40,40],[20,40],[10,20],[30,10]]]},"properties":{}}'
19+
- Date - standard HTML Format date formats are supported. eodash also supports start and end time to create range.
20+
- "YYYY-MM-DD" e.g. 2015-05-30 for date.
21+
- "YYYY-MM-DDThh:mm" for datetime 2025-07-02T06:33
22+
- Numeric fields - integer or float values
23+
- Text fields
24+
- Dropdowns with limited options
25+
26+
27+
All fields can have default value
28+
29+
30+
## Docker Image Requirements
31+
32+
Your process must be encapsulated in a Docker image. There are no strict limitations of what can be done, but there are good practices that help integration:
33+
34+
- image is "slim" - only with required dependencies installed
35+
- image is tagged with version based on [semantic versioning](https://semver.org/)
36+
- algorithm logs to standard out (stdout) helping debug potential issues
37+
- simpler if no sideloading/sidecars (docker in docker) and similar
38+
- no special volumes, network expectations, ...
39+
40+
We expect to know resource usage estimation - RAM consumption and CPU estimates.
41+
42+
43+
44+
## Output Requirements
45+
46+
The workflow should store its results in `/output` folder, which will be collected automatically by our processes.
47+
48+
Expected outputs:
49+
- Results (e.g., COG, geoJSON, CSV)
50+
- Inputs are expected to be cloud-native so for raster output formats, COGs are expected, for vector data geoJSON for small files up to 5Mb or flatGeobuf
51+
- Logs (optional but encouraged)
52+
53+
54+
Outputs must be:
55+
- Written with unique filenames if multiple files are generated.
56+
- Validated (e.g., for COG format or JSON schema compliance).
57+
58+
59+
60+
## Sample Checklist
61+
62+
To submit your process for integration, make sure these information are included:
63+
- [ ] Dockerfile included and builds correctly
64+
- [ ] README with usage instructions and input/output description
65+
- [ ] Sample call example
66+
- [ ] License file / link to repository (not mandatory)
67+
- [ ] Sample input/output for testing
68+
- [ ] Visualisation expectations
69+
70+
---
71+
72+
Please contact the EOxHub team or submit a ticket if youneed more information.

0 commit comments

Comments
 (0)