Managing dependencies is an essential aspect of creating and maintaining Helm charts, especially when building complex applications composed of multiple services or components. Here’s how you can manage dependencies of Helm charts effectively:
How to Define Helm Chart Dependencies?
In your Helm chart, specify the dependencies in either the requirements.yaml
file (for Helm 2) or the Chart.yaml
file (for Helm 3).
- Chart.yaml
requirements.yaml
$ helm repo update
$ helm repo add bitnami https://charts.bitnami.com/bitnami
$ helm repo add stable https://charts.helm.sh/stable
Example of Chart.yaml
apiVersion: v1
name: mychart
version: 1.0.0
dependencies:
- name: mysql
version: 9.12.1
repository: https://charts.bitnami.com/bitnami
- name: jenkins
version: 2.5.4
repository: https://charts.helm.sh/stable
- name: my-third-chart
version: 0.1.0
repository: "file:///home/ubuntu/charts/chart-dep/ourchart"
Code language: JavaScript (javascript)
Example of a Chart.yaml file that defines dependencies:
apiVersion: v1
name: mychart
version: 1.0.0
dependencies:
- name: my-first-chart
version: 1.0.0
repository: file://../my-first-chart
- name: my-second-chart
version: 1.0.0
repository: https://artifacthub.io/
- name: my-third-chart
version: 1.0.0
repository: file://../my-third-chart
Code language: JavaScript (javascript)
Example of requirements.yaml
$ helm repo update
$ helm repo add bitnami https://charts.bitnami.com/bitnami
$ helm repo add stable https://charts.helm.sh/stable
dependencies:
- name: mysql
version: 9.12.1
repository: https://charts.bitnami.com/bitnami
- name: jenkins
version: 2.5.4
repository: https://charts.helm.sh/stable
- name: my-third-chart
version: 0.1.0
repository: "file:///home/ubuntu/charts/chart-dep/ourchart"
Code language: JavaScript (javascript)
$ helm dependency update
$ helm dependency list
Update Dependencies:
$ helm dependency update
$ helm dependency list
Run the helm dependency update
command in the directory containing your Helm chart. This command downloads the specified dependencies and stores them in the charts/
directory within your chart’s directory.
helm dependency update:
This command updates the dependencies for a chart. For example, the following command will update the dependencies for the chart mychart:
$ helm dependency update mychart
helm dependency list:
This command lists the dependencies for a chart. For example, the following command will list the dependencies for the chart mychart:
$ helm dependency list mychart
helm dependency build:
This command builds the dependencies for a chart. This is useful if you are developing a chart and want to test it with the latest versions of its dependencies. For example, the following command will build the dependencies for the chart mychart:
$ helm dependency build mychart
helm dependency pull:
This command pulls the dependencies for a chart. This is useful if you want to download the dependencies for a chart without installing them. For example, the following command will pull the dependencies for the chart mychart:
$ helm dependency pull mychart
helm dependency upgrade:
This command upgrades the dependencies for a chart to the latest version. For example, the following command will upgrade the dependencies for the chart mychart to the latest version:
$ helm dependency upgrade mychart
helm dependency list-all:
This command lists all the dependencies for all the charts in a directory. For example, the following command will list all the dependencies for all the charts in the current directory:
$ helm dependency list-all
helm dependency remove:
This command removes a dependency from a chart. For example, the following command will remove the dependency my-chart from the chart my-app:
$ helm dependency remove my-app my-chart
Code language: PHP (php)
I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I have worked at Cotocus. I share tech blog at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow , and SEO strategies at Wizbrand.
Do you want to learn Quantum Computing?
Please find my social handles as below;
Rajesh Kumar Personal Website
Rajesh Kumar at YOUTUBE
Rajesh Kumar at INSTAGRAM
Rajesh Kumar at X
Rajesh Kumar at FACEBOOK
Rajesh Kumar at LINKEDIN
Rajesh Kumar at WIZBRAND