Skip to content

DTS Developer Guide

This guide contains technical information about the Data Transfer Service (DTS).

Architecture Decision Records

Here we've recorded design decisions in a succinct format that connects technical issues, decisions, and consequences in a transparent way.

Code Organization

The following packages implement the features in the Data Transfer Service.

  • auth: handles the authorization of the DTS using KBase's authentication/authorization server
  • config: handles the parsing of the DTS YAML configuration file, placing the data into read-only global variables for use by other packages
  • credit: defines metadata types used by the Credit Engine to establish the provenance of transferred data
  • databases: defines database types that implement the integration of DTS with database providers
  • endpoints: defines endpoint types for file transfer providers used by DTS, such as Globus
  • frictionless: defines data structures that describe data for individual files and packages containing multiple files
  • services: defines types that implement the REST endpoints provided by the DTS
  • tasks: implements the "heart" of the DTS, which creates and manages transfer tasks through their entire lifecycle