pull/31185/merge
JaeEun Kim 2 days ago committed by GitHub
commit d238d0924a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -103,6 +103,7 @@ func newTemplateCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
}
return err
}
savedErr := err
// We ignore a potential error here because, when the --debug flag was specified,
// we always want to print the YAML, even if it is not valid. The error is still returned afterwards.
@ -177,7 +178,12 @@ func newTemplateCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
missing = false
}
if missing {
return fmt.Errorf("could not find template %s in chart", f)
if savedErr != nil && settings.Debug {
// assume the manifest itself is too malformed to be rendered
return savedErr
} else {
return fmt.Errorf("could not find template %s in chart", f)
}
}
}
for _, m := range manifestsToRender {
@ -188,7 +194,7 @@ func newTemplateCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
}
}
return err
return savedErr
},
}

@ -133,6 +133,12 @@ func TestTemplateCmd(t *testing.T) {
wantError: true,
golden: "output/template-with-invalid-yaml-debug.txt",
},
{
name: "chart with template with invalid template expression (--debug, --show-only)",
cmd: fmt.Sprintf("template '%s' --debug --show-only %s", "testdata/testcharts/chart-with-template-with-invalid-template-expr", "templates/alpine-pod.yaml"),
wantError: true,
golden: "output/template-with-invalid-template-expr-debug-show-only.txt",
},
{
name: "template skip-tests",
cmd: fmt.Sprintf(`template '%s' --skip-tests`, chartPath),

@ -0,0 +1,3 @@
Error: chart-with-template-with-invalid-template-expr/templates/alpine-pod.yaml:7:38
executing "chart-with-template-with-invalid-template-expr/templates/alpine-pod.yaml" at <b64enc>:
invalid value; expected string

@ -0,0 +1,8 @@
apiVersion: v1
description: Deploy a basic Alpine Linux pod
home: https://helm.sh/helm
name: chart-with-template-with-invalid-template-expr
sources:
- https://github.com/helm/helm
version: 0.1.0
type: application

@ -0,0 +1,13 @@
#Alpine: A simple Helm chart
Run a single pod of Alpine Linux.
This example was generated using the command `helm create alpine`.
The `templates/` directory contains a very simple pod resource with a
couple of parameters.
The `values.yaml` file contains the default values for the
`alpine-pod.yaml` template.
You can install this example using `helm install ./alpine`.

@ -0,0 +1,9 @@
apiVersion: v1
kind: Pod
metadata:
name: "{{.Release.Name}}-{{.Values.Name}}"
spec:
containers:
- name: {{ .Values.nonExistentKey | b64enc }}
image: "alpine:3.9"
command: ["/bin/sleep","9000"]
Loading…
Cancel
Save