feat(helm): Add --col-width to helm list and helm history (#2836)

* feat(helm): Add --full-output to helm list and helm history

The default maximum length of the output table is 60 chars.
When the length is greater than 60, the content will be omitted.
This patch adds -f and --full-output to helm list and helm history
which can display full information of releases on the screen.

Closes #2828

* a

* feat(helm): Add --full-output to helm list and helm history

The default maximum length of the output table is 60 chars.
When the length is greater than 60, the content will be omitted.
This patch adds -f and --full-output to helm list and helm history
which can display full information of releases on the screen.

Closes #2828
pull/3329/head
rocky-nupt 7 years ago committed by Matthew Fisher
parent fa06dd176d
commit a6381e83a7

@ -50,6 +50,7 @@ type historyCmd struct {
rls string
out io.Writer
helmc helm.Interface
colWidth uint
}
func newHistoryCmd(c helm.Interface, w io.Writer) *cobra.Command {
@ -73,7 +74,9 @@ func newHistoryCmd(c helm.Interface, w io.Writer) *cobra.Command {
},
}
cmd.Flags().Int32Var(&his.max, "max", 256, "maximum number of revision to include in history")
f := cmd.Flags()
f.Int32Var(&his.max, "max", 256, "maximum number of revision to include in history")
f.UintVar(&his.colWidth, "col-width", 60, "specifies the max column width of output")
return cmd
}
@ -87,13 +90,14 @@ func (cmd *historyCmd) run() error {
return nil
}
fmt.Fprintln(cmd.out, formatHistory(r.Releases))
fmt.Fprintln(cmd.out, formatHistory(r.Releases, cmd.colWidth))
return nil
}
func formatHistory(rls []*release.Release) string {
func formatHistory(rls []*release.Release, colWidth uint) string {
tbl := uitable.New()
tbl.MaxColWidth = 60
tbl.MaxColWidth = colWidth
tbl.AddRow("REVISION", "UPDATED", "STATUS", "CHART", "DESCRIPTION")
for i := len(rls) - 1; i >= 0; i-- {
r := rls[i]

@ -74,6 +74,7 @@ type listCmd struct {
superseded bool
pending bool
client helm.Interface
colWidth uint
}
func newListCmd(client helm.Interface, out io.Writer) *cobra.Command {
@ -112,6 +113,7 @@ func newListCmd(client helm.Interface, out io.Writer) *cobra.Command {
f.BoolVar(&list.failed, "failed", false, "show failed releases")
f.BoolVar(&list.pending, "pending", false, "show pending releases")
f.StringVar(&list.namespace, "namespace", "", "show releases within a specific namespace")
f.UintVar(&list.colWidth, "col-width", 60, "specifies the max column width of output")
// TODO: Do we want this as a feature of 'helm list'?
//f.BoolVar(&list.superseded, "history", true, "show historical releases")
@ -162,7 +164,7 @@ func (l *listCmd) run() error {
}
return nil
}
fmt.Fprintln(l.out, formatList(rels))
fmt.Fprintln(l.out, formatList(rels, l.colWidth))
return nil
}
@ -207,9 +209,10 @@ func (l *listCmd) statusCodes() []release.Status_Code {
return status
}
func formatList(rels []*release.Release) string {
func formatList(rels []*release.Release, colWidth uint) string {
table := uitable.New()
table.MaxColWidth = 60
table.MaxColWidth = colWidth
table.AddRow("NAME", "REVISION", "UPDATED", "STATUS", "CHART", "NAMESPACE")
for _, r := range rels {
c := fmt.Sprintf("%s-%s", r.Chart.Metadata.Name, r.Chart.Metadata.Version)

@ -28,6 +28,7 @@ helm history [flags] RELEASE_NAME
### Options
```
--col-width uint specifies the max column width of output (default 60)
--max int32 maximum number of revision to include in history (default 256)
--tls enable TLS for request
--tls-ca-cert string path to TLS CA certificate file (default "$HELM_HOME/ca.pem")
@ -50,4 +51,4 @@ helm history [flags] RELEASE_NAME
### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 7-Nov-2017
###### Auto generated by spf13/cobra on 10-Jan-2018

@ -40,6 +40,7 @@ helm list [flags] [FILTER]
```
-a, --all show all releases, not just the ones marked DEPLOYED
--col-width uint specifies the max column width of output (default 60)
-d, --date sort by release date
--deleted show deleted releases
--deleting show releases that are currently being deleted
@ -72,4 +73,4 @@ helm list [flags] [FILTER]
### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes.
###### Auto generated by spf13/cobra on 7-Nov-2017
###### Auto generated by spf13/cobra on 10-Jan-2018

Loading…
Cancel
Save