Skip to content

irods-contrib/iRODS-K8s-Supervisor

 
 

Repository files navigation

iRODS

iRODS-K8s Supervisor

A Workflow manager that creates and monitors K8s jobs for each iRODS Test Request component.

License.

BSD License

Components and versions.

Python Linting Pylint Pytest Kubernetes API

Build status.

PyLint the codebase Build and push the Docker image

Description

This product is a workflow manager that sequences microservices deployed in a K8s environment.

The iRODS-K8s Job supervisor has the following features:

  • Integrates directly with K8s using the K8s API to create and monitor jobs.
  • Monitors each K8s job from creation to completion.
  • Robust error handling.
  • K8s Job definitions for each workflow process are stored in a database.
  • K8s Job settings are configurable via the iRODS-K8s settings application.

There are GitHub actions to maintain code quality in this repo:

  • Pylint (minimum score of 10/10 to pass),
  • Build/publish a Docker image.

How to build the Docker image for this product.

The Docker image must be placed in a container image registry and referenced in this component's deployment scripts.

docker build --build-arg APP_VERSION=<version> -f Dockerfile -t irods-k8s-supervisor:latest .

K8s/Helm deployment charts for this product are available here.