Monday, April 10, 2023

Bitnami Helm Charts Now Generally Available as OCI Packages

In January 2023, the whole Bitnami Helm Charts catalog was made available as OCI Packages for early adopters only. Now, we are happy to make the Bitnami OCI Helm charts catalog generally available in the bitnamicharts DockerHub organization. We are also delighted to announce that OCI Helm charts will be the de facto standard used by Bitnami for distributing the Helm charts.

OCI packages help overcome the many issues typically associated with the traditional method (index.yaml served at https://charts.bitnami.com) of distributing and maintaining a large catalog of Helm charts. So, this move to OCI packages will help us deliver a more robust product and in turn richer user experience.

Making OCI Helm Charts the standard method for distributing and consuming Bitnami Helm charts was enabled by two of our recent milestones:

Bitnami Helm charts will default to OCI

In order to distribute the Bitnami Helm charts as OCI artifacts in a native way, the source code of the Helm charts will be modified so the Charts documentation and also all dependencies defined in the Chart.yaml/Chart.lock files will be updated to point to the OCI registry. All Bitnami documentation will be updated as well.

What will happen to the current index.yaml stored at charts.bitnami.com?

As part of this move to OCI, we will be deprecating Helm chart consumption via index.yaml. In case, you need to consume Bitnami Helm charts via index.yaml, please note that all such requests from now on will be redirected to a new index.yaml that is generated and stored in a different location, and not in the Bitnami Content Delivery Network (CDN). This change may not be explicitly observable to the users since the content will remain the same, while only the index.yaml will be served from a different location.


We will be moving index.yaml to a reliable CDN but we would like you to note that any possible rate limits that the CDN provider might choose to apply to individual IP addresses consuming Helm Charts at a large scale are out of our control. In addition to this, keeping all the limitations and issues faced when using large Helm chart catalogs in a single index, we strongly recommend users start consuming Helm Charts as OCI packages going forward (although the index will remain available).

Roadmap

April, May and June

  • During April, May, and June both distribution methods will coexist in the same way as today (no redirection implemented during this period definitively).

  • During those months, the documentation will be updated so the installation instructions reflect the new method. From

helm repo add bitnami https://charts.bitnami.com/bitnami
helm install my-release bitnami/<chart>

to

helm install my-release oci://registry-1.docker.io/bitnamicharts/<chart>

  • In the same way, the Helm chart source code present in the bitnami/charts GitHub repository will be updated so the dependencies defined in the Chart.yaml are also fetched as OCI packages
    condition: mariadb.enabled
      name: mariadb
        -repository: https://charts.bitnami.com/bitnami
        +repository: oci://registry-1.docker.io/bitnamicharts
      version: 11.x.x

with that change, the Chart.lock will be updated as well after executing the helm dependency update command
name: mariadb
    -repository: https://charts.bitnami.com/bitnami
    -version: 11.5.4
    +repository: oci://registry-1.docker.io/bitnamicharts
    +version: 11.5.5

This will mean that, regardless of the installation method chosen by the users, all the Helm charts used as dependencies will be fetched automatically as OCI packages.

  • During this period, we will perform some planned redirections from the index.yaml stored at https://charts.bitnami.com to the index.yaml stored in a different location. Redirections will be notified timely and accordingly from our community forums.
    The purpose of this action is to redirect different amounts of traffic to detect any kind of issue. For end users, this means the Helm CLI commands or any CI/CD tool will fetch the index.yaml from a different location instead of from the traditional Bitnami repository.

        Provisional dates and test parameters:
    - Traffic redirection 1: 100% of traffic during 4 hours at the end of May
    - Traffic redirection 2: 100% of traffic during 8 hours in mid-June
    - Traffic redirection 3: 100% of traffic during 24 hours at the end of June

July

  • In the same way, as described above, during July the index.yaml stored at https://charts.bitnami.com will be redirected to the index.yaml stored in a different location permanently unless some unexpected new issues pop up.

Although we strictly aim to stick to this roadmap, please note that the timeline and the respective action items mentioned above in the roadmap are susceptible to change if we are faced with any unforeseen issues. As usual, we welcome all feedback Please feel free to create an issue in the GitHub repo by accessing this link.