-
Notifications
You must be signed in to change notification settings - Fork 10.1k
Description
As reported in this issue (#8433), in the last few times we are facing some issues with the index.yaml
associated with the Bitnami Helm charts repository.
Current situation
After some investigation, it seems the root cause is related to CloudFront reaching some limits due to the volume of traffic when serving the index.yaml
.
This index.yaml
contains all the Bitnami Helm charts history (around 15300 entries), producing a pretty fat 14MB file. Given the size of the file and the volume of traffic, thousands of terabytes of download traffic per month are being generated.
One of the alternatives considered was the use of compression at CloudFront, in that case, this solution doesn’t work since compression is not used by the Helm client (helm
) itself (see helm/helm#8070) so it doesn’t solve the reported issue.
Mitigation
As the first line of action, we will reduce the size of the index.yaml
by removing some old versions and keeping all versions for a period of time (6 months).
.tgz
) won't be removed, this action is only affecting index.yaml
used to list the Helm charts. Previous versions of the index.yaml
can be used to install old Helm charts.
Please note Helm charts tarballs (.tgz
) won't be removed, this action is only affecting index.yaml
.
Result
Applying this approach (#10530), we obtained the following results:
Total chart versions
* Before: 15260
* Removed: 12138
* After: 3122
Producing a reduced 3.5MB index.yaml
.
🔧 Workaround for previous versions
The index.yaml
is stored in this repository under the index branch, users should be able to use any commit in that branch to add a previous version of the index.yaml
.
- Manually using
helm repo add
$ helm repo add bitnami-full-index https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
"bitnami-full-index" has been added to your repositories
- When used as a dependency in Chart.yaml:
- name: postgresql
version: 8.1.0
- repository: https://charts.bitnami.com/bitnami
+ repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
condition: postgresql.enabled