diff --git a/go.mod b/go.mod index 29747204..d55dd3ea 100644 --- a/go.mod +++ b/go.mod @@ -6,8 +6,8 @@ require ( github.com/AlecAivazis/survey/v2 v2.3.7 github.com/MakeNowJust/heredoc v1.0.0 github.com/aws/aws-sdk-go-v2 v1.34.0 - github.com/aws/aws-sdk-go-v2/config v1.29.2 - github.com/aws/aws-sdk-go-v2/credentials v1.17.55 + github.com/aws/aws-sdk-go-v2/config v1.28.7 + github.com/aws/aws-sdk-go-v2/credentials v1.17.54 github.com/aws/aws-sdk-go-v2/service/s3 v1.73.2 github.com/aziontech/azionapi-go-sdk v0.133.0 github.com/aziontech/go-thoth v0.0.0-20240228144710-d061a88cc39f @@ -45,7 +45,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.25 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.29 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.29 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.28 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.5.2 // indirect diff --git a/go.sum b/go.sum index f1d6ba78..b5c6c249 100644 --- a/go.sum +++ b/go.sum @@ -54,18 +54,18 @@ github.com/aws/aws-sdk-go-v2 v1.34.0 h1:9iyL+cjifckRGEVpRKZP3eIxVlL06Qk1Tk13vrea github.com/aws/aws-sdk-go-v2 v1.34.0/go.mod h1:JgstGg0JjWU1KpVJjD5H0y0yyAIpSdKEq556EI6yOOM= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7 h1:lL7IfaFzngfx0ZwUGOZdsFFnQ5uLvR0hWqqhyE7Q9M8= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7/go.mod h1:QraP0UcVlQJsmHfioCrveWOC1nbiWUl3ej08h4mXWoc= -github.com/aws/aws-sdk-go-v2/config v1.29.2 h1:JuIxOEPcSKpMB0J+khMjznG9LIhIBdmqNiEcPclnwqc= -github.com/aws/aws-sdk-go-v2/config v1.29.2/go.mod h1:HktTHregOZwNSM/e7WTfVSu9RCX+3eOv+6ij27PtaYs= -github.com/aws/aws-sdk-go-v2/credentials v1.17.55 h1:CDhKnDEaGkLA5ZszV/qw5uwN5M8rbv9Cl0JRN+PRsaM= -github.com/aws/aws-sdk-go-v2/credentials v1.17.55/go.mod h1:kPD/vj+RB5MREDUky376+zdnjZpR+WgdBBvwrmnlmKE= +github.com/aws/aws-sdk-go-v2/config v1.28.7 h1:GduUnoTXlhkgnxTD93g1nv4tVPILbdNQOzav+Wpg7AE= +github.com/aws/aws-sdk-go-v2/config v1.28.7/go.mod h1:vZGX6GVkIE8uECSUHB6MWAUsd4ZcG2Yq/dMa4refR3M= +github.com/aws/aws-sdk-go-v2/credentials v1.17.54 h1:4UmqeOqJPvdvASZWrKlhzpRahAulBfyTJQUaYy4+hEI= +github.com/aws/aws-sdk-go-v2/credentials v1.17.54/go.mod h1:RTdfo0P0hbbTxIhmQrOsC/PquBZGabEPnCaxxKRPSnI= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.25 h1:kU7tmXNaJ07LsyN3BUgGqAmVmQtq0w6duVIHAKfp0/w= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.25/go.mod h1:OiC8+OiqrURb1wrwmr/UbOVLFSWEGxjinj5C299VQdo= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.29 h1:Ej0Rf3GMv50Qh4G4852j2djtoDb7AzQ7MuQeFHa3D70= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.29/go.mod h1:oeNTC7PwJNoM5AznVr23wxhLnuJv0ZDe5v7w0wqIs9M= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.29 h1:6e8a71X+9GfghragVevC5bZqvATtc3mAMgxpSNbgzF0= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.29/go.mod h1:c4jkZiQ+BWpNqq7VtrxjwISrLrt/VvPq3XiopkUIolI= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2 h1:Pg9URiobXy85kgFev3og2CuOZ8JZUBENF+dcgWBaYNk= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.28 h1:7kpeALOUeThs2kEjlAxlADAVfxKmkYAedlpZ3kdoSJ4= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.28/go.mod h1:pyaOYEdp1MJWgtXLy6q80r3DhsVdOIOZNB9hdTcJIvI= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2 h1:D4oz8/CzT9bAEYtVhSBmFj2dNOtaHOtMKc2vHBwYizA= diff --git a/pkg/cmd/deploy/deploy.go b/pkg/cmd/deploy/deploy.go index 92e91745..a5cf36b8 100644 --- a/pkg/cmd/deploy/deploy.go +++ b/pkg/cmd/deploy/deploy.go @@ -177,6 +177,7 @@ func (cmd *DeployCmd) Run(f *cmdutil.Factory) error { //create credentials if they are not found on settings file if settings.S3AccessKey == "" || settings.S3SecreKey == "" { nameBucket := fmt.Sprintf("%s-%s", conf.Name, cmd.VersionID()) + nameBucket = utils.ReplaceInvalidCharsBucket(nameBucket) storageClient := storage.NewClient(f.HttpClient, f.Config.GetString("storage_url"), f.Config.GetString("token")) err := storageClient.CreateBucket(ctx, storage.RequestBucket{BucketCreate: sdk.BucketCreate{Name: nameBucket, EdgeAccess: sdk.READ_ONLY}}) if err != nil { diff --git a/pkg/cmd/deploy_remote/bucket.go b/pkg/cmd/deploy_remote/bucket.go index a8b6135f..d916dce3 100644 --- a/pkg/cmd/deploy_remote/bucket.go +++ b/pkg/cmd/deploy_remote/bucket.go @@ -5,7 +5,6 @@ import ( "errors" "fmt" "os" - "regexp" "github.com/aziontech/azionapi-go-sdk/storage" @@ -28,7 +27,7 @@ func (cmd *DeployCmd) doBucket( logger.FInfoFlags(cmd.Io.Out, msg.ProjectNameMessage, cmd.F.Format, cmd.F.Out) *msgs = append(*msgs, msg.ProjectNameMessage) - nameBucket := replaceInvalidChars(conf.Name) + nameBucket := utils.ReplaceInvalidCharsBucket(conf.Name) err := client.CreateBucket(ctx, api.RequestBucket{ BucketCreate: storage.BucketCreate{Name: nameBucket, EdgeAccess: storage.READ_ONLY}}) @@ -74,9 +73,3 @@ func askForInput(msg string, defaultIn string) (string, error) { } return userInput, nil } - -// replaceInvalidChars Regular expression to find disallowed characters: "[^a-zA-Z0-9]+" replace invalid characters with - -func replaceInvalidChars(str string) string { - re := regexp.MustCompile(`(?i)(?:azion-|b2-)|[^a-z0-9\-]`) - return re.ReplaceAllString(str, "") -} diff --git a/pkg/cmd/deploy_remote/bucket_test.go b/pkg/cmd/deploy_remote/bucket_test.go index 8bc64c12..84c640d8 100644 --- a/pkg/cmd/deploy_remote/bucket_test.go +++ b/pkg/cmd/deploy_remote/bucket_test.go @@ -2,6 +2,8 @@ package deploy import ( "testing" + + "github.com/aziontech/azion-cli/utils" ) func Test_replaceInvalidChars(t *testing.T) { @@ -53,7 +55,7 @@ func Test_replaceInvalidChars(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - if got := replaceInvalidChars(tt.args); got != tt.want { + if got := utils.ReplaceInvalidCharsBucket(tt.args); got != tt.want { t.Errorf("replaceInvalidChars() = %v, want %v", got, tt.want) } }) diff --git a/utils/helpers.go b/utils/helpers.go index 7ad5ae6e..a1f5847a 100644 --- a/utils/helpers.go +++ b/utils/helpers.go @@ -10,6 +10,7 @@ import ( "net/http" "os" "path" + "regexp" "strconv" "strings" "time" @@ -557,3 +558,9 @@ func ContainSubstring(word string, words []string) bool { } return false } + +// replaceInvalidChars Regular expression to find disallowed characters: "[^a-zA-Z0-9]+" replace invalid characters with - +func ReplaceInvalidCharsBucket(str string) string { + re := regexp.MustCompile(`(?i)(?:azion-|b2-)|[^a-z0-9\-]`) + return re.ReplaceAllString(str, "") +}