We've setup an AWS s3 storage as Helm repo.
But with development going on, more and more package files are uploade to the S3.
We want to cleanup/delete older files in S3, of course, I know we can't directly delete them from S3 as there're some mapping info stored in index.yaml.
I check the helm help
, got few information about this. Is there any formal way to delete older helm packages?
as mentioned in https://chartmuseum.com/docs/#helm-chart-repository
you can use Helm Museum api to do that
e.g.
# curl -XDELETE http://helm.chartrepo.url/api/charts/chart-name/version
please pay attention to the versions, you have to delete it one version per curl hit, means if you have 2 version and want to delete all the version you have to do it per version
# curl -XDELETE http://helm.chartrepo.url/api/charts/chart-name/1.0.1
# curl -XDELETE http://helm.chartrepo.url/api/charts/chart-name/1.0.2
ps: you can search your apps versions by hit
# curl http://helm.chartrepo.url/index.yaml
To Extend on VKR's answer, we had packages in our helm s3 repo that were not required and wanted to get rid of them. I took the following approach.
curl -XDELETE http://helm.chartrepo.url/api/charts/chart-name/chart-name-<version-number>.tgz
If your helm repo requires authorixation curl -u username:password -XDELETE http://helm.chartrepo.url/api/charts/chart-name/chart-name-<version-number>.tgz
curl -u username:password -XDELETE http://helm.chartrepo.url/api/charts/chart-name/chart-name-0.1.0.tgz
We are using artifactory as our helm repo so here's an example curl -u username:password -XDELETE https://ourartifactoryurl/artifactory/myrepo/myhelmchart/myhelmchart-0.1.0.tgz
There is no way to clean old packages using helm
. You can use approach from github.
# !/bin/bash
# Remove all files in these directories.
rm -rf ~/.helm/cache/archive/*
rm -rf ~/.helm/repository/cache/*
# Refreash repository configurations
helm repo update
#That's all.
#If you "helm search" next time, you can find newest stable charts in repository