Open vadasambar opened 4 years ago
Chartmuseum can disable the chart over-write by the startup option --allow-overwrite=false
, it can prevent uploading the same version chart. Per my understanding , if your chart is really redundant , your chart version will be the same , right ?
Per my understanding , if your chart is really redundant , your chart version will be the same , right ?
Not necessarily. Imagine a CI cycle which churns out new chart versions like <chart-version>-pr-<commit-sha>
for every new PR so that the charts are immediately available for testing the changes in the PR. Once the PR is merged, the charts are effectively useless. You want to keep them around after the PR is merged just in case any issue pops up and delete them after some time.
One of the immediate possible solutions is to write something like a cronjob to delete older charts but storing diff in something like a UnionFS or even something like what git does under the hood would allow you to create as many charts as you want without worrying so much about storage (once you have a lot of charts and a lot of PRs) since every new chart version is a new copy of the chart.
Thanks for your introducing , I just got your point . But unfortunately , the OCI-based chart storage is hard developed by Helm Registry and Go Harbor , so i am afraid that ChartMuseum will not accept this proposal recently .
However, as a similar workaround , maybe we can let the auto-purge(#316)
feature in 🤔 ?
Hey @scbizu sorry for the late reply. #316 makes a lot of sense. We're running cleanup scripts to purge charts older than the configured time period to cleanup storage space and prevent degraded Chart Museum performance because of large number of charts right now. It'd be great if 316 gets in to Chart Museum!
Okay , we will consider about this feature 👋
(I also run the clean script the same as you XD
First of all, chartmuseum is a great tool for self hosting Helm charts. Thank you for all the hard work!
Our CI pipeline pushes a new version of charts every time there's some change in the git repo containing the charts. As the commits and new PRs pile up, it creates a lot of redundant charts which need to be deleted after some time (either manually or through some automation).
I was thinking it'd be great to have something akin to layers in Docker so that only the diff of the new chart version is stored every time I push an updated version of the chart instead of storing a new copy.
I am not sure how easy/difficult this'd be to implement. Also, storage size won't be a big problem unless you have a lot of charts, since the storage size of a chart on an average is not that big.