Skip to content

imageimage

Part-1 How to create, package , push, host, deploy Private Helm Charts using Chartmuseum

1.host: Hosting the chartmuseum via Docker

mkdir charts
chmod 667 charts
docker run --rm -it -d -p 8080:8080   -e DEBUG=1   -e STORAGE=local   -e STORAGE_LOCAL_ROOTDIR=/charts   -v $(pwd)/charts:/charts ghcr.io/helm/chartmuseum:v0.14.0

2.create: at Developer Machine creating/arranging a helm templates with values

git clone https://github.com/naren4b/helm-charts.git
cd helm-charts/charts
helm create nks-web
git add -A
git commit -m "nks-web chart added"
git push

3.package & push : at build machine packaging and pushing the helm chart

helm plugin install https://github.com/chartmuseum/helm-push
git clone https://github.com/naren4b/helm-charts.git
cd helm-charts/charts
helm package nks-web --version 1.0.0 --app-version 1.0.0
curl --data-binary "@nks-web-1.0.0.tgz" http://nks-charts:8080/api/charts
//or
helm repo add nks http://nks-charts:8080
helm cm-push nks-web nks --version 0.1.0 --app-version 0.1.0

4.deploy: to a kind demo cluster

helm repo add nks-charts http://nks-charts:8080/
helm repo update
helm search repo nks-charts
helm install nks/nks-web --generate-name

image image

Assumption

image

ref:

  • https://github.com/helm/chartmuseum/blob/main/README.md
  • https://github.com/chartmuseum/helm-push