Helm package

From NovaOrdis Knowledge Base
Revision as of 01:46, 17 May 2022 by Ovidiu (talk | contribs) (→‎Overview)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

External

Internal

Overview

helm package ./my-chart

The command packages a chart into a versioned chart archive file. The command needs the path to the directory containing the chart's Chart.yaml. Chart.yaml version element is used when generating the package name: when generating a package, the package command will use the version that it finds in the Chart.yaml as a token in the package name. The name of the directory that contains the exploded chart is ignored. The chart archive is saved in the directory the command is run from, unless --destination is used.


If interrupted with Ctrl-C during package building, helm package will leave behind a 'tmpcharts' subdirectory in the chart directory.

Packaging and Dependencies

If the chart being packaged declares dependencies, the dependency charts must be available in the charts/ directory when "package" command is executed, otherwise the packaging attempt will fail:

Error: found in Chart.yaml, but missing in charts/ directory: some-chart

In this case, help dependency update must be run on the chart before attempting to package it or -u or --dependency-update options must be used as part of the "package" command:

helm package -u ./my-chart

This will insure that all immediate dependencies are shipped with the archive. Because the same requirements apply to dependencies when they are packaged, this effectively insures that the entire transitive graph of dependencies is packaged within a chart archive. For more details on dependencies, see:

How Helm Dependencies Work

Options

-d, --destination

The directory where to write the chart archive. The default is ".".

-u, --dependency-update

Perform a dependency update before packaging. Equivalent with running helm dependency update.

--debug

Use it to see what is packaged in the chart.