Lets us build a subset of the targets while still using build-cross
To build for multiple linux archs:
TARGETS="linux/amd64 linux/386" make clean build-cross dist APP=helm VERSION=v25.12.2
* support output-dir when running 'helm template'
* add --output-dir to documentation
* when writing to file, dont add additional document
* trigger another ci build. make test-unit works for me
* dont write blank files
* return err instead of panic
k8s client-go closes the ready channel that's passed in (see https://github.com/kubernetes/client-go/blob/master/tools/portforward/portforward.go#L171) This means that Tunnel's Close will always panic, as the client-go library will have closed then channel. This isn't reproducible unless helm.Client is externally, as the helm cli runner doesn't actually invoke Close.
* docs(helm): Document how to update a release idempotently
To use the same command when installing and upgrading a release, using helm upgrade with '--install' works.
Closes#3134
* Upgrade instead of update
Adding a user-agent to the http getter will enable servers to
distinguish between helm (including various versions) and other
tools connecting to the server.
Instead of presuming that bash is installed at /bin/bash, use `$PATH`. Official [bash docker container](https://hub.docker.com/_/bash/) installs bash at `/usr/local/bin` and recommends the use of `env`
* fix(helm): add TLS params back
During a recent refactor, several TLS flags stopped being processed for
a few of the commands. This fixes those commands, and documents how to
set up TLS.
* fix(tiller): add stricter certificate verification
The older version of Tiller allowed a weaker set of certificate checks
than we intended. This version requires a client certificate, and then
requires that that certificate be signed by a known CA. This works
around the situation where a user could provide a self-signed
certificate.
Fixes#2437
Two bugs were causing this behavior
- Tiller was marking the previous release superseded when an upgrade
failed.
- Upgrade was diffing against failed releases
Tiller exposes probes and metrics in 44135. Because tiller doesn't expose that port and does not contain any Prometheus annotations, making Prometheus scrape tiller is a bit more complex.
Closes#2985