From 3530796c52536aa0ae8e166e5ea5109f464eb52e Mon Sep 17 00:00:00 2001 From: Ben Hartshorne Date: Tue, 3 Oct 2017 10:55:02 -0700 Subject: [PATCH] adding more descriptive errors --- cmd/exec.go | 8 ++++---- cmd/history.go | 7 ++++--- cmd/list.go | 5 +++-- cmd/read.go | 7 ++++--- cmd/root.go | 2 +- cmd/write.go | 6 +++--- vendor/vendor.json | 6 ++++++ 7 files changed, 25 insertions(+), 16 deletions(-) diff --git a/cmd/exec.go b/cmd/exec.go index eea72635..2a3735ee 100644 --- a/cmd/exec.go +++ b/cmd/exec.go @@ -1,7 +1,6 @@ package cmd import ( - "errors" "fmt" "os" "os/exec" @@ -9,6 +8,7 @@ import ( "strings" "syscall" + "github.com/pkg/errors" "github.com/segmentio/chamber/store" "github.com/spf13/cobra" ) @@ -54,12 +54,12 @@ func execRun(cmd *cobra.Command, args []string) error { secretStore := store.NewSSMStore() for _, service := range args { if err := validateService(service); err != nil { - return err + return errors.Wrap(err, "Failed to validate service") } secrets, err := secretStore.List(strings.ToLower(service), true) if err != nil { - return err + return errors.Wrap(err, "Failed to list store contents") } for _, secret := range secrets { envVarKey := strings.ToUpper(key(secret.Meta.Key)) @@ -92,7 +92,7 @@ func execRun(cmd *cobra.Command, args []string) error { var waitStatus syscall.WaitStatus if err := ecmd.Run(); err != nil { if err != nil { - return err + return errors.Wrap(err, "Failed to run command") } if exitError, ok := err.(*exec.ExitError); ok { waitStatus = exitError.Sys().(syscall.WaitStatus) diff --git a/cmd/history.go b/cmd/history.go index 6cadd2de..5c05527c 100644 --- a/cmd/history.go +++ b/cmd/history.go @@ -6,6 +6,7 @@ import ( "strings" "text/tabwriter" + "github.com/pkg/errors" "github.com/segmentio/chamber/store" "github.com/spf13/cobra" ) @@ -31,12 +32,12 @@ func history(cmd *cobra.Command, args []string) error { service := strings.ToLower(args[0]) if err := validateService(service); err != nil { - return err + return errors.Wrap(err, "Failed to validate service") } key := strings.ToLower(args[1]) if err := validateKey(key); err != nil { - return err + return errors.Wrap(err, "Failed to validate key") } secretStore := store.NewSSMStore() @@ -47,7 +48,7 @@ func history(cmd *cobra.Command, args []string) error { events, err := secretStore.History(secretId) if err != nil { - return err + return errors.Wrap(err, "Failed to get history") } w := tabwriter.NewWriter(os.Stdout, 0, 8, 2, '\t', 0) diff --git a/cmd/list.go b/cmd/list.go index 144c352e..b6247cb4 100644 --- a/cmd/list.go +++ b/cmd/list.go @@ -6,6 +6,7 @@ import ( "strings" "text/tabwriter" + "github.com/pkg/errors" "github.com/segmentio/chamber/store" "github.com/spf13/cobra" ) @@ -31,13 +32,13 @@ func list(cmd *cobra.Command, args []string) error { service := strings.ToLower(args[0]) if err := validateService(service); err != nil { - return err + return errors.Wrap(err, "Failed to validate service") } secretStore := store.NewSSMStore() secrets, err := secretStore.List(service, false) if err != nil { - return err + return errors.Wrap(err, "Failed to list store contents") } w := tabwriter.NewWriter(os.Stdout, 0, 8, 2, '\t', 0) diff --git a/cmd/read.go b/cmd/read.go index 34cacf51..79b71fe0 100644 --- a/cmd/read.go +++ b/cmd/read.go @@ -6,6 +6,7 @@ import ( "strings" "text/tabwriter" + "github.com/pkg/errors" "github.com/segmentio/chamber/store" "github.com/spf13/cobra" ) @@ -38,12 +39,12 @@ func read(cmd *cobra.Command, args []string) error { service := strings.ToLower(args[0]) if err := validateService(service); err != nil { - return err + return errors.Wrap(err, "Failed to validate service") } key := strings.ToLower(args[1]) if err := validateKey(key); err != nil { - return err + return errors.Wrap(err, "Failed to validate key") } secretStore := store.NewSSMStore() @@ -54,7 +55,7 @@ func read(cmd *cobra.Command, args []string) error { secret, err := secretStore.Read(secretId, version) if err != nil { - return err + return errors.Wrap(err, "Failed to read") } if quiet { diff --git a/cmd/root.go b/cmd/root.go index 4be80f37..31c0769e 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -31,7 +31,7 @@ var RootCmd = &cobra.Command{ // This is called by main.main(). It only needs to happen once to the rootCmd. func Execute() { if err := RootCmd.Execute(); err != nil { - fmt.Fprintf(os.Stderr, "%s\n", err) + fmt.Fprintf(os.Stderr, "chamber error: %s\n", err) switch err { case ErrTooFewArguments, ErrTooManyArguments: RootCmd.Usage() diff --git a/cmd/write.go b/cmd/write.go index fa594d07..c596c308 100644 --- a/cmd/write.go +++ b/cmd/write.go @@ -1,9 +1,9 @@ package cmd import ( - "errors" "strings" + "github.com/pkg/errors" "github.com/segmentio/chamber/store" "github.com/spf13/cobra" ) @@ -34,12 +34,12 @@ func write(cmd *cobra.Command, args []string) error { service := strings.ToLower(args[0]) if err := validateService(service); err != nil { - return err + return errors.Wrap(err, "Failed to validate service") } key := strings.ToLower(args[1]) if err := validateKey(key); err != nil { - return err + return errors.Wrap(err, "Failed to validate key") } value := args[2] diff --git a/vendor/vendor.json b/vendor/vendor.json index 67dbd19d..84cb9bac 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -201,6 +201,12 @@ "revision": "3bc643c63c6f8716320182b6842581d6c80572fa", "revisionTime": "2017-03-23T00:38:48Z" }, + { + "checksumSHA1": "9guv02oL7uLkwqQNjJv8AJxWXmQ=", + "path": "github.com/pkg/errors", + "revision": "ff09b135c25aae272398c51a07235b90a75aa4f0", + "revisionTime": "2017-03-16T20:15:38Z" + }, { "checksumSHA1": "zKKp5SZ3d3ycKe4EKMNT0BqAWBw=", "origin": "github.com/stretchr/testify/vendor/github.com/pmezard/go-difflib/difflib",