Skip to content

drs-server

A lightweight reference implementation of a GA4GH Data Repository Service (DRS) server in Go.

See the README.md in the repository root for more details.

Overview

  • Implements GA4GH DRS endpoints using Go.
  • Uses the official GA4GH DRS OpenAPI spec via a Git submodule at ga4gh/data-repository-service-schemas.
  • Generates server stubs into internal/apigen.

Architecture

graph LR
    A[Client] --> B[DRS Server]
    B --> C[Data Storage]
    B --> D[Metadata DB]

Quick Start ⚡️

Warning

Add steps that actually interact with the DRS Server:

  • Listing
  • Registering
  • Retrieving/Resolving DRS URI's → files
# TODO: Change to latest tag when stable
# docker run -p 8080:8080 ghcr.io/calypr/drs-server:latest docker run -p 8080:8080 ghcr.io/calypr/drs-server:feature-actions
{
  "level": "info",
  "caller": "server/main.go:123",
  "msg": "listening",
  "addr": ":8080"
} curl localhost:8080/healthz
{
  "status": "ok"
}