Helm v3.0.0
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:
- Helm v3 Documentation
- FAQ: Changes since Helm 2
- Installing Helm
- Documentation for migrating from Helm 2 to Helm 3
- Plugin to help migrate from Helm 2 to Helm 3
- Chat with developers and contributors in the #helm-users Kubernetes Slack channel
- Please report bugs at https://github.com/helm/helm/issues
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
-nflag from aliasingnameto aliasing--namespace. - Removing a few rarely used static variables from templates, like
.Release.Time, which can be handled with the template functionnow. crd-installhooks are no longer supported. Use thecrds/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:
- MacOS amd64 (checksum)
- Linux amd64 (checksum)
- Linux arm (checksum)
- Linux arm64 (checksum)
- Linux i386 (checksum)
- Linux ppc64le (checksum)
- Windows amd64 (checksum)
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