Monocular is a part of the Helm project and aims to provide a way to search for and discover apps that have been packaged in Helm Charts. Monocular includes a scanning back-end for indexing charts and their metadata and a simple user interface.
A monocular is a single-lensed telescope, and perhaps a twee synonym for the kind of kit that would be useful when inspecting a disordered stack of nautical charts, like a magnifying glass or microscope with a spyglass aesthetic. Its adjectival form suggests a Cyclops, with whom Oddysseus was definitely on familiar terms; and its closest synonym is monocle, a well-worn accoutrement of Victorian Great Britain, surely the greatest of all naval empires. kubernetes
indeed.
As with The Beatles, some things are better in mono.
See Monocular in action at KubeApps.com or click here to learn more about Helm, Charts and Kubernetes.
Monocular comprises a UI front end, and a RESTFul HTTP back end API.
The UI is an angular 2 client application located in src/ui/
.
More UI docs are here.
The API is a golang HTTP server located in src/api/
.
Makefile
assumes docker for containerized development; and glide for dependency enforcement.
cd src/api/ && make bootstrap
will launch a docker container, and run a glide install
command to install all API dependencies in the src/api/vendor/
directory.
More API docs are here.
We leverage docker (via docker-compose
) to provide a multi-tier setup for development.
Running docker-compose up
from the root directory will expose:
- API backend endpoint via
http://{your-docker-machine-ip-address}:8080
- UI frontend via
http://{your-docker-machine-ip-address}:4200
IMPORTANT:
- If your Docker Machine hostname is different than localhost, you need to change
the
backendHostname
value in the filesrc/ui/src/app/shared/services/config.service.ts
.
You can restart individual services doing docker-compose restart api|ui
More information on how to deploy your own instance of Monocular in Kubernetes here.
This project is still under active development, so you'll likely encounter issues.
Please participate by filing issues or contributing a pull request!