Making container-based applications easier to deploy on Kubernetes is the mission of Helm, which has done a great job of creating a package manager for Kubernetes applications.
In addition, the Helm project has created a set of definitions to make it easier to deploy and configure applications on Kubernetes (Helm Charts). Helm Charts make installing new applications on Kubernetes as easy as running
helm install <chart-name>.
However, discovering available Helm Charts, and important details about them, is not as easy as it could be.
Enter Monocular, an open source search and discovery front-end for Helm Chart repositories, developed by Bitnami and Deis. Monocular is part of the Helm project and aims to provide a better way to find apps that have been packaged in Helm Charts.
You can check out Monocular by visiting kubeapps.com, a website maintained by Bitnami to promote the use of Helm and Kubernetes. It points to the official Helm Charts repositories and is deployed automatically using Jenkins on Google Container Engine (GKE).
Monocular includes a scanning back-end for indexing charts and their metadata and a simple user interface.
The backend is a golang HTTP RESTFul server whose purpose is to ingest and index existing Chart repositories, process and store its metadata, and expose it via a JSON API.
API call examples:
Get all charts:
Get all charts from the stable repository:
Get the versions for Wordpress
Download Wordpress Readme file
The frontend is a Web UI focused on application discoverability via repository listing, chart version information and search capabilities.
The UI implements three main sections:
Charts listing: To be able to get a list of all the charts or filtered by repository.
Charts search: Search engine capable of match the query with some of the existing metadata like name, description, maintainers, keywords and so on. Chart details: To be able to get the Readme information for a specific chart along with its versions, installation instructions and other metadata.
The Monocular repository is configured to use Travis to perform a set of integration tasks on every pull request. For both the backend and the frontend code we run its tests, expose its coverage and build its production assets.
Monocular is available as a Helm Chart and can be deployed in your Kubernetes cluster following these instructions.
It’s easy to run Monocular locally by using the Docker Compose file and instructions you can find here.
Watch the following demo to learn how to deploy your favorite open source applications on Kubernetes with a single command:
Want to reach the next level in Kubernetes?