From 34147d76945cc6a0a3a2bdcf9cd4e61b59563f0a Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Wed, 23 Sep 2020 12:23:39 +0300 Subject: [PATCH] Add validation for bucket providers --- cmd/gotk/create_source_bucket.go | 11 ++++++----- cmd/gotk/main.go | 17 +++++++++-------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/cmd/gotk/create_source_bucket.go b/cmd/gotk/create_source_bucket.go index 65dcb824..c7f072cb 100644 --- a/cmd/gotk/create_source_bucket.go +++ b/cmd/gotk/create_source_bucket.go @@ -70,7 +70,7 @@ var ( ) func init() { - createSourceBucketCmd.Flags().StringVar(&sourceBucketProvider, "provider", "generic", "the S3 compatible storage provider name, can be 'generic' or 'aws'") + createSourceBucketCmd.Flags().StringVar(&sourceBucketProvider, "provider", sourcev1.GenericBucketProvider, "the S3 compatible storage provider name, can be 'generic' or 'aws'") createSourceBucketCmd.Flags().StringVar(&sourceBucketName, "bucket-name", "", "the bucket name") createSourceBucketCmd.Flags().StringVar(&sourceBucketEndpoint, "endpoint", "", "the bucket endpoint address") createSourceBucketCmd.Flags().StringVar(&sourceBucketAccessKey, "access-key", "", "the bucket access key") @@ -88,8 +88,9 @@ func createSourceBucketCmdRun(cmd *cobra.Command, args []string) error { name := args[0] secretName := fmt.Sprintf("bucket-%s", name) - if sourceBucketProvider == "" { - return fmt.Errorf("provider is required") + if !utils.containsItemString(supportedSourceBucketProviders, sourceBucketProvider) { + return fmt.Errorf("bucket provider %s is not supported, can be %v", + sourceBucketProvider, supportedSourceBucketProviders) } if sourceBucketName == "" { @@ -186,13 +187,13 @@ func createSourceBucketCmdRun(cmd *cobra.Command, args []string) error { } err = kubeClient.Get(ctx, namespacedName, &bucket) if err != nil { - return fmt.Errorf("helm index failed: %w", err) + return fmt.Errorf("could not retrieve bucket: %w", err) } if bucket.Status.Artifact != nil { logger.Successf("fetched revision: %s", bucket.Status.Artifact.Revision) } else { - return fmt.Errorf("index download failed, artifact not found") + return fmt.Errorf("download failed, artifact not found") } return nil diff --git a/cmd/gotk/main.go b/cmd/gotk/main.go index 3ca762da..7087b818 100644 --- a/cmd/gotk/main.go +++ b/cmd/gotk/main.go @@ -106,14 +106,15 @@ var ( ) var ( - defaultComponents = []string{"source-controller", "kustomize-controller", "helm-controller", "notification-controller"} - defaultVersion = "latest" - defaultNamespace = "gitops-system" - defaultNotification = "notification-controller" - supportedArch = []string{"amd64", "arm", "arm64"} - supportedDecryptionProviders = []string{"sops"} - supportedHelmChartSourceKinds = []string{sourcev1.HelmRepositoryKind, sourcev1.GitRepositoryKind} - supportedLogLevels = []string{"debug", "info", "error"} + defaultComponents = []string{"source-controller", "kustomize-controller", "helm-controller", "notification-controller"} + defaultVersion = "latest" + defaultNamespace = "gitops-system" + defaultNotification = "notification-controller" + supportedLogLevels = []string{"debug", "info", "error"} + supportedArch = []string{"amd64", "arm", "arm64"} + supportedDecryptionProviders = []string{"sops"} + supportedHelmChartSourceKinds = []string{sourcev1.HelmRepositoryKind, sourcev1.GitRepositoryKind} + supportedSourceBucketProviders = []string{sourcev1.GenericBucketProvider, sourcev1.AmazonBucketProvider} ) func init() {