Skip to content

DTS Developer Guide

This guide explains the internal workings of the Data Transfer Service (DTS).

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