Implementing ChartMuseum in K8S

Implementing ChartMuseum in K8S

Overview

Managing our own ChartMuseum instance allows us to host internal applications in our own Chart repository. This will allow tighter and more secure integration with our CI/CD pipeline.

Followed this reference article.

Installation

helm repo add chartmuseum https://chartmuseum.github.io/charts
helm show values chartmuseum/chartmuseum > values.yaml
helm install weepycharts chartmuseum/chartmuseum --namespace chartmuseum --values values.yaml

Create the chartmuseum ingress through traefik

chartmuseum-ingress.yaml

apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
  name: chartmuseum
  namespace: chartmuseum
spec:
  entryPoints:
    - websecure
  routes:
    - match: Host(`chartmuseum.weepynet.com`)
      kind: Rule
      services:
        - name: weepycharts-chartmuseum
          port: 8080

Using ChartMuseum

helm repo add weepycharts https://chartmuseum.weepynet.com
helm repo update

Now, when we want to deploy a chart from our own repo, we can do the following:

helm show values chartmuseum/cookie> values.yaml
# Modify the values.yaml as required
helm install <release_name> chartmuseum/<chart_name> --values values.yaml