/cloud-registry

GA4GH Service Registry API implementation for the ELIXIR Cloud

Primary LanguagePythonApache License 2.0Apache-2.0

ELIXIR Cloud service registry

License Docs Build_status Coverage

Synopsis

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

Description

Service entries comply with the ExternalService schema defined in the GA4GH Service Registry API.

For developers, an API documentation (of the code, not the exposed API) is available here.

Usage

Once deployed, the API will be served here:

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

You can explore the service via the Swagger UI.

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

Endpoints can be probed with curl, for example:

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, as described below. For more durable deployments on cloud native infrastructure, we also provide a Helm chart in the deployments/ directory, together with basic deployment instructions (details may need to be adapted for your specific infrastructure).

Requirements

The following software needs to be available on your system:

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:

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

Then simply start up the service with:

docker-compose up --build -d

That't it!

You should now be able to use/explore the API as described in the usage section.

Other useful commands

To shut down the service, run:

docker-compose down

If you need to inspect the logs, call:

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 if you are interested to contribute. Please mind the code of conduct for all interactions with the community.

Versioning

The project adopts the semantic versioning 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 also shipped with this repository.

Contact

The project is a collaborative effort under the umbrella of ELIXIR Cloud & AAI. 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.