diff --git a/cmd/helm/get_values.go b/cmd/helm/get_values.go index cd94f49c5..6a772e1db 100644 --- a/cmd/helm/get_values.go +++ b/cmd/helm/get_values.go @@ -19,7 +19,6 @@ package main import ( "io" - "github.com/gosuri/uitable" "github.com/spf13/cobra" "helm.sh/helm/v3/cmd/helm/require" @@ -49,6 +48,16 @@ func newGetValuesCmd(cfg *action.Configuration, out io.Writer) *cobra.Command { if err != nil { return err } + + if outfmt == output.Table && client.AllValues { + _, err = out.Write([]byte("COMPUTED VALUES:\n")) + } else if outfmt == output.Table { + _, err = out.Write([]byte("USER-SUPPLIED VALUES:\n")) + } + if err != nil { + return err + } + return outfmt.Write(out, &valuesWriter{vals}) }, } @@ -62,18 +71,13 @@ func newGetValuesCmd(cfg *action.Configuration, out io.Writer) *cobra.Command { } func (v valuesWriter) WriteTable(out io.Writer) error { - table := uitable.New() - table.AddRow("USER-SUPPLIED VALUES:") - for k, v := range v.vals { - table.AddRow(k, v) - } - return output.EncodeTable(out, table) + return output.EncodeYAML(out, v.vals) } func (v valuesWriter) WriteJSON(out io.Writer) error { - return output.EncodeJSON(out, v) + return output.EncodeJSON(out, v.vals) } func (v valuesWriter) WriteYAML(out io.Writer) error { - return output.EncodeYAML(out, v) + return output.EncodeYAML(out, v.vals) } diff --git a/cmd/helm/testdata/output/get-values.txt b/cmd/helm/testdata/output/get-values.txt index de601163c..b7d146b15 100644 --- a/cmd/helm/testdata/output/get-values.txt +++ b/cmd/helm/testdata/output/get-values.txt @@ -1,2 +1,2 @@ +USER-SUPPLIED VALUES: name: value - diff --git a/cmd/helm/testdata/output/values.json b/cmd/helm/testdata/output/values.json index 831dfbcfb..ea8308627 100644 --- a/cmd/helm/testdata/output/values.json +++ b/cmd/helm/testdata/output/values.json @@ -1 +1 @@ -{"name": "value"} +{"name":"value"} diff --git a/pkg/action/get_values.go b/pkg/action/get_values.go index 54457079e..5bc3a7005 100644 --- a/pkg/action/get_values.go +++ b/pkg/action/get_values.go @@ -39,19 +39,18 @@ func NewGetValues(cfg *Configuration) *GetValues { // Run executes 'helm get values' against the given release. func (g *GetValues) Run(name string) (map[string]interface{}, error) { - res, err := g.cfg.releaseContent(name, g.Version) + rel, err := g.cfg.releaseContent(name, g.Version) if err != nil { return nil, err } // If the user wants all values, compute the values and return. if g.AllValues { - cfg, err := chartutil.CoalesceValues(res.Chart, res.Config) + cfg, err := chartutil.CoalesceValues(rel.Chart, rel.Config) if err != nil { return nil, err } return cfg, nil } - - return res.Chart.Values, nil + return rel.Config, nil }