An implementation of the GA4GH Task Execution Service (TES) API on Kubernetes, brought to you by ELIXIR On-Cloud. Workflow engines and Workflow Execution Service (WES) implementations send it tasks: one or more containers that run one after the other, with inputs and outputs. TESK runs each task as Kubernetes jobs in one namespace, staging inputs and outputs in a temporary volume, and needs no database or other services of its own; where inputs come from and outputs go to (HTTP(S), FTP, S3 or a shared file system) depends on the storage that a deployment configures. It is deployed with a Helm chart.
TESK is made of three repositories:
- TESK (this one): the Helm chart in
charts/tesk/and the documentation. - tesk-api: the service that implements the TES API and turns tasks into Kubernetes jobs.
- tesk-core: the taskmaster, which runs the jobs of a task, and the filer, which stages its inputs and outputs.
Read the documentation for the architecture, the deployment with the Helm chart, its configuration, the API, upgrades and development.
With a Kubernetes cluster with a default storage class, and Helm 3 installed:
git clone https://github.com/elixir-cloud-aai/TESK.git
cd TESK
helm install tesk charts/tesk --namespace tesk --create-namespaceThe API is then served by the service tesk-api in namespace tesk, without
authentication (the chart's default), so anyone who can reach the service can
run tasks: use this on a cluster that only you use, and enable
authentication on shared clusters. See Deployment for
exposing the API, storage backends and authentication.
The citation metadata is in CITATION.cff: on GitHub, "Cite
this repository" in the sidebar of the repository formats it as APA or
BibTeX.
Contributions are welcome! See Development in the documentation and the organisation's contributing guide, and mind our code of conduct.
This project is covered by the Apache License 2.0, also shipped with this repository.