EOEPCA / data-access

EOEPCA+ Data Access BB
https://eoepca.readthedocs.io/projects/data-access
Apache License 2.0
0 stars 0 forks source link

Spike: Why and how to combine eoAPI and Stacture/Terravis to fulfil BB requirements #10

Open j08lue opened 2 weeks ago

j08lue commented 2 weeks ago

The Data Access BB needs to provide STAC API + WMTS as well as other OGC API services, namely OGC API Coverages, perhaps OGC API Maps.

To fulfil these requirements, we plan to combine two libraries:

  1. eoAPI (DevSeed-maintained) with PgSTAC and TiTiler for WMTS and STAC query based mosaics,
  2. Stacture+Terravis (EOX-maintained) for OGC API Coverages.

Fundamental organizational questions - meeting notes from 17th of June 2024

Overview of Stacture / Terravis (Fabian)

  1. Stacture provides
    1. OpenSearch standard API - for legacy support
    2. STAC API
    3. OpenEO and GeoDataCube interface? (needed for Data Cube Access BB)
  2. Stacture connects to
    1. PyCSW
    2. STAC FastAPI
  3. Stacture adds
    1. STAC extension information, where needed -
    2. Virtual assets
    3. Classification
    4. Render parameters
  4. Terravis implements workflows (DAGs) for example for virtual assets or applying classifications

Principles of combining eoAPI and stacture/terravis

  1. Provide same pattern of integration (config + deployment) for users
  2. Each library provides their set of endpoints - we keep things separate but combine at the app or API Gateway level (Tyke, e.g. conformance classes)
  3. Use same API syntax
  4. Ensure that both sets of services support e.g. the same set of virtual assets - support for those graphs / configs can be implemented in TiTiler, too

Why not implement OGC API Coverages in eoAPI, too?

OGC API Coverages is pretty complex and has not yet been considered for integration into eoAPI, which has a focus on STAC query -> WMTS. Due to the complexity, it is best provided in a dedicated piece of infrastructure.

Next steps: Documentation and Q2 Work Order

Add documentation

  1. Why have we chosen this architecture?
  2. Strengths and differences of the libraries
  3. Benefits of making both libraries available in the building block
  4. Pattern of integration

@j08lue to start document / docs branch, @constantinius to contribute

Draft Q2 Work Order

  1. Epic: Rough sketch of Data Access BB building and deploying in EOEPCA V&V environment
    1. Create task breakdown and estimate sub-tasks
  2. Feature development and maturity improvements of libraries

@j08lue to start document for collaboration with @constantinius, @jonas-eberle, and teams

j08lue commented 1 week ago

Rough sketch after the last meeting:

image

j08lue commented 1 week ago

Integration on the infrastructure level: Nested Helm chart architecture, similar to https://github.com/EOEPCA/helm-charts-dev/blob/develop/charts/rm-user-workspace/Chart.yaml