TRS-Filer¶
A registry of tools and workflows for your project, network or infrastructure, brought to you by ELIXIR On-Cloud. It implements the GA4GH Tool Registry Service (TRS) API, so that clients such as workflow engines and execution services can find tools and workflows, their versions and tool classes, and fetch their descriptors, test files, container image definitions and other files, one by one or as a ZIP archive. Additional endpoints register, update and delete tools, tool versions and tool classes, so that you can run TRS-Filer as the registry of your own tools or index tools that are published elsewhere. Run it with Docker Compose or deploy it to Kubernetes with its Helm chart.
Known deployments¶
None listed yet.
Running TRS-Filer yourself? Open a pull request that adds your deployment
(URL, operator and notes) to this section of
README.md.
Contents¶
- Getting started: run TRS-Filer with Docker Compose and send the first requests.
- Configuration: the base config, overlays, the public URL, identifiers, tool classes, remote files, the request size limit, the server and the service info.
- API: the GA4GH TRS endpoints, the endpoints that register tools, versions and tool classes, and errors.
- Access control: who can read and change the registry, and how to restrict it.
- Deployment: the Helm chart for Kubernetes.
- Operations: the components, logs and the database.
- Upgrading: changes to existing deployments and data.
- Development: development setup, checks, documentation and versions.
- Contributing: how to contribute, the code of conduct, pull requests, commit messages and the Python guidelines.
- API reference: the code, generated from its docstrings.
- Changelog: release notes.
Architecture¶
TRS-Filer is a Flask app built with FOCA, configured declaratively in YAML, which serves the GA4GH Tool Registry Service (TRS) API from its OpenAPI specification. It stores tools, their versions and files, and tool classes in a MongoDB database; file contents are either stored with the files or retrieved from their URLs (see Remote files). A Helm chart and a Docker Compose setup are provided for deployments on Kubernetes and for development, respectively.
Citation¶
If you use TRS-Filer, please cite it with its DOI
10.5281/zenodo.23862541, which
always resolves to the latest version on Zenodo; the
Zenodo record lists the DOI of each version, too. The citation metadata is in
CITATION.cff:
on GitHub, "Cite this repository" in the sidebar of the repository formats it
as APA or BibTeX.
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 On-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.
