diff --git a/internal/params/binds.go b/internal/params/binds.go index 410de40d3..93860c07d 100644 --- a/internal/params/binds.go +++ b/internal/params/binds.go @@ -85,4 +85,5 @@ var EnvVarsBinds = []struct { {MultipartPresignedPathKey, MultipartPresignedPathEnv, "api/uploads/multipart-presigned"}, {CompleteMultiPartUploadPathKey, CompleteMultipartUploadPathEnv, "api/uploads/complete-multipart-upload"}, {MultipartFileSizeKey, MultipartFileSizeEnv, "2"}, + {DisableASCALatestVersionKey, DisableASCALatestVersionEnv, ""}, } diff --git a/internal/params/envs.go b/internal/params/envs.go index fb32f2761..ffc03198c 100644 --- a/internal/params/envs.go +++ b/internal/params/envs.go @@ -88,4 +88,5 @@ const ( MultipartPresignedPathEnv = "CX_MULTIPART_PRESIGNED_URL_PATH" CompleteMultipartUploadPathEnv = "CX_COMPLETE_MULTIPART_UPLOAD_PATH" MultipartFileSizeEnv = "MULTIPART_FILE_SIZE" + DisableASCALatestVersionEnv = "DISABLE_ASCA_UPDATE" ) diff --git a/internal/params/keys.go b/internal/params/keys.go index 463181833..ea1151440 100644 --- a/internal/params/keys.go +++ b/internal/params/keys.go @@ -87,4 +87,5 @@ var ( MultipartPresignedPathKey = strings.ToLower(MultipartPresignedPathEnv) CompleteMultiPartUploadPathKey = strings.ToLower(CompleteMultipartUploadPathEnv) MultipartFileSizeKey = strings.ToLower(MultipartFileSizeEnv) + DisableASCALatestVersionKey = strings.ToLower(DisableASCALatestVersionEnv) ) diff --git a/internal/services/asca.go b/internal/services/asca.go index b18816bbf..5a0af82de 100644 --- a/internal/services/asca.go +++ b/internal/services/asca.go @@ -7,6 +7,7 @@ import ( "os" "os/exec" "path/filepath" + "strings" "time" "github.com/checkmarx/ast-cli/internal/commands/asca/ascaconfig" @@ -158,8 +159,8 @@ func buildAscaIgnoreMap(ignored []grpcs.AscaIgnoreFinding) map[string]bool { func manageASCAInstallation(ascaParams AscaScanParams, ascaWrappers AscaWrappersParam) error { ASCAInstalled, _ := osinstaller.FileExists(ascaconfig.Params.ExecutableFilePath()) - - if !ASCAInstalled || ascaParams.ASCAUpdateVersion { + if !ASCAInstalled || (ascaParams.ASCAUpdateVersion && strings.TrimSpace(strings.ToLower(viper.GetString(params.DisableASCALatestVersionKey))) != "true") { + logger.PrintIfVerbose("Ensuring ASCA is installed or is up to date") if err := checkLicense(ascaParams.IsDefaultAgent, ascaWrappers); err != nil { _ = ascaWrappers.ASCAWrapper.ShutDown() return err