The application is divided into four layers.
The outermost layer that specifies the REST API of the backend and leaves all the processing to
controllers. It handles everything HTTP-specific, marshals exceptions into responses.
|/workspace||create separate ML environments within kaos|
|/notebook||create a hosted Jupyter notebook with kaos|
|/data||upload datasets for usage within kaos|
|/train||deploy training(s) based on source code, data and parameters|
|/inference||deploy an endpoint with a trained model|
|/internal||callback for deploying pipelines|
It contains all the high-level business logic of the application.
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.
A thin wrapper over Pachyderm internal storage and pipeline clients. It organizes access to Pachyderms' subsystems, decodes the responses and provides error handling.