in helm install --dep-up
helm install --dep-up does not deploy the charts downloaded by itself.
I reload the charts path after downloading the missing charts.
Closes#3423
When reading through `cmd/tiller/tiller.go`, I noticed a comment around
`rootServer` mentions the usage of an `init` function. However, there is
no `init` function in this package. Update the comment to be more
accurate.
This adds support for installing CRDs well before any other resource
kinds are installed.
This PR introduces a new hook, `crd-install`, that fires before
manifests are even validated. It is used to install a CRD before any
other part of a chart is installed.
Currently, this hook is _only implemented for install_. That means we
currently cannot add new CRDs during `helm upgrade`, nor can they
be rolled back. This is the safest configuration, as the update/rollback
cycle gets very challenging when CRDs are added and removed.
The choice of interface `--output (json|yaml)` is to match that of the
status command, except that -o is not available as it is already used
by --offset.
WIP #1534
The testing.T in the subtest wasn't being used, so subtests were
effectively not being used. Additionally, in case subtests run in
parallel, we assign tt := tt to fix closure captures on range variables,
since the variables produced by a range are re-used between iterations.
The previous code validated the manifests exist within the file system,
which only works when a chart is unpacked, meaning children charts
stored as tgz's in the parent chart's `charts/` directory don't exist as
individual files in the filesystem, causing validation to file.
Instead, we validate against the paths within the chart itself rather
than the filesystem, handling both chart.tgz's and charts that are
unpacked as directories in the chart/ directory.
A recent PR (#3471) wasn't up to date with the latest master changes.
This fixes the issue and adds the right number of parameters to the
`vals` function call.
Adds automountServiceAccountToken when a serviceAccount is specified.
Prior to this, tiller falls back to contacting the KUBERNETES_SERVICE on
localhost:8080 rather than respecting the cluster IP in the
KUBERNETES_SERVICE_{HOST,PORT} environment variables.
Fixes#3460, fixes#3467.
When 'helm package --set stringsArray' is run, this will set/override values
in the packaged chart. 'helm package --values valueFiles' uses one or more
value files to achieve the same.
Closes#3141
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
that leave behind temporary helm home directories during build.
With this fix, the build process no longer leaves behind 'helm_home-*' temp directories.
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
When `helm init -o yaml|json` is run, the service and optional secret manifests
will be included in the output. The manifests are included in a Kubernetes
[List](https://godoc.org/k8s.io/apimachinery/pkg/apis/meta/v1#List) object.
This also includes some refactoring and consolidates how manifests are output in
`--dry-run` and removes some unnecessary marshaling between Kubernetes objects
and strings.
Fixes#3145
https://github.com/kubernetes/helm/pull/3183 added a keepalive to the Helm client of 30s period, while Tiller was never configured to permit this, keeping the default minimum keepalive period of 5 minutes, disconnecting any clients which ping more regularly than this.
This commit enforces a minimum that is lower than what Helm is configured for, preventing these disconnections, and thus fixes#3409.
When building helm, golint no longer generates the following warning:
cmd/helm/install.go:502:9⚠️ if block ends with a return statement, so drop this else and outdent its block (golint)
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
This commit improves to display the default value of --kube-version in
help message of `helm template` command.
```
--kube-version string kubernetes version used as Capabilities.KubeVersion.Major/Minor (default "1.9")
```
Prior to this, using the semver template functions with the full
version, which is represented in the GitVersion, was not possible
for helm template and lint commands because the property was not
populated by default. This update adds default handling.
Closes#3349
* feat(helm): Add --full-output to helm list and helm history
The default maximum length of the output table is 60 chars.
When the length is greater than 60, the content will be omitted.
This patch adds -f and --full-output to helm list and helm history
which can display full information of releases on the screen.
Closes#2828
* a
* feat(helm): Add --full-output to helm list and helm history
The default maximum length of the output table is 60 chars.
When the length is greater than 60, the content will be omitted.
This patch adds -f and --full-output to helm list and helm history
which can display full information of releases on the screen.
Closes#2828
* Add "--namespace" to helm lint
Keep lint syntax as close as possible to "helm install" resp. "helm
upgrade", so that one only needs to change the command.
See #2036
* Align lintCmd struct
* Add "--set" and "--values" to helm lint
Keep lint syntax as close as possible to "helm install" resp. "helm
upgrade", so that one only needs to change the command.
Closes #2495,#2036
* Reuse strict parameter, when rendering during lint
We want to see the rendering fail, if we missed a value, so we reuse
"--strict".
See #2495,#2036
* Fix lint unit test
See #2495,#2036
* Update docs
When 'helm package --app-version foo' is run, this will
set the AppVersion field to 'foo' in the packaged chart.
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
* 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
* 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.
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
This feature enables users to specify more control over where Tiller pod
lands by allowing "node-selectors" to be specified. Alternatively, the
"--output" flag will skip install and dump Tiller's raw Deployment manifest to stdout so user may alter it as they see fit (probably with a JSON manipulation tool like jq).
Closes#2299
>0.0.0-a does not match pre-releases on 0.0.0 that start with a
capital letter or number. This has to do with the ordering of
code points. Numbers and capital letters come before lowercase
letters.
>0.0.0-0 should match all valid pre-releases on 0.0.0. According
to the spec, "Numeric identifiers MUST NOT include leading zeroes."
A 0 is also the lowest code point for all the allowed characters
in a pre-release
This commit adds --kube-version flag to helm template. It allows you to
override the Kubernetes version used as Capabilities.KubeVersion.Major/Minor (e.g. 1.7).
In this feature, we can use -f option with remote files, same as kubectl
accepts URLs. I add an option to send a 'get' request when read the local
file failed.
Closes#2642
We can use the command like
<pre>sed "s|foo|bar|g" values-template.yaml | helm install -f - stable/foo</pre>
This may be helpful in scripting.
Closes#2709
Use the current kube config namespace by default if --namespace is not specified.
This makes 'helm upgrade --install' and 'helm install' handle namespaces
the same way.
This adds a new configuration option to Tiller to limit the number of
records stored per release.
Tiller stores historical release information (helm history, helm
rollback). This makes it possible to set a maximum number of versions
per release.
To enable this feature, use `helm init --history-max NNN`. Note that
because of the restrictions on Deployment objects, you will have to
re-install Tiller to add a limit.
Along the way, I found an unreported bug in the Memory storage driver.
This fixes that bug and adds substantially more tests to catch
regressions.
Closes#2332
This change changes the order of operations in
pkg/downloader.Manager.downloadAll
Old charts are moved to tmp directory which is restored in case any
dependency update fails. Otherwise tmp dir is deleted.