* 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>
Make the current check for the number of templates on create more
resilient by using a varible to store the expected number
of templates. In addition, fix the error message so that it displays
the correct number expected of templates.
Closes#5009
Signed-off-by: Henry Nash <henry.nash@uk.ibm.com>
This change adds a mention to the reqruiement for commit signing
to the Git Convention outline in the Developer Guide, while
leaving the existing detail on signing in the Contributing doc.
Closes#5016
Signed-off-by: Henry Nash <henry.nash@uk.ibm.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>
Apply the same procedure to allow missing trailing slash in repo base URLs used in `repo/chart` inputs to `--repo` inputs.
Fixes#4954.
Signed-off-by: Luke Hoban <luke@pulumi.com>
Due to a regression from a previous change, details about pod resources
does not show up in the status output. This makes sure that the pod type
from core are passed in to the printer so the details are shown in the
output.
Signed-off-by: Morten Torkildsen <mortent@google.com>
* Securing tiller via running it locally.
Signed-off-by: Joshua Olson <joshua.olson.490@gmail.com>
* Clarify that TLS is the recommended way to secure Helm.
Signed-off-by: Joshua Olson <joshua.olson.490@gmail.com>
When a user specifies value overrides for list values out of order,
strvals.listItem panics. Change strvals.listItem to handle this case by
re-initializing nil values to a new map.
Closes#4503
Co-authored-by: Cameron Childress <cameron@cchildress.org>
Co-authored-by: Kevin Collette <hal.collette@gmail.com>
Co-authored-by: Connor McKelvey <connormckelvey@gmail.com>
Co-authored-by: Dan Winter <dan.j.winter@gmail.com>
Signed-off-by: Dan Winter <dan.j.winter@gmail.com>
Signed-off-by: Cameron Childress <cameron@cchildress.org>
Signed-off-by: Kevin Collette <hal.collette@gmail.com>
Signed-off-by: Connor McKelvey <connormckelvey@gmail.com>
The output from helm status is not correct for custom resources. The
HumanReadablePrinter from Kubernetes only outputs the column names when
the type differs from the previous one. This makes the output
inconsistent and also creates problems for putting in the correct line
breaks. This PR sets up a new printer for each type, thereby making sure
that all types are printed with the correct use of line breaks and with
column names.
Signed-off-by: Morten Torkildsen <mortent@google.com>
Solves #3722 by making the changes in #3539 more compatible with the previous behavior.
This gives a recovery option for "oops I deleted my helm release" by allowing rollback, which is intended to be a working feature of helm. Note that purging releases removes the history required to rollback, so this doesn't work in that case. However, purging takes significantly more time, so it's harder to accidentally purge everything.
Signed-off-by: Brent <bmperrea@gmail.com>
Upgrading a release and override existing values doesn't work as expected for nested values. Maps should be merged recursively, but currently maps are treated just like values and replaced at the top level.
If the existing values are:
```yaml
resources:
requests:
cpu: 400m
something: else
```
and an update is done with ```--set=resources.requests.cpu=500m```, it currently ends up as
```yaml
resources:
requests:
cpu: 500m
```
but it should have been
```yaml
resources:
requests:
cpu: 500m
something: else
```
This PR updates the way override values are merged into the existing set of values to merge rather than replace maps.
Closes: #4792
Signed-off-by: Morten Torkildsen <mortent@google.com>
* note on naming of resources
Signed-off-by: Ryan Dawson <ryan.dawson@alfresco.com>
* put whitespace back in
Signed-off-by: Ryan Dawson <ryan.dawson@alfresco.com>
* put whitespace back
Signed-off-by: Ryan Dawson <ryan.dawson@alfresco.com>
* put whitespace back
Signed-off-by: Ryan Dawson <ryan.dawson@alfresco.com>
* clarify template fullname
Signed-off-by: Ryan Dawson <ryan.dawson@alfresco.com>
* fix formatting problem by escaping underscore
Signed-off-by: ryandawsonuk <ryandawson@cantab.net>
* no need to change whitespace elsewhere in doc
Signed-off-by: ryandawsonuk <ryandawson@cantab.net>
The essence of this commit is to help people get started with a better
indentation practice than this:
```yaml
spec:
labels:
{{ toYaml .Values.labels | indent 4 }}
```
The previous indentation practice is harder to read. Instead this commit
introduces an indentation practice using `nindent` like this:
```yaml
spec:
labels:
{{- toYaml .Values.labels | nindent 4 }}
```
Signed-off-by: Erik Sundell <erik.i.sundell@gmail.com>