Skip to content
elixir-cloud-aaiPublic

About

GA4GH TES API Service that translates tasks into Kubernetes Batch API calls

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

7 stars

Watchers

26 watching

Forks

ELIXIR On-Cloud

TESK API

License Build_status Docs Coverage GitHub_tag Docker_image

The API server of TESK, an implementation of the GA4GH Task Execution Service (TES) API for Kubernetes, brought to you by ELIXIR On-Cloud. TESK API accepts TES tasks, runs each of them as Kubernetes jobs (a taskmaster, which runs the task's executors and the filers for its inputs and outputs), and reports their state and logs from those jobs and their pods; it needs no database. Access can be limited to users with tokens from an OpenID Connect provider and by group membership. It is a Spring Boot application, published as the image elixircloud/tesk-api and deployed with the Helm chart of TESK.

Read the documentation (the "TESK API" section of the TESK documentation) for the API, the configuration, access control, deployment, upgrades and development. Its sources are in docs/.

Quick start

With Docker installed, and a Kubernetes cluster in your kubeconfig file (KUBECONFIG, or ~/.kube/config; e.g., a local one with kind), start TESK API on your machine only (it runs without authentication by default, with the rights of your kubeconfig; with rootless Docker, use --user 0:0 instead, see Deployment):

docker run --rm --publish 127.0.0.1:8080:8080 --user "$(id -u):0" \
  --volume "${KUBECONFIG:-${HOME}/.kube/config}:/home/tesk/.kube/config:ro" \
  elixircloud/tesk-api:latest

The API is then served at http://localhost:8080/ga4gh/tes/v1/ (add --env TESK_API_SWAGGER_UI_ENABLED=true for a Swagger UI at http://localhost:8080):

curl http://localhost:8080/ga4gh/tes/v1/service-info

To deploy TESK to a cluster, use the Helm chart of TESK.

Development

TESK API builds and runs on Java 8. To build it and run the unit and integration tests (no cluster needed):

./mvnw clean verify

See Development in the documentation for the image, CI, the docs build and releases.

Citation

If you use TESK API, please cite it with the metadata in CITATION.cff: on GitHub, "Cite this repository" in the sidebar of the repository formats it as APA or BibTeX.

Contributing

Contributions are welcome! See the organisation's contributing guide, and mind our code of conduct.

About

GA4GH TES API Service that translates tasks into Kubernetes Batch API calls

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

7 stars

Watchers

26 watching

Forks

Releases

Packages

Used by

Contributors

Languages