Skip to content

Quickstart⚓︎

The deployment of the EOEPCA components and the supporting Kubernetes cluster is described in the sections Cluster and EOEPCA. These sections should be consulted for more detailed information.

Scripted Deployment⚓︎

As a companion to these descriptions, we have developed a set of scripts to provide a demonstration of an example deployment. This is described in the following section Scripted Deployment.

NOTE that the scripted deployment assumes that installation of the Prerequisite Tooling has been performed.

Customised Deployments⚓︎

The Scripted Deployment can be quickly exploited through the following customisations for particular use cases:

  • Simple
    Basic local deployment
  • Processing
    Deployment focused on processing
  • Data Access
    Deployment focused on the Resource Catalogue and Data Access services
  • Exploitation
    Deployment providing deployment/execution of processing via the ADES, supported by Resource Catalogue and Data Access services
  • User Management
    Deployment focused on the User Management services
  • CREODIAS
    Deployment with access to CREODIAS EO data

Each customisation is introduced in their respective sections.

Quick Example⚓︎

Follow these steps to create a simple local deployment in minikube…

  1. Prerequisite Tooling
    Follow the steps in section Prerequisite Tooling to install the required tooling.
  2. Clone the repository
    git clone https://github.com/EOEPCA/deployment-guide
  3. Initiate the deployment
    cd deployment-guide
    ./deploy/simple/simple
  4. Wait for deployment ready
    1. List pod status
      watch kubectl get pod -A
    2. Wait until all pods report either Running or Completed
      This may take 10-20 mins depending on the capabilities of your platform.
  5. Test the deployment
    Make the sample requests to the ADES processing service.

The sample processing requests offered in Processing Deployment assume use of the Visual Studio Code (vscode) extension REST Client. Alternatively, the following curl commands can be used instead…

List Processes

curl -k \
  --request GET \
  --url https://ades-open.192.168.49.2.nip.io/eric/wps3/processes \
  --header 'accept: application/json'

Deploy Process

curl -k \
  --request POST \
  --url https://ades-open.192.168.49.2.nip.io/eric/wps3/processes \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"executionUnit": {"href": "https://raw.githubusercontent.com/EOEPCA/app-snuggs/main/app-package.cwl","type": "application/cwl"}}'

Get Process Details

curl -k \
  --request GET \
  --url https://ades-open.192.168.49.2.nip.io/eric/wps3/processes/snuggs-0_3_0 \
  --header 'accept: application/json'

Execute Process

curl -k -v \
  --request POST \
  --url https://ades-open.192.168.49.2.nip.io/eric/wps3/processes/snuggs-0_3_0/execution \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --header 'prefer: respond-async' \
  --data '{"inputs": {"input_reference":  "https://earth-search.aws.element84.com/v0/collections/sentinel-s2-l2a-cogs/items/S2B_36RTT_20191205_0_L2A","s_expression": "ndvi:(/ (- B05 B03) (+ B05 B03))"},"response":"raw"}'

Get Job Status

This request requires the Location header from the response to the execute request. This will be of the form /{user}/wps3/jobs/{job-id} - e.g. /eric/wps3/jobs/7b58bc38-64d4-11ed-b962-0242ac11000e.

curl -k \
  --request GET \
  --url https://ades-open.192.168.49.2.nip.io{location-header} \
  --header 'accept: application/json'

Get Job Results

This request uses the same URL as Get Job Status, with the additional URL path /result - i.e. /{user}/wps3/jobs/{job-id}/result - e.g. /eric/wps3/jobs/7b58bc38-64d4-11ed-b962-0242ac11000e/result

curl -k \
  --request GET \
  --url https://ades-open.192.168.49.2.nip.io{location-header}/result \
  --header 'accept: application/json'

The response indicates the location of the results, which should be in the minio object storage. This can be checked via browser access at https://minio-console.192.168.49.2.nip.io/, or using an S3 client such as…

s3cmd -c ./deploy/cluster/s3cfg ls s3://eoepca

List Jobs

curl -k \
  --request GET \
  --url https://ades-open.192.168.49.2.nip.io/eric/wps3/jobs \
  --header 'accept: application/json'