Skip to content

Commit 4956b0e

Browse files
committed
Fix local resolve condition handling
1 parent 9ab4152 commit 4956b0e

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

internal/commands/scan.go

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1453,6 +1453,7 @@ func getUploadURLFromSource(cmd *cobra.Command, uploadsWrapper wrappers.UploadsW
14531453
userIncludeFilter, _ := cmd.Flags().GetString(commonParams.IncludeFilterFlag)
14541454
projectName, _ := cmd.Flags().GetString(commonParams.ProjectName)
14551455
containerScanTriggered := strings.Contains(actualScanTypes, commonParams.ContainersType)
1456+
containerImagesFlag, _ := cmd.Flags().GetString(commonParams.ContainerImagesFlag)
14561457
containerResolveLocallyFlag, _ := cmd.Flags().GetString(commonParams.ContainerResolveLocallyFlag)
14571458
containerResolveLocally := strings.EqualFold(containerResolveLocallyFlag, "true")
14581459
scaResolverParams, scaResolver := getScaResolverFlags(cmd)
@@ -1487,8 +1488,8 @@ func getUploadURLFromSource(cmd *cobra.Command, uploadsWrapper wrappers.UploadsW
14871488
}
14881489
}
14891490

1490-
if containerScanTriggered {
1491-
containerResolverError := runContainerResolver(cmd, directoryPath, containerResolveLocally)
1491+
if containerScanTriggered && (containerResolveLocally || containerImagesFlag != "") {
1492+
containerResolverError := runContainerResolver(cmd, directoryPath, containerImagesFlag, containerResolveLocally)
14921493
if containerResolverError != nil {
14931494
if unzip {
14941495
_ = cleanTempUnzipDirectory(directoryPath)
@@ -1497,7 +1498,7 @@ func getUploadURLFromSource(cmd *cobra.Command, uploadsWrapper wrappers.UploadsW
14971498
}
14981499
}
14991500

1500-
if isSingleContainerScanTriggered() && containerResolveLocally {
1501+
if isSingleContainerScanTriggered() && (containerResolveLocally || containerImagesFlag != "") {
15011502
logger.PrintIfVerbose("Single container scan triggered: compressing only the container resolution file")
15021503
containerResolutionFilePath := filepath.Join(directoryPath, containerResolutionFileName)
15031504
zipFilePath, dirPathErr = util.CompressFile(containerResolutionFilePath, containerResolutionFileName, directoryCreationPrefix)
@@ -1523,23 +1524,26 @@ func getUploadURLFromSource(cmd *cobra.Command, uploadsWrapper wrappers.UploadsW
15231524
return preSignedURL, zipFilePath, nil
15241525
}
15251526

1526-
func runContainerResolver(cmd *cobra.Command, directoryPath string, containerResolveLocally bool) error {
1527-
containerImages, _ := cmd.Flags().GetString(commonParams.ContainerImagesFlag)
1527+
func runContainerResolver(cmd *cobra.Command, directoryPath string, containerImageFlag string, containerResolveLocally bool) error {
15281528
debug, _ := cmd.Flags().GetBool(commonParams.DebugFlag)
15291529
var containerImagesList []string
1530+
var validContainerImages []string
15301531

1531-
if containerImages != "" {
1532-
containerImagesList = strings.Split(strings.TrimSpace(containerImages), ",")
1532+
if containerImageFlag != "" {
1533+
containerImagesList = strings.Split(strings.TrimSpace(containerImageFlag), ",")
15331534
for _, containerImageName := range containerImagesList {
1534-
if containerImagesErr := validateContainerImageFormat(containerImageName); containerImagesErr != nil {
1535-
return containerImagesErr
1535+
containerImagesErr := validateContainerImageFormat(containerImageName)
1536+
if containerImagesErr != nil {
1537+
logger.Printf("Invalid container image format: %s, error: %s", containerImageName, containerImagesErr)
1538+
} else {
1539+
validContainerImages = append(validContainerImages, containerImageName)
15361540
}
15371541
}
1538-
logger.PrintIfVerbose(fmt.Sprintf("User input container images identified: %v", strings.Join(containerImagesList, ", ")))
1542+
logger.PrintIfVerbose(fmt.Sprintf("User input container images identified: %v", strings.Join(validContainerImages, ", ")))
15391543
}
15401544

1541-
if containerResolveLocally || len(containerImagesList) > 0 {
1542-
containerResolverERR := containerResolver.Resolve(directoryPath, directoryPath, containerImagesList, debug)
1545+
if containerResolveLocally || len(validContainerImages) > 0 {
1546+
containerResolverERR := containerResolver.Resolve(directoryPath, directoryPath, validContainerImages, debug)
15431547
if containerResolverERR != nil {
15441548
return containerResolverERR
15451549
}

0 commit comments

Comments
 (0)