From 0209ac32ddb8da3fb70e82855970146eec4031f9 Mon Sep 17 00:00:00 2001 From: Derek Bassett Date: Thu, 22 Mar 2018 23:21:45 -0600 Subject: [PATCH] Add App Version to the helm ls command. --- cmd/helm/list.go | 5 +++-- cmd/helm/list_test.go | 27 ++++++++++++++++++++++++++- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/cmd/helm/list.go b/cmd/helm/list.go index 4332ceb21..c2633d21c 100644 --- a/cmd/helm/list.go +++ b/cmd/helm/list.go @@ -237,7 +237,7 @@ func formatList(rels []*release.Release, colWidth uint) string { table := uitable.New() table.MaxColWidth = colWidth - table.AddRow("NAME", "REVISION", "UPDATED", "STATUS", "CHART", "NAMESPACE") + table.AddRow("NAME", "REVISION", "UPDATED", "STATUS", "CHART", "APP VERSION", "NAMESPACE") for _, r := range rels { md := r.GetChart().GetMetadata() c := fmt.Sprintf("%s-%s", md.GetName(), md.GetVersion()) @@ -247,8 +247,9 @@ func formatList(rels []*release.Release, colWidth uint) string { } s := r.GetInfo().GetStatus().GetCode().String() v := r.GetVersion() + a := md.GetAppVersion() n := r.GetNamespace() - table.AddRow(r.GetName(), v, t, s, c, n) + table.AddRow(r.GetName(), v, t, s, c, a, n) } return table.String() } diff --git a/cmd/helm/list_test.go b/cmd/helm/list_test.go index d853fa6b1..e292b4b5a 100644 --- a/cmd/helm/list_test.go +++ b/cmd/helm/list_test.go @@ -22,11 +22,29 @@ import ( "github.com/spf13/cobra" + "io/ioutil" + "k8s.io/helm/pkg/chartutil" "k8s.io/helm/pkg/helm" + "k8s.io/helm/pkg/proto/hapi/chart" "k8s.io/helm/pkg/proto/hapi/release" + "os" ) func TestListCmd(t *testing.T) { + tmpChart, _ := ioutil.TempDir("testdata", "tmp") + defer os.RemoveAll(tmpChart) + cfile := &chart.Metadata{ + Name: "foo", + Description: "A Helm chart for Kubernetes", + Version: "0.1.0-beta.1", + AppVersion: "2.X.A", + } + chartPath, err := chartutil.Create(cfile, tmpChart) + if err != nil { + t.Errorf("Error creating chart for list: %v", err) + } + ch, _ := chartutil.Load(chartPath) + tests := []releaseCase{ { name: "with a release", @@ -40,7 +58,14 @@ func TestListCmd(t *testing.T) { rels: []*release.Release{ helm.ReleaseMock(&helm.MockReleaseOptions{Name: "atlas"}), }, - expected: "NAME \tREVISION\tUPDATED \tSTATUS \tCHART \tNAMESPACE\natlas\t1 \t(.*)\tDEPLOYED\tfoo-0.1.0-beta.1\tdefault \n", + expected: "NAME \tREVISION\tUPDATED \tSTATUS \tCHART \tAPP VERSION\tNAMESPACE\natlas\t1 \t(.*)\tDEPLOYED\tfoo-0.1.0-beta.1\t \tdefault \n", + }, + { + name: "list with appVersion", + rels: []*release.Release{ + helm.ReleaseMock(&helm.MockReleaseOptions{Name: "atlas", Chart: ch}), + }, + expected: "NAME \tREVISION\tUPDATED \tSTATUS \tCHART \tAPP VERSION\tNAMESPACE\natlas\t1 \t(.*)\tDEPLOYED\tfoo-0.1.0-beta.1\t2.X.A \tdefault \n", }, { name: "list, one deployed, one failed",