From 8f43b059ce14a2cb346b07689fe5236e766da716 Mon Sep 17 00:00:00 2001 From: Adam Reese Date: Tue, 22 Mar 2016 14:05:45 -0700 Subject: [PATCH] feat(cli): use template for deployment format --- cmd/helm/deployment.go | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/cmd/helm/deployment.go b/cmd/helm/deployment.go index d9d34ac20..b77d74d78 100644 --- a/cmd/helm/deployment.go +++ b/cmd/helm/deployment.go @@ -18,12 +18,26 @@ package main import ( "errors" + "os" "regexp" + "text/template" "github.com/codegangsta/cli" "github.com/kubernetes/helm/pkg/format" ) +var errMissingDeploymentArg = errors.New("First argument, deployment name, is required. Try 'helm get --help'") + +const defaultShowFormat = `Name: {{.Name}} +Status: {{.State.Status}} +{{- with .State.Errors}} +Errors: +{{- range .}} + {{.}} +{{- end}} +{{- end}} +` + func init() { addCommands(deploymentCommands()) } @@ -103,7 +117,7 @@ func listDeployments(c *cli.Context) error { func deleteDeployment(c *cli.Context) error { args := c.Args() if len(args) < 1 { - return errors.New("First argument, deployment name, is required. Try 'helm get --help'") + return errMissingDeploymentArg } for _, name := range args { deployment, err := NewClient(c).DeleteDeployment(name) @@ -118,12 +132,13 @@ func deleteDeployment(c *cli.Context) error { func showDeployment(c *cli.Context) error { args := c.Args() if len(args) < 1 { - return errors.New("First argument, deployment name, is required. Try 'helm get --help'") + return errMissingDeploymentArg } name := args[0] deployment, err := NewClient(c).GetDeployment(name) if err != nil { return err } - return format.YAML(deployment) + tmpl := template.Must(template.New("show").Parse(defaultShowFormat)) + return tmpl.Execute(os.Stdout, deployment) }