ChartMuseum frontend UI
Switch branches/tags
Clone or download
Latest commit f45c32a Dec 2, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Godeps Local dev fixes Dec 2, 2018
conf Local dev fixes Dec 2, 2018
controllers Local dev fixes Dec 2, 2018
models first Aug 27, 2018
routers Local dev fixes Dec 2, 2018
static upload and delete charts Oct 4, 2018
tests Local dev fixes Dec 2, 2018
vendor fix for chats' images Sep 26, 2018
views upload and delete charts Oct 4, 2018
.gitignore Local dev fixes Dec 2, 2018
Dockerfile Local dev fixes Dec 2, 2018
README.md Local dev fixes Dec 2, 2018
azure-pipelines.yml Set up CI with Azure Pipelines Oct 7, 2018
combine-gif.gif Add files via upload Oct 7, 2018
docker-compose.yaml Local dev fixes Dec 2, 2018
example_rabbitmq.png Add files via upload Sep 29, 2018
home.png Add files via upload Sep 29, 2018
image_builder.sh fix for chats' images Sep 26, 2018
logo.png Add files via upload Sep 27, 2018
main.go Local dev fixes Dec 2, 2018
quickstart README Oct 4, 2018

README.md

ChartMuseumUI

HitCount contributions welcome

ChartMuseumUI

ChartMuseumUI is a simple web app that (currently) provides GUI for your charts so you and your team can view and share the technologies your are using to any one at any time (in near future more capabilities will be added). ChartMuseumUI was written in Go (Golang) with the help of Beego Framework.

Getting Started

These instructions will get you started with your very own private chart repository and UI.

Usage

ChartMuseumUI uses ChartMuseum as a backend. To get started quickly, you can build and run the app using docker-compose.

Clone this repo and run the following:

docker-compose up

This will start ChartMuseumUI at http://localhost:3000 and ChartMuseum at http://localhost:8080. Check out the source of docker-compose.yaml and modify for your purposes.

Here is an example docker-compose file defining ChartMuseum with Amazon S3 as a storage and exposing ChartMuseumUI on port 80:

version: '2.0'
services:
   ui:
     image: idobry/chartmuseumui:latest
     environment:
      CHART_MUSESUM_URL: "http://chartmuseum:8080"
     ports:
      - 80:8080
   chartmuseum:
     image: chartmuseum/chartmuseum:latest
     volumes:
       - ~/.aws:/root/.aws:ro
     restart: always
     environment:
      PORT: 8080
      DEBUG: 1
      STORAGE: "amazon"
      STORAGE_AMAZON_BUCKET: "chartmuseum-bucket"
      STORAGE_AMAZON_PREFIX: ""
      STORAGE_AMAZON_REGION: "eu-west-1"
     ports:
      - 8080:8080

Copy this file and run

docker-compose up 

Easy, right? now, we can add our private repository to our Helm client:

# choose any name you like
$ helm repo add chartmuseum <chartmuseum-url>
$ helm repo update
# to view our repos list
$ helm repo list
NAME        URL
stable      https://kubernetes-charts.storage.googleapis.com
incubator   http://storage.googleapis.com/kubernetes-charts-incubator
chartmuseum http://localhost:8080

Let's upload a chart into our private repository:

$ cd /chart/path
# create a chart package - this will create a .tgz file
$ helm package .
# copy packge name and run
$ curl -L --data-binary "@<packge-name>" <chartmuseum-url>/api/charts

In the browser, navigate to localhost and view your charts

Built With

  • beego - The web framework used
  • go - Programing language
  • docker - Packaged with docker

Project Roadmap

  • Add login screen
  • Add more chartmuseum capabilitis:
    • Upload a chart
      • Support multiple
    • Delete a chart
      • Ask before deleting
      • Delete all versions button
      • Back to 'home' after delete all

Contributing

Code contributions are very welcome. If you are interested in helping make chartmuseumui great then feel free!

Authors

  • Ido Braunstain - Initial work

See also the list of contributors who participated in this project.