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
- Host: GitHub
- URL: https://github.com/elixir-cloud-aai/cloud-registry
- Owner: elixir-cloud-aai
- License: apache-2.0
- Created: 2020-11-07T22:32:48.000Z (over 5 years ago)
- Default Branch: dev
- Last Pushed: 2024-09-10T15:42:35.000Z (over 1 year ago)
- Last Synced: 2025-03-31T23:36:26.628Z (about 1 year ago)
- Language: Python
- Size: 70.3 KB
- Stars: 4
- Watchers: 23
- Forks: 1
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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]: