An open API service indexing awesome lists of open source software.

https://github.com/elixir-cloud-aai/drs-filer

Lightweight, flexible Flask/Gunicorn-based GA4GH DRS implementation
https://github.com/elixir-cloud-aai/drs-filer

hacktoberfest

Last synced: about 1 year ago
JSON representation

Lightweight, flexible Flask/Gunicorn-based GA4GH DRS implementation

Awesome Lists containing this project

README

          

# DRS-filer

[![License][badge-license]][badge-url-license]
[![Build_status][badge-build-status]][badge-url-build-status]
[![Coverage][badge-coverage]][badge-url-coverage]

## Synopsis

Microservice implementing the [Global Alliance for Genomics and
Health][org-ga4gh] (GA4GH) [Data Repository Service][res-ga4gh-drs] (DRS)
API specification.

## Description

## Usage

Once [deployed](#installation), the API is served here:

```console
http://localhost:8080/ga4gh/drs/v1/
```

> Note that host (`localhost`) and port (`8080`) in the URL above may differ,
> depending on how the service was deployed. Indicated values are for
> `docker-compose`-based installations using the default
> [configuration][drs-filer-compose-config].

The easiest way to explore available endpoints is via the
[Swagger UI][res-swagger-ui]:

```console
http://localhost:8080/ga4gh/drs/v1/ui
```

## Installation

To quickly install the service for development/testing purposes, we recommend
deployment via [`docker-compose`][res-docker-compose], as described below. For
more durable deployments on cloud native infrastructure, we also provide a
[Helm][res-helm] chart and [basic deployment instructions][drs-filer-
deployment] (details may need to be adapted for your specific infrastructure).

### Requirements

The following software needs to be available on your system:

- [`git`][res-git] `v2.17.1`
- [`docker`][res-docker] `v18.09.6`
- [`docker-compose`][res-docker-compose] `v1.23.1`

> Indicated versions were used during development. Other versions may work as
> well, especially newer ones.

### Deployment

First, clone the repository and traverse into the service's root directory
with:

```bash
git clone git@github.com:elixir-cloud-aai/drs-filer.git
cd drs-filer
```

Then simply start up the service with:

```bash
docker-compose up --build -d
```

_**That's it!**_

You should now be able to use/explore the API as described in the [usage
section](#usage).

### Other useful commands

To shut down the service, run:

```bash
docker-compose down
```

If you need to inspect the logs, call:

```bash
docker-compose logs
```

## Contributing

This project is a community effort and lives off your contributions, be it in
the form of bug reports, feature requests, discussions, or fixes and other code
changes. Please refer to our organization's [contributing
guidelines][res-elixir-cloud-contributing] if you are interested to contribute.
Please mind the [code of conduct][res-elixir-cloud-coc] for all interactions
with the community.

## Versioning

The project adopts the [semantic versioning][res-semver] scheme for versioning.
Currently the service is in beta stage, so the API may change without further
notice.

## License

This project is covered by the [Apache License 2.0][license-apache] also
[shipped with this repository][license].

## Contact

The project is a collaborative effort under the umbrella of [ELIXIR Cloud &
AAI][org-elixir-cloud]. Follow the link to get in touch with us via chat or
email. Please mention the name of this service for any inquiry, proposal,
question etc.

[badge-build-status]:
[badge-coverage]:
[badge-github-tag]:
[badge-license]:
[badge-url-build-status]:
[badge-url-coverage]:
[badge-url-github-tag]:
[badge-url-license]:
[license]: LICENSE
[license-apache]:
[org-elixir-cloud]:
[org-ga4gh]:
[res-elixir-cloud-coc]:
[res-elixir-cloud-contributing]:
[res-semver]:
[res-ga4gh-drs]: https://github.com/ga4gh/data-repository-service-schemas