Skip to content

tesk-core

tesk-core holds the two programs that run a task in TESK, the GA4GH Task Execution Service on Kubernetes:

  • The taskmaster runs one task: for each task that the TESK API accepts, it runs as a Kubernetes job of its own, creates the task's volume, has the filer stage the inputs, runs the executors one after another, has the filer stage the outputs, and cleans up.
  • The filer stages a task's files: it downloads the inputs onto the task's volume before the executors run, and uploads the outputs after them, over HTTP(S), FTP, S3, or a shared volume (file:).

Both are commands of the Python package teskcore (taskmaster and filer), and are shipped as one image each:

Image Command
docker.io/elixircloud/tesk-core-taskmaster taskmaster
docker.io/elixircloud/tesk-core-filer filer

The images of the dev branch are tagged dev and sha-<commit>. The TESK API starts the taskmaster with the image that its configuration names, and the taskmaster starts the filer with the image that the API passes on to it. Deploy TESK with its Helm chart, which sets both: see Deployment and Configuration in the TESK documentation.

  • Taskmaster: what it does, its options and environment variables.
  • Filer: protocols, credentials, and environment variables.
  • Development: building the images, tests, lint, CI, and these docs.