Application Structure

The application is divided into four layers.

Module routes

The outermost layer that specifies the REST API of the backend and leaves all the processing tocontrollers. It handles everything HTTP-specific, marshals exceptions into responses.




create separate ML environments within kaos


create a hosted Jupyter notebook with kaos


upload datasets for usage within kaos


deploy training(s) based on source code, data and parameters


deploy an endpoint with a trained model


callback for deploying pipelines

Module controllers

It contains all the high-level business logic of the application.

Module services

It encapsulates all low-level mechanics and exposes an abstracted interface, so that the controllers manipulate with kaos-specific concepts without any low-level logic.

Module clients

A thin wrapper over Pachyderm internal storage and pipeline clients. It organizes access to Pachyderms' subsystems, decodes the responses and provides error handling.