When #8156 was merged it had the side effect that all hooks were
run all the time. All the hooks were put in the flow of the
content rendered and sent to Kubernetes on every command.
For example, if you ran the following 2 commands the test hooks
would run:
helm create foo
helm install foo ./foo
This should not run any hooks. But, the generated test hook is run.
The change in this commit moves the writing of the hooks to output
or disk back into the template command rather than in a private
function within the actions. This is where it was for v3.2.
One side effect is that post renderers will not work on hooks. This
was the case in v3.2. Since this bug is blocking the release of v3.3.0
it is being rolled back. A refactor effort is underway for this section
of code. post renderer for hooks should be added back as part of that
work. Since post renderer hooks did not make it into a release it
is ok to roll it back for now.
There is code in the cmd/helm package that has been duplicated from
pkg/action. This is a temporary measure to fix the immediate bug
with plans to correct the situation as part of a refactor
of renderResources.
Signed-off-by: Matt Farina <matt@mattfarina.com>
(cherry picked from commit 44212f83dc)
Helm
Helm is a tool for managing Charts. Charts are packages of pre-configured Kubernetes resources.
Use Helm to:
- Find and use popular software packaged as Helm Charts to run in Kubernetes
- Share your own applications as Helm Charts
- Create reproducible builds of your Kubernetes applications
- Intelligently manage your Kubernetes manifest files
- Manage releases of Helm packages
Helm in a Handbasket
Helm is a tool that streamlines installing and managing Kubernetes applications. Think of it like apt/yum/homebrew for Kubernetes.
- Helm renders your templates and communicates with the Kubernetes API
- Helm runs on your laptop, CI/CD, or wherever you want it to run.
- Charts are Helm packages that contain at least two things:
- A description of the package (
Chart.yaml) - One or more templates, which contain Kubernetes manifest files
- A description of the package (
- Charts can be stored on disk, or fetched from remote chart repositories (like Debian or RedHat packages)
Install
Binary downloads of the Helm client can be found on the Releases page.
Unpack the helm binary and add it to your PATH and you are good to go!
If you want to use a package manager:
- Homebrew users can use
brew install helm. - Chocolatey users can use
choco install kubernetes-helm. - Scoop users can use
scoop install helm. - GoFish users can use
gofish install helm. - Snapcraft users can use
snap install helm --classic
To rapidly get Helm up and running, start with the Quick Start Guide.
See the installation guide for more options, including installing pre-releases.
Docs
Get started with the Quick Start guide or plunge into the complete documentation
Roadmap
The Helm roadmap uses Github milestones to track the progress of the project.
Community, discussion, contribution, and support
You can reach the Helm community and developers via the following channels:
- Kubernetes Slack:
- Mailing List:
- Developer Call: Thursdays at 9:30-10:00 Pacific. https://zoom.us/j/696660622
Code of conduct
Participation in the Helm community is governed by the Code of Conduct.