From 9e19ab8d8b1884b951012db74b376475494331b4 Mon Sep 17 00:00:00 2001 From: Nolan Brubaker Date: Thu, 25 Apr 2019 16:14:10 -0400 Subject: [PATCH] Throw an error on an invalid bucket name Signed-off-by: Nolan Brubaker --- changelogs/unreleased/140-nrb | 1 + pkg/cmd/cli/install/install.go | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 changelogs/unreleased/140-nrb diff --git a/changelogs/unreleased/140-nrb b/changelogs/unreleased/140-nrb new file mode 100644 index 000000000..794b6e2c0 --- /dev/null +++ b/changelogs/unreleased/140-nrb @@ -0,0 +1 @@ +Disallow bucket names starting with '-' diff --git a/pkg/cmd/cli/install/install.go b/pkg/cmd/cli/install/install.go index 4b5ad83f8..4fa9dd941 100644 --- a/pkg/cmd/cli/install/install.go +++ b/pkg/cmd/cli/install/install.go @@ -21,6 +21,7 @@ import ( "io/ioutil" "os" "path/filepath" + "strings" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -210,6 +211,13 @@ func (o *InstallOptions) Validate(c *cobra.Command, args []string, f client.Fact return errors.New("--bucket is required") } + // Our main 3 providers don't support bucket names starting with a dash, and a bucket name starting with one + // can indicate that an environment variable was left blank. + // This case will help catch that error + if strings.HasPrefix(o.BucketName, "-") { + return errors.Errorf("Bucket names cannot begin with a dash. Bucket name was: %s", o.BucketName) + } + if o.ProviderName == "" { return errors.New("--provider is required") }