Java application which serves REST API for cBioOnDemand. Using Kubernetes java client library to deploy cBioPortal instances to Kubernetes environment and managing cBioPortal lifecycle. API is also deployed as Kubernetes deployment.
cBioOnDemand instances description
Configuration for these instances are located in java https://gitlab.ics.muni.cz/europdx/k8s/cbio-on-demand/api/tree/master/cbioondemandK8S/src/main/resources.
We have three branches which are identical with deployment environment.
Folder ‘cbioondemandK8S’ holds Dockerfile and Java application ‘API’ which is packaged to image.
These images are stored in Gitlab image repository. Tag policy is set as <branch>-<hash_of_commit>. With this policy we can identifies where and when was application/image built.
Folder ‘k8s’ holds configuration for Kubernetes (deployment, service and definition of custom Object)
Everything should be templates and jobs are only special configuration of templates.
- Stages (master/beta/dev):
- Build (auto/auto/auto)- API image (‘cBioOnDemand folder’). Used in Deploy stage
- Deploy (manual/auto/auto) - grab image of API from build stage and deploy it to Kubernetes
- tolerations -> This ensure that Pod can be placed on Master node.
- nodeAffinity -> Ensure that Pod will be placed on Master node.
As for now, there is no cleaning job for this images. Also there needs to be settle up some “removing images” policy. !!!