kbase / dts

A data transfer service
https://kbase.github.io/dts/
MIT License
0 stars 0 forks source link

Data Transfer Service (DTS)

build codecov

The Data Transfer Service is a web service that handles requests for file transfers between participating organizations interested in exchanging biological and bioinformatical data. The DTS coordinates provides a single point of access for these organizations, allowing an end user or another service to

In its current form, DTS is a prototype that specifically allows transfers from the JGI Data Portal to the KBase Workspace, to bring the capabilities of the latter organization to bear on the data available from the former.

DTS is designed for easy deployment and maintenance behind a gateway that provides TLS/SSL encryption. Requests to the DTS include headers with authentication information, so these requests rely on the HTTPS protocol to protect this information.

It's very easy to deploy DTS in a Docker environment and configure it using environment variables.

Building and Testing DTS

DTS is written in Go, so you'll need a working Go compiler to build, test, and run it locally. If you have a Go compiler, you can clone this repository and build it from the top-level directory:

go build

Running Unit Tests

DTS comes with several unit tests that demonstrate its capabilities, and you can run these tests as you would any other Go project:

go test ./...

You can add a -v flag to see output from the tests.

Because DTS is primarily an orchestrator of network resources, its unit tests must be able to connect to and utilize these resources. Accordingly, you must set the following environment variables to make sure DTS can do what it needs to do: