How to create a helm package?

A Helm package is a compressed archive file that contains a packaged Helm chart. It is created by running the helm package command, which inputs a Helm chart directory and generates a .tgz file.

The Helm package bundles all the necessary files and resources to deploy an application on a Kubernetes cluster using Helm. It includes the chart’s templates, configuration files, metadata, and any additional files specified in the chart directory.

This page explores how to use the helm shell command with practical examples. Once you have your helm Chart ready for shipping (your build is ready), you can create the archive or package using the helm package command, the command to pack is helm package.

Helm package command syntax:

helm package <CHART-NAME>

This should be done from the Chart’s parent directory.

Here is an example:

devops@codetryout:~$ ls -l
total 20
-rwx------ 1 devops devops 11248 Sep 27 01:24 get_helm.sh
drwxr-xr-x 4 devops devops  4096 Sep 27 01:48 helm-codetryout
drwxr-xr-x 3 devops devops  4096 Sep 26 14:43 snap
devops@codetryout:~$
devops@codetryout:~$
devops@codetryout:~$ helm package helm-codetryout
Successfully packaged chart and saved it to: /home/devops/helm-codetryout-0.1.0.tgz
devops@codetryout:~$

Verifying a package using helm lint

Your package can be verified using the lint command. The syntax is:

helm lint <PACKAGE-NAME>

Lets try out:

devops@codetryout:~$ helm lint helm-codetryout-0.1.0.tgz
==> Linting helm-codetryout-0.1.0.tgz
[INFO] Chart.yaml: icon is recommended

1 chart(s) linted, 0 chart(s) failed
devops@codetryout:~$

FAQ:

This page explains:- the helm package command with practical examples.

If you are looking for steps for creating your first help Chart, here is a simple example: https://codetryout.com/helm-chart-how-to-create/

Helm packages are the distribution unit for Helm charts, allowing for versioning, sharing, and management of applications deployed on Kubernetes using Helm.