The 'app.kubernetes.io/version' label was not being rendered as
expected. It was appending onto the label before it and also
the next label label was appending onto it on the same line.
Signed-off-by: Martin Hickey <martin.hickey@ie.ibm.com>
This commits adds the possibility to back Tiller (or the future
Tiller-less Helm CLI) with any SQL database (only postgres has been
tested so far) to store release information.
The main motivation for this commit was to use a storage backend that
would allow releases larger that 1MB in size (ConfigMap or Secret
drivers don't, because of limits on value size in the underlying etcd
key-value store).
Signed-off-by: Étienne Lafarge <etienne.lafarge@gmail.com>
Co-authored-by: Elliot Maincourt <e.maincourt@gmail.com> (@emaincourt)
Co-authored-by: Paul Borensztein <hi@0x01.fr> (@commit-master)
Manifest validation is done by the builder, but it requires that the schema is set before the Stream function is called. Otherwise the StreamVisitor is created without a schema and no validation is done.
Signed-off-by: Morten Torkildsen <mortent@google.com>
Makes sure CRDs installed through the crd_install hook reaches the `established` state before the hook is considered complete.
Signed-off-by: Morten Torkildsen <mortent@google.com>
This is the fix for only one particular, but important case.
The case when a new resource has been added to the chart and
there is an error in the chart, which leads to release failure.
In this case after first failed release upgrade new resource will be
created in the cluster. On the next release upgrade there will be the error:
`no RESOURCE with the name NAME found` for this newly created resource
from the previous release upgrade.
The root of this problem is in the side effect of the first release process,
Release invariant says: if resouce exists in the kubernetes cluster, then
it should exist in the release storage. But this invariant has been broken
by helm itself -- because helm created new resources as side effect and not
adopted them into release storage.
To maintain release invariant for such case during release upgrade operation
all newly *successfully* created resources will be deleted in the case
of an error in the subsequent resources update.
This behaviour will be enabled only when `--cleanup-on-fail` option used
for `helm upgrade` or `helm rollback`.
Signed-off-by: Timofey Kirillov <timofey.kirillov@flant.com>
There was a typo in a tiller error with "released named" message, I've changed it to "a release named". Also fix a unit-test for it.
Signed-off-by: Mikhail Kirpichev <mkirpic@gmail.com>
Changes as per PR https://github.com/helm/helm/pull/5271
- make imagePullSecrets be an array
- move imagePullSecrets to 'root' level of Values
Signed-off-by: Don Bowman <db@donbowman.ca>
That the match is based on version is implicit. Making it explicit
because I had to think when I saw it.
Signed-off-by: Matt Farina <matt@mattfarina.com>
* fix: Update gRPC to get better TLS connection handling
To avoid backward compatibility breakers, we have been pinned to a very
old version of gRPC. But it appears that there have been some very
significant network fixes since then. Looking closely at #3480, it
appears that some of this fixes may be directly related to solving that
bug.
Note that this regenerates a few of the Go proto files, so the binary
wire format may be broken. That means this MUST be held to a minor
version, not a patch release.
To test:
- Build both client and server
- Install Tiller into your cluster
- Perform a number of Helm-Tiller interactions (`helm version`, `helm
list`)
Closes#3480
Signed-off-by: Matt Butcher <matt.butcher@microsoft.com>
* Switched to latest protobuf
Signed-off-by: Matt Butcher <matt.butcher@microsoft.com>
This relates to [#3529](https://github.com/helm/helm/issues/3529).
It adds image.pullSecret to the default generate blank chart
when the user does `helm create`.
Signed-off-by: Don Bowman <don@agilicus.com>
* added test for zero values
Signed-off-by: Flavian <flavian.sierk@gmail.com>
* implemented case for zero values
Signed-off-by: Flavian <flavian.sierk@gmail.com>
Don't delete a resource on upgrade if it is annotated with
helm.io/resource-policy=keep. This can cause data loss for users if the
annotation is ignored (e.g. for a PVC).
Closes#3673
Signed-off-by: James Ravn <james@r-vn.org>
* fix: perform extra validation on paths in tar archives
Signed-off-by: Matt Butcher <matt.butcher@microsoft.com>
* fix: Cover a few Windows cases and also remove a duplicate tar reader
Signed-off-by: Matt Butcher <matt.butcher@microsoft.com>
* fix: removed debug output
Signed-off-by: Matt Butcher <matt.butcher@microsoft.com>
* fix: Expand again preserves the files verbatim
Also added tests for Expand
Signed-off-by: Matt Butcher <matt.butcher@microsoft.com>
* fix: add license block and remove println
Signed-off-by: Matt Butcher <matt.butcher@microsoft.com>
* Refactor test run to separate method
This will allow us to parallelise it more easily
Signed-off-by: Frank Hamand <frankhamand@gmail.com>
* Add --parallel flag to helm test
(No functionality in this commit)
Signed-off-by: Frank Hamand <frankhamand@gmail.com>
* Run helm tests in parallel with --parallel flag
Signed-off-by: Frank Hamand <frankhamand@gmail.com>
* Add a mutex to helm test message streams
This is to protect against data races when running tests in parallel.
Signed-off-by: Frank Hamand <frankhamand@gmail.com>
* Add tests for --parallel flag
Signed-off-by: Frank Hamand <frankhamand@gmail.com>
* Add concurrency limit for parallel helm tests
Signed-off-by: Frank Hamand <frankhamand@gmail.com>
* Add test for concurrency limit
Signed-off-by: Frank Hamand <frankhamand@gmail.com>
* Fix rebase introduced errors
Signed-off-by: Frank Hamand <frankhamand@gmail.com>
* Return empty string instead of nil when linting on required
This allows lint to work in scenarios when required is used in secrets or it's output is passed to another function.
Due to lint mode no longer failing on missing value in required it is passing nil through which not all functions can accept.
Fixes#4747
Signed-off-by: Helgi Þorbjörnsson <helgith@gmail.com>
* Apply suggestions from code review
Co-Authored-By: helgi <70530+helgi@users.noreply.github.com>
Signed-off-by: Helgi Þorbjörnsson <helgith@gmail.com>
* Add tests
Signed-off-by: Helgi Þorbjörnsson <helgith@gmail.com>
This is probably a silly PR. However, each time I create a new chart
via `helm create`, the instructions to uncomment the resource limits
require adding a couple extra spaces back to the YAML.
This PR simply brings the spacing in-line with the rest of the generated
template.
Signed-off-by: John Dewey <john@dewey.ws>
Currently the code that handles hooks uses a builder that creates the versioned types rather than unstructured. This results in an error whenever a custom resource is used in the hook as the type will not be registered in the scheme used in Helm. This changes this to use a builder that created unstructured resources and only converts to the versioned type when needed.
Signed-off-by: Morten Torkildsen <mortent@google.com>