This repository has been archived by the owner on May 17, 2024. It is now read-only.
Replace DRS and TES clients #39
Labels
priority: high
High priority
status flag: discuss
Needs input from various people
type flag: required by specs
Compliance with specs requires this change
type: maintenance
Related to general repository maintenance
workload: hours
Likely takes hours to resolve
Is your feature request related to a problem? Please describe.
Currently,
TEStribute
uses the simple Bravado-based clients TES-cli and DRS-cli to request task and object information required to estimate task costs and durations. However, Bravado does not appear to be under very active development and, importantly, has no plans to support OpenAPI 3.0. This is problematic since migration to OpenAPI 3.0 is planned at least for the DRS specs (see ga4gh/data-repository-service-schemas/issues/230). This seems to be a general trend across the GA4GH Cloud API service schemas, as the TRS specs already making use of OpenAPI 3.0 (https://github.com/ga4gh/tool-registry-service-schemas/blob/c343e9c64e6e480f0b5a212d93473d8aba59ed0e/openapi/openapi.yaml) and a migration for the WES specs is being discussed as well (see ga4gh/workflow-execution-service-schemas/issues/43). Moreover,TEStribute
itself uses v3.0 for its API service and requires a client for testing purposes (#26). It is therefore desirable to provide a suitable replacement for the Bravado-based clients used in/forTEStribute
in the medium to long term.Describe the solution you'd like
An optimal solution is unclear, see below for some considerations/options.
Describe alternatives you've considered
As far as auto-generating client code based on OpenAPI 3.0 specs is concerned, there appear to be the following options:
Given that only a few external API endpoints are currently called withing
TEStribute
, a manual, low-levelrequest
-based solution is possible, too, in conjunction with other tooling for validation. It has to be considered, though, that GA4GH Cloud APIs are versioned and expected to be updated relatively frequently.Additional context
N/A
The text was updated successfully, but these errors were encountered: