MongoDB Charts is a web application for creating graphs, dashboards, and charts of data stored in MongoDB. MongoDB has provided a Docker compose package for on-prem instances. Charts is also available in Atlas as a Service.
OpenShift templates provide the capability to describe objects an application environment requires for deployment. Allowing the opportunity for users to launch instances of the template and provide configuration parameters during deployment. They provide a solution akin to Helm charts in kubernetes.
This project aims to convert the docker compose provided by MongoDB into an OpenShift template.
Converting docker-compose.yaml to k8s
The Kompose tool was used to create the MongoDB Charts deployment in OpenShift from the charts-docker-compose.yml spec. Once the deployment was in OpenShift, the objects could then be exported to use as references for authoring the template file.
Authoring the template
Reviewing the kompose created objects resulted in the following Template equivalent. Opening up parameters for users to pass project name, Charts version, and the MongoDB URI required for the Charts metadata provides an opportunity for on-demand MongoDB Charts instances from users unfamiliar with docker, kubernetes, or openshift.