https://github.com/elixir-cloud-aai/tesk-core
Python code that is launched as images into the Kubernetes cluster by tesk-api.
https://github.com/elixir-cloud-aai/tesk-core
ga4gh tesk
Last synced: 3 months ago
JSON representation
Python code that is launched as images into the Kubernetes cluster by tesk-api.
- Host: GitHub
- URL: https://github.com/elixir-cloud-aai/tesk-core
- Owner: elixir-cloud-aai
- License: apache-2.0
- Created: 2018-04-04T15:54:48.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-12-16T08:36:52.000Z (over 1 year ago)
- Last Synced: 2025-03-31T23:36:05.949Z (about 1 year ago)
- Topics: ga4gh, tesk
- Language: Python
- Homepage:
- Size: 552 KB
- Stars: 2
- Watchers: 33
- Forks: 13
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://travis-ci.org/EMBL-EBI-TSI/tesk-core)
[](https://codecov.io/gh/EMBL-EBI-TSI/tesk-core)
## Introduction
This project is part of the [TESK](https://github.com/EMBL-EBI-TSI/TESK) initiative.
It contains the code needed to generate 2 types of agents that reside in kubernetes:
* The taskmaster, which spins up the containers needed to complete tasks as defined by TESK
* The filer, which populates volumes and input files and uploads output files
## How to use
Since the code is meant to be in kubernetes pods, the code needs to be packaged into containers.
Their descriptions can be found in `containers/`.
The root folder assumed to build the containers is the root of this package.
To build the taskmaster container, run:
```
docker build . -f containers/taskmaster.Dockerfile -t taskmaster:latest
```
The command is similar for the filer container:
```
docker build . -f containers/filer.Dockerfile -t filer:latest
```
## Unit testing
Unit testing needs the `tox` package.
You can install the package using `uv`:
```
uv install tox
```
To install different python versions using `uv`, you can type:
```
uv python install 3.10 3.11 3.12
```
This software will take care of creating virtual environments and installing dependencies in them before running the actual tests and generating the coverage reports.
```
$ uv run tox
```