neicnordic / sda-download

SDA Data Out API
GNU Affero General Public License v3.0
1 stars 0 forks source link
neic-sda

Archival notice

:warning: This repository is no longer maintained. The code has been integrated and it is further developed at: https://github.com/neicnordic/sensitive-data-archive

CodeQL Tests Multilinters integration tests codecov

SDA Download

sda-download is a go implementation of the Data Out API. The API Reference has example requests and responses.

Deployment

Recommended provisioning method for production is:

For local development/testing see instructions in dev_utils folder. There is an README file in the dev_utils folder with sections for running the pipeline locally using Docker Compose.

API Components

Component Role
middleware Performs access token verification and validation
sda Constructs the main API endpoints for the NeIC SDA Data Out API.

Internal Components

Component Role
config Package for managing configuration.
database Provides functionalities for using the database, as well as high level functions for working with the SDA-DB.
storage Provides interface for storage areas such as a regular file system (POSIX) or as a S3 object store.
session DatasetCache stores the dataset permissions and information whether this information has already been checked or not. This information can then be used to skip the time-costly authentication middleware

Package Components

Component Role
auth Auth pkg is used by the middleware to parse OIDC Details and extract GA4GH Visas from a GA4GH Passport
request This pkg Stores a HTTP client, so that it doesn't need to be initialised on every request.