TESK - A GA4GH-TES based Kubernetes batch execution service
- Mentors
- Alvaro Gonzalez
- Organization
- Global Alliance for Genomics and Health
- Technologies
- python, java, docker, kubernetes, Helm
- Topics
- cloud, distributed systems, kubernetes, Restful API
This project endeavors to revamp the Kubernetes batch execution service to adhere to the Task Execution Service (TES) standards established by the Global Alliance for Genomics and Health (GA4GH).
Objectives:
Python:
Rewrite the existing Java codebase in Python, utilizing the latest version of Python dependencies.
Address deprecated code and enhance maintainability, considering the existing task-core is written in Python.
Repository Consolidation:
Merge all TESK repositories into a unified repository to streamline management and reduce redundancy.
Simplify dependency management, ensuring compatibility and synchronized updates across components.
Facilitate collaborative development and code sharing among developers.
Standardization and Compatibility:
Implement TES v1.1.0
To incorporate the latest GA4GH TES features, and comprehensive support for client-side GUI components.
Ensure compatibility and interoperability with existing systems.
Deliverables:
Replacement of Java Springboot API with FOCA-based API implementation.
Codebase rewritten in Python with updated dependencies and sanitized code.
Unified repository for TESK components for simplified management.
Documentation covering the entire system comprehensively.
Enhanced collaboration among developers and streamlined build and deployment processes.
Milestones:
Environment setup and FOCA server, security, and logging configuration.
Migration of endpoints as proof of concept (POC).
Merge tesk-core into the unified repository.
Creation of pydantic data models and data validations.
Migration of Kubernetes wrapper.
Migration of service and controllers.
Upgrade to TES v1.1.0 and update helm charts and docker images.
Merge deployment charts and add tests for continuous integration (CI) pipelines.