Skip to content

@bacongobbler bacongobbler released this Nov 13, 2019 · 109 commits to master since this release

The Helm Team is proud to announce the first stable release of Helm 3.

Helm 3 is the latest major release of the CLI tool, focusing on simplicity, security, and usability.

Check out below what's available in this major release.

Helm 3 resources:

New Features

Helm 3 has numerous new features, but a few deserve highlighting here:

  • Releases are stored in a new format
  • There is no in-cluster (Tiller) component
  • Helm 3 includes support for a new version of Helm charts (Charts v2)
  • Helm 3 also supports library charts -- charts that are used primarily as a resource for other charts.
  • Experimental support for storing Helm charts in OCI registries (e.g. Docker Distribution) is available for testing.
  • A 3-way strategic merge patch is now applied when upgrading Kubernetes resources.
  • A chart's supplied values can now be validated against a JSON schema
  • A number of small improvements have been made to make Helm more secure, usable, and robust.

Repositories Have Changed

Helm 3 changes the experience of repositories.

In Helm 2, the stable chart repository was included by default. In Helm 3, no repositories are included by default. Thus, one of the first things you will need to do is add a repository. We suggest starting with https://hub.helm.sh and working from there.

This change reflects a philosophical shift in Helm. We no longer attempt to maintain an official stable charts repository. The ecosystem is just too big, and the task proved overwhelming even for a dedicated group of maintainers. Changes took a long time to make it through the issue queue, and standards became increasingly burdensome to impose. The community spoke loudly about not wanting such a long and cumbersome process. So we have shifted focus to make it easy for individual chart maintainers or organizations to host their own chart repositories. The official chart repository will continue to receive patches for a limited time, but will no longer be included as a default repository in the Helm client.

Compatibility with Helm 2

Helm 3 is a major release. After years of maintaining backward compatibility with each minor and patch release of Helm 2, we have taken the opportunity to rewrite substantial parts of Helm for this release, and there are some backward compatibility breakages.

Helm 3 introduces a new Chart version (v2). This version is more compact than the previous Helm charts. Information that was once spread across multiple metadata files has now all been collected into Chart.yaml. A few rarely used features have been removed from charts, but only after a survey of all public charts indicated that less than 1% of them used the features (See below for more).

For the most part, though, charts that worked with Helm 2 will continue to work with Helm 3.

Notable examples include:

  • The changing of the -n flag from aliasing name to aliasing --namespace.
  • Removing a few rarely used static variables from templates, like .Release.Time, which can be handled with the template function now.
  • crd-install hooks are no longer supported. Use the crds/ folder instead.

To learn more about what changed under the hood, check out the FAQ in the documentation. A list of changes and explanations for the changes involved are provided there.

Note: We strongly discourage attempting to use Helm 2 and Helm 3 to manage the same resources. This will not work, and we won't support it. Check out the migration documentation on Helm 2 and Helm 3 support.

Installation

Download Helm 3.0.0. The common platform binaries are here:

The Quickstart Guide will get you going from there.

This release was signed with 92AA 783C BAAE 8E3B and can be found at @bacongobbler's keybase account. Please use the attached signatures for verifying this release using gpg.

Thank You!

The Helm project has enjoyed code contributions from hundreds of community members. Thousands of community members have assisted by filing issues and working with us to identify and eliminate bugs while adding new features. The #helm-users slack channel has long been a friendly and open forum for getting help and learning more about Helm. We cannot thank you enough for making this a helpful, friendly, and welcoming community for all.

  • ❤️ The Helm Team
Assets 18
You can’t perform that action at this time.