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

https://github.com/elixir-cloud-aai/cloud-registry

GA4GH Service Registry API implementation for the ELIXIR Cloud
https://github.com/elixir-cloud-aai/cloud-registry

Last synced: about 1 year ago
JSON representation

GA4GH Service Registry API implementation for the ELIXIR Cloud

Awesome Lists containing this project

README

          

# ELIXIR Cloud service registry

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

## Synopsis

GA4GH Service Registry API implementation for the ELIXIR Cloud. The registry is
currently deployed at [https://cloud-registry.rahtiapp.fi][deploy_url], but
will likely move soon.

## Description

Service entries comply with the [`ExternalService` schema][schema-service]
defined in the [GA4GH Service Registry API][ga4gh-registry].

For developers, an API documentation (of the code, not the exposed API) is
available [here][docs-api].

## Usage

Once [deployed](#Installation), the API will be served here:

```text
http://localhost:8080/ga4gh/registry/v1/
```

You can explore the service via the [Swagger UI][url-swagger].

> Note that host and port can be adapted in the [`docker-compose`
> configuration][config]. In that case, the values in the URLs above need to be
> updated accordingly.

[Endpoints][schema-endpoints] can be probed with `curl`, for example:

```bash
curl -X GET "http://localhost:8080/ga4gh/registry/v1/services" -H "accept: application/json"
```

## Installation

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

### Requirements

The following software needs to be available on your system:

- [`git 2.17.1`][git]
- [`docker 18.09.6`][docker]
- [`docker-compose 1.23.1`][docker-compose]

> Versions used to test deployment are indicated. Other versions with the same
> major version numbers will likely work as well, especially newer ones.

### Deployment

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

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

Then simply start up the service with:

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

_**That't 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 [contribution
guidelines][contributing] if you are interested to contribute. Please mind the
[code of conduct][coc] for all interactions with the community.

## Versioning

The project adopts the [semantic versioning][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][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-docs]:
[badge-github-tag]:
[badge-license]:
[badge-url-build-status]:
[badge-url-coverage]:
[badge-url-docs]:
[badge-url-github-tag]:
[badge-url-license]:
[ga4gh-registry]:
[config]: docker-compose.yaml
[deploy_url]:
[deployment]: deployment/
[deployment-instructions]: deployment/README.md
[docker]:
[docker-compose]:
[docs-api]:
[git]:
[helm]:
[license]: LICENSE
[license-apache]:
[elixir-cloud]:
[coc]:
[contributing]:
[semver]:
[schema-service]:
[schema-endpoints]:
[url-swagger]: