Kubernetes manifests

BioDM features a way to integrate on demand launching of Kubernetes manifests.

A K8sManifest is tied to a table, and a k8sService whose mission is simply to call

K8sManifest.gen_manifest method in a postfix way, passing a new table object and the current session and submit that manifest to the cluster.

To implement a new type of instance on demand, this method shall return a valid manifest as a python dictionary. Moreover a K8sManifest may indicate a specific namespace into which it shall be submitted.

This class acts as an extra layer in the regular pipeline. Or depending how you see it, replaces the Controller as manifests are not really expected to expose routes on their own.

You may refer to visualization feature in example project, that leverages such manifest in order to implement an extra route at /files/{id}/visualize.

K8sController

In a future version of BioDM it is expected that this controller implements a set of joined administration features for all manifests and their running instances.