Skip to content

Commit cc7470e

Browse files
committed
Merge branch 'develop' of github.com:devtron-labs/devtron into cdworkflow-runner-read
2 parents 91c6936 + c721d54 commit cc7470e

File tree

69 files changed

+1128
-490
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+1128
-490
lines changed

Wire.go

Lines changed: 6 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ import (
104104
repository8 "github.com/devtron-labs/devtron/internal/sql/repository/imageTagging"
105105
"github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig"
106106
resourceGroup "github.com/devtron-labs/devtron/internal/sql/repository/resourceGroup"
107-
security2 "github.com/devtron-labs/devtron/internal/sql/repository/security"
108107
"github.com/devtron-labs/devtron/internal/util"
109108
"github.com/devtron-labs/devtron/pkg/app"
110109
"github.com/devtron-labs/devtron/pkg/app/dbMigration"
@@ -115,10 +114,7 @@ import (
115114
"github.com/devtron-labs/devtron/pkg/appStore/chartGroup"
116115
repository4 "github.com/devtron-labs/devtron/pkg/appStore/chartGroup/repository"
117116
repository9 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/repository"
118-
"github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/FullMode"
119117
deployment3 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/FullMode/deployment"
120-
"github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/FullMode/deploymentTypeChange"
121-
"github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/FullMode/resource"
122118
"github.com/devtron-labs/devtron/pkg/appWorkflow"
123119
"github.com/devtron-labs/devtron/pkg/argoRepositoryCreds"
124120
"github.com/devtron-labs/devtron/pkg/asyncProvider"
@@ -159,9 +155,9 @@ import (
159155
"github.com/devtron-labs/devtron/pkg/pipeline/types"
160156
"github.com/devtron-labs/devtron/pkg/plugin"
161157
repository6 "github.com/devtron-labs/devtron/pkg/plugin/repository"
158+
"github.com/devtron-labs/devtron/pkg/policyGovernance"
162159
resourceGroup2 "github.com/devtron-labs/devtron/pkg/resourceGroup"
163160
"github.com/devtron-labs/devtron/pkg/resourceQualifiers"
164-
"github.com/devtron-labs/devtron/pkg/security"
165161
"github.com/devtron-labs/devtron/pkg/sql"
166162
util3 "github.com/devtron-labs/devtron/pkg/util"
167163
"github.com/devtron-labs/devtron/pkg/variables"
@@ -198,9 +194,9 @@ func InitializeApp() (*App, error) {
198194
chartRepo.ChartRepositoryWireSet,
199195
appStoreDiscover.AppStoreDiscoverWireSet,
200196
chartProvider.AppStoreChartProviderWireSet,
201-
appStoreValues.AppStoreValuesWireSet,
197+
appStoreValues.WireSet,
202198
util2.GetEnvironmentVariables,
203-
appStoreDeployment.AppStoreDeploymentWireSet,
199+
appStoreDeployment.FullModeWireSet,
204200
server.ServerWireSet,
205201
module.ModuleWireSet,
206202
apiToken.ApiTokenWireSet,
@@ -214,6 +210,8 @@ func InitializeApp() (*App, error) {
214210
workflow3.WorkflowWireSet,
215211
imageTagging.WireSet,
216212
devtronResource.DevtronResourceWireSet,
213+
policyGovernance.PolicyGovernanceWireSet,
214+
217215
// -------wireset end ----------
218216
// -------
219217
gitSensor.GetConfig,
@@ -540,19 +538,6 @@ func InitializeApp() (*App, error) {
540538

541539
notifier.NewNotificationConfigBuilderImpl,
542540
wire.Bind(new(notifier.NotificationConfigBuilder), new(*notifier.NotificationConfigBuilderImpl)),
543-
appStoreRestHandler.NewAppStoreStatusTimelineRestHandlerImpl,
544-
wire.Bind(new(appStoreRestHandler.AppStoreStatusTimelineRestHandler), new(*appStoreRestHandler.AppStoreStatusTimelineRestHandlerImpl)),
545-
appStoreRestHandler.NewInstalledAppRestHandlerImpl,
546-
wire.Bind(new(appStoreRestHandler.InstalledAppRestHandler), new(*appStoreRestHandler.InstalledAppRestHandlerImpl)),
547-
FullMode.NewInstalledAppDBExtendedServiceImpl,
548-
wire.Bind(new(FullMode.InstalledAppDBExtendedService), new(*FullMode.InstalledAppDBExtendedServiceImpl)),
549-
resource.NewInstalledAppResourceServiceImpl,
550-
wire.Bind(new(resource.InstalledAppResourceService), new(*resource.InstalledAppResourceServiceImpl)),
551-
deploymentTypeChange.NewInstalledAppDeploymentTypeChangeServiceImpl,
552-
wire.Bind(new(deploymentTypeChange.InstalledAppDeploymentTypeChangeService), new(*deploymentTypeChange.InstalledAppDeploymentTypeChangeServiceImpl)),
553-
554-
appStoreRestHandler.NewAppStoreRouterImpl,
555-
wire.Bind(new(appStoreRestHandler.AppStoreRouter), new(*appStoreRestHandler.AppStoreRouterImpl)),
556541

557542
workflow.NewAppWorkflowRestHandlerImpl,
558543
wire.Bind(new(workflow.AppWorkflowRestHandler), new(*workflow.AppWorkflowRestHandlerImpl)),
@@ -646,30 +631,10 @@ func InitializeApp() (*App, error) {
646631
wire.Bind(new(router.ImageScanRouter), new(*router.ImageScanRouterImpl)),
647632
restHandler.NewImageScanRestHandlerImpl,
648633
wire.Bind(new(restHandler.ImageScanRestHandler), new(*restHandler.ImageScanRestHandlerImpl)),
649-
security.NewImageScanServiceImpl,
650-
wire.Bind(new(security.ImageScanService), new(*security.ImageScanServiceImpl)),
651-
security2.NewImageScanHistoryRepositoryImpl,
652-
wire.Bind(new(security2.ImageScanHistoryRepository), new(*security2.ImageScanHistoryRepositoryImpl)),
653-
security2.NewImageScanResultRepositoryImpl,
654-
wire.Bind(new(security2.ImageScanResultRepository), new(*security2.ImageScanResultRepositoryImpl)),
655-
security2.NewImageScanObjectMetaRepositoryImpl,
656-
wire.Bind(new(security2.ImageScanObjectMetaRepository), new(*security2.ImageScanObjectMetaRepositoryImpl)),
657-
security2.NewCveStoreRepositoryImpl,
658-
wire.Bind(new(security2.CveStoreRepository), new(*security2.CveStoreRepositoryImpl)),
659-
security2.NewImageScanDeployInfoRepositoryImpl,
660-
wire.Bind(new(security2.ImageScanDeployInfoRepository), new(*security2.ImageScanDeployInfoRepositoryImpl)),
661-
security2.NewScanToolMetadataRepositoryImpl,
662-
wire.Bind(new(security2.ScanToolMetadataRepository), new(*security2.ScanToolMetadataRepositoryImpl)),
663634
router.NewPolicyRouterImpl,
664635
wire.Bind(new(router.PolicyRouter), new(*router.PolicyRouterImpl)),
665636
restHandler.NewPolicyRestHandlerImpl,
666637
wire.Bind(new(restHandler.PolicyRestHandler), new(*restHandler.PolicyRestHandlerImpl)),
667-
security.NewPolicyServiceImpl,
668-
wire.Bind(new(security.PolicyService), new(*security.PolicyServiceImpl)),
669-
security2.NewPolicyRepositoryImpl,
670-
wire.Bind(new(security2.CvePolicyRepository), new(*security2.CvePolicyRepositoryImpl)),
671-
security2.NewScanToolExecutionHistoryMappingRepositoryImpl,
672-
wire.Bind(new(security2.ScanToolExecutionHistoryMappingRepository), new(*security2.ScanToolExecutionHistoryMappingRepositoryImpl)),
673638

674639
argocdServer.NewArgoK8sClientImpl,
675640
wire.Bind(new(argocdServer.ArgoK8sClient), new(*argocdServer.ArgoK8sClientImpl)),
@@ -977,7 +942,7 @@ func InitializeApp() (*App, error) {
977942
certificate.NewServiceClientImpl,
978943
wire.Bind(new(certificate.Client), new(*certificate.ServiceClientImpl)),
979944

980-
appStoreRestHandler.AppStoreWireSet,
945+
appStoreRestHandler.FullModeWireSet,
981946

982947
cel.NewCELServiceImpl,
983948
wire.Bind(new(cel.EvaluatorService), new(*cel.EvaluatorServiceImpl)),

api/appStore/deployment/wire_appStoreDeployment.go

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,19 @@ package appStoreDeployment
1919
import (
2020
"github.com/devtron-labs/devtron/client/argocdServer"
2121
"github.com/devtron-labs/devtron/internal/util"
22+
installedAppReader "github.com/devtron-labs/devtron/pkg/appStore/installedApp/read"
2223
repository3 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/repository"
2324
"github.com/devtron-labs/devtron/pkg/appStore/installedApp/service"
2425
"github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/EAMode"
2526
deployment2 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/EAMode/deployment"
27+
"github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/FullMode"
28+
"github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/FullMode/deploymentTypeChange"
29+
"github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/FullMode/resource"
2630
appStoreDeploymentCommon "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/common"
2731
"github.com/google/wire"
2832
)
2933

30-
var AppStoreDeploymentWireSet = wire.NewSet(
34+
var EAModeWireSet = wire.NewSet(
3135
//util.GetDeploymentServiceTypeConfig,
3236
util.NewChartTemplateServiceImpl,
3337
wire.Bind(new(util.ChartTemplateService), new(*util.ChartTemplateServiceImpl)),
@@ -54,4 +58,22 @@ var AppStoreDeploymentWireSet = wire.NewSet(
5458

5559
EAMode.NewInstalledAppDBServiceImpl,
5660
wire.Bind(new(EAMode.InstalledAppDBService), new(*EAMode.InstalledAppDBServiceImpl)),
61+
62+
installedAppReader.EAWireSet,
63+
)
64+
65+
var FullModeWireSet = wire.NewSet(
66+
67+
EAModeWireSet,
68+
69+
FullMode.NewInstalledAppDBExtendedServiceImpl,
70+
wire.Bind(new(FullMode.InstalledAppDBExtendedService), new(*FullMode.InstalledAppDBExtendedServiceImpl)),
71+
72+
resource.NewInstalledAppResourceServiceImpl,
73+
wire.Bind(new(resource.InstalledAppResourceService), new(*resource.InstalledAppResourceServiceImpl)),
74+
75+
deploymentTypeChange.NewInstalledAppDeploymentTypeChangeServiceImpl,
76+
wire.Bind(new(deploymentTypeChange.InstalledAppDeploymentTypeChangeService), new(*deploymentTypeChange.InstalledAppDeploymentTypeChangeServiceImpl)),
77+
78+
installedAppReader.WireSet,
5779
)

api/appStore/values/wire_appStoreValues.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
"github.com/google/wire"
2424
)
2525

26-
var AppStoreValuesWireSet = wire.NewSet(
26+
var WireSet = wire.NewSet(
2727
NewAppStoreValuesRouterImpl,
2828
wire.Bind(new(AppStoreValuesRouter), new(*AppStoreValuesRouterImpl)),
2929
NewAppStoreValuesRestHandlerImpl,

api/appStore/wire_appStoreWireSet.go

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,24 @@ import (
2121
"github.com/google/wire"
2222
)
2323

24-
var AppStoreWireSet = wire.NewSet(
24+
var EAModeWireSet = wire.NewSet(
2525

2626
service.NewDeletePostProcessorImpl,
2727
wire.Bind(new(service.DeletePostProcessor), new(*service.DeletePostProcessorImpl)),
2828

2929
service.NewAppAppStoreValidatorImpl,
3030
wire.Bind(new(service.AppStoreValidator), new(*service.AppStoreValidatorImpl)),
3131
)
32+
33+
var FullModeWireSet = wire.NewSet(
34+
EAModeWireSet,
35+
36+
NewAppStoreStatusTimelineRestHandlerImpl,
37+
wire.Bind(new(AppStoreStatusTimelineRestHandler), new(*AppStoreStatusTimelineRestHandlerImpl)),
38+
39+
NewInstalledAppRestHandlerImpl,
40+
wire.Bind(new(InstalledAppRestHandler), new(*InstalledAppRestHandlerImpl)),
41+
42+
NewAppStoreRouterImpl,
43+
wire.Bind(new(AppStoreRouter), new(*AppStoreRouterImpl)),
44+
)

api/restHandler/BulkUpdateRestHandler.go

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,13 @@ import (
3232
"github.com/devtron-labs/devtron/client/gitSensor"
3333
"github.com/devtron-labs/devtron/internal/sql/repository/helper"
3434
"github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig"
35-
"github.com/devtron-labs/devtron/internal/sql/repository/security"
3635
"github.com/devtron-labs/devtron/pkg/appClone"
3736
"github.com/devtron-labs/devtron/pkg/appWorkflow"
3837
"github.com/devtron-labs/devtron/pkg/auth/authorisation/casbin"
3938
"github.com/devtron-labs/devtron/pkg/auth/user"
4039
"github.com/devtron-labs/devtron/pkg/bulkAction"
4140
"github.com/devtron-labs/devtron/pkg/chart"
4241
"github.com/devtron-labs/devtron/pkg/pipeline"
43-
security2 "github.com/devtron-labs/devtron/pkg/security"
4442
"github.com/devtron-labs/devtron/pkg/team"
4543
"github.com/devtron-labs/devtron/util/argo"
4644
"github.com/devtron-labs/devtron/util/rbac"
@@ -84,8 +82,6 @@ type BulkUpdateRestHandlerImpl struct {
8482
cdHandelr pipeline.CdHandler
8583
appCloneService appClone.AppCloneService
8684
materialRepository repository.MaterialRepository
87-
policyService security2.PolicyService
88-
scanResultRepository security.ImageScanResultRepository
8985
argoUserService argo.ArgoUserService
9086
}
9187

@@ -106,8 +102,7 @@ func NewBulkUpdateRestHandlerImpl(pipelineBuilder pipeline.PipelineBuilder, logg
106102
cdHandelr pipeline.CdHandler,
107103
appCloneService appClone.AppCloneService,
108104
appWorkflowService appWorkflow.AppWorkflowService,
109-
materialRepository repository.MaterialRepository, policyService security2.PolicyService,
110-
scanResultRepository security.ImageScanResultRepository,
105+
materialRepository repository.MaterialRepository,
111106
argoUserService argo.ArgoUserService) *BulkUpdateRestHandlerImpl {
112107
return &BulkUpdateRestHandlerImpl{
113108
pipelineBuilder: pipelineBuilder,
@@ -132,8 +127,6 @@ func NewBulkUpdateRestHandlerImpl(pipelineBuilder pipeline.PipelineBuilder, logg
132127
appCloneService: appCloneService,
133128
appWorkflowService: appWorkflowService,
134129
materialRepository: materialRepository,
135-
policyService: policyService,
136-
scanResultRepository: scanResultRepository,
137130
argoUserService: argoUserService,
138131
}
139132
}

api/restHandler/ImageScanRestHandler.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@ import (
2020
"encoding/json"
2121
"fmt"
2222
"github.com/devtron-labs/devtron/pkg/cluster/environment"
23-
securityBean "github.com/devtron-labs/devtron/pkg/security/bean"
23+
"github.com/devtron-labs/devtron/pkg/policyGovernance/security/imageScanning"
24+
securityBean "github.com/devtron-labs/devtron/pkg/policyGovernance/security/imageScanning/bean"
25+
security2 "github.com/devtron-labs/devtron/pkg/policyGovernance/security/imageScanning/repository"
2426
"net/http"
2527
"strconv"
2628

2729
"github.com/devtron-labs/devtron/api/restHandler/common"
28-
security2 "github.com/devtron-labs/devtron/internal/sql/repository/security"
2930
"github.com/devtron-labs/devtron/internal/util"
3031
"github.com/devtron-labs/devtron/pkg/auth/authorisation/casbin"
3132
"github.com/devtron-labs/devtron/pkg/auth/user"
32-
"github.com/devtron-labs/devtron/pkg/security"
3333
"github.com/devtron-labs/devtron/util/rbac"
3434
"go.uber.org/zap"
3535
)
@@ -49,15 +49,15 @@ type ImageScanRestHandler interface {
4949

5050
type ImageScanRestHandlerImpl struct {
5151
logger *zap.SugaredLogger
52-
imageScanService security.ImageScanService
52+
imageScanService imageScanning.ImageScanService
5353
userService user.UserService
5454
enforcer casbin.Enforcer
5555
enforcerUtil rbac.EnforcerUtil
5656
environmentService environment.EnvironmentService
5757
}
5858

5959
func NewImageScanRestHandlerImpl(logger *zap.SugaredLogger,
60-
imageScanService security.ImageScanService, userService user.UserService, enforcer casbin.Enforcer,
60+
imageScanService imageScanning.ImageScanService, userService user.UserService, enforcer casbin.Enforcer,
6161
enforcerUtil rbac.EnforcerUtil, environmentService environment.EnvironmentService) *ImageScanRestHandlerImpl {
6262
return &ImageScanRestHandlerImpl{
6363
logger: logger,

api/restHandler/PolicyRestHandler.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@ import (
2020
"encoding/json"
2121
"errors"
2222
"fmt"
23-
securityBean "github.com/devtron-labs/devtron/internal/sql/repository/security/bean"
2423
"github.com/devtron-labs/devtron/pkg/cluster/environment"
24+
"github.com/devtron-labs/devtron/pkg/policyGovernance/security/imageScanning"
25+
securityBean "github.com/devtron-labs/devtron/pkg/policyGovernance/security/imageScanning/repository/bean"
2526
"net/http"
2627
"strconv"
2728

2829
"github.com/devtron-labs/devtron/api/bean"
2930
"github.com/devtron-labs/devtron/api/restHandler/common"
3031
"github.com/devtron-labs/devtron/pkg/auth/authorisation/casbin"
3132
user2 "github.com/devtron-labs/devtron/pkg/auth/user"
32-
"github.com/devtron-labs/devtron/pkg/security"
3333
"github.com/devtron-labs/devtron/util/rbac"
3434
"go.uber.org/zap"
3535
)
@@ -42,7 +42,7 @@ type PolicyRestHandler interface {
4242
}
4343
type PolicyRestHandlerImpl struct {
4444
logger *zap.SugaredLogger
45-
policyService security.PolicyService
45+
policyService imageScanning.PolicyService
4646
userService user2.UserService
4747
userAuthService user2.UserAuthService
4848
enforcer casbin.Enforcer
@@ -51,7 +51,7 @@ type PolicyRestHandlerImpl struct {
5151
}
5252

5353
func NewPolicyRestHandlerImpl(logger *zap.SugaredLogger,
54-
policyService security.PolicyService,
54+
policyService imageScanning.PolicyService,
5555
userService user2.UserService, userAuthService user2.UserAuthService,
5656
enforcer casbin.Enforcer,
5757
enforcerUtil rbac.EnforcerUtil, environmentService environment.EnvironmentService) *PolicyRestHandlerImpl {
@@ -302,7 +302,7 @@ func (impl PolicyRestHandlerImpl) GetPolicy(w http.ResponseWriter, r *http.Reque
302302
func (impl PolicyRestHandlerImpl) VerifyImage(w http.ResponseWriter, r *http.Request) {
303303
decoder := json.NewDecoder(r.Body)
304304

305-
var req security.VerifyImageRequest
305+
var req imageScanning.VerifyImageRequest
306306

307307
err := decoder.Decode(&req)
308308
if err != nil {

api/restHandler/app/appInfo/AppInfoRestHandler.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ func (handler AppInfoRestHandlerImpl) GetHelmAppMetaInfo(w http.ResponseWriter,
147147
appIdReq := vars["appId"]
148148
appIdSplit := strings.Split(appIdReq, "|")
149149

150-
handler.logger.Infow("request payload, GetHelmAppMetaInfo", appIdReq)
150+
handler.logger.Infow("request payload, GetHelmAppMetaInfo", "appIdReq", appIdReq)
151151
if len(appIdSplit) > 1 {
152152

153153
appIdDecoded, err := handler.helmAppService.DecodeAppId(appIdReq)

api/restHandler/app/pipeline/configure/DeploymentPipelineRestHandler.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"fmt"
2424
devtronAppGitOpConfigBean "github.com/devtron-labs/devtron/pkg/chart/gitOpsConfig/bean"
2525
chartRefBean "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef/bean"
26+
"github.com/devtron-labs/devtron/pkg/policyGovernance/security/imageScanning/repository"
2627
"io"
2728
"net/http"
2829
"strconv"
@@ -33,7 +34,6 @@ import (
3334
"github.com/devtron-labs/devtron/api/restHandler/common"
3435
"github.com/devtron-labs/devtron/internal/sql/repository/helper"
3536
"github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig"
36-
"github.com/devtron-labs/devtron/internal/sql/repository/security"
3737
"github.com/devtron-labs/devtron/internal/util"
3838
"github.com/devtron-labs/devtron/pkg/auth/authorisation/casbin"
3939
"github.com/devtron-labs/devtron/pkg/bean"
@@ -1390,14 +1390,14 @@ func (handler *PipelineConfigRestHandlerImpl) GetArtifactsByCDPipeline(w http.Re
13901390
}
13911391

13921392
// get image scan results from DB for given digests
1393-
imageScanResults, err := handler.scanResultRepository.FindByImageDigests(digests)
1393+
imageScanResults, err := handler.imageScanResultReadService.FindByImageDigests(digests)
13941394
// ignore error
13951395
if err != nil && err != pg.ErrNoRows {
13961396
handler.Logger.Errorw("service err, FindByImageDigests", "err", err, "cdPipelineId", cdPipelineId, "stage", stage, "digests", digests)
13971397
}
13981398

13991399
// build digest vs cve-stores
1400-
digestVsCveStores := make(map[string][]*security.CveStore)
1400+
digestVsCveStores := make(map[string][]*repository.CveStore)
14011401
for _, result := range imageScanResults {
14021402
imageHash := result.ImageScanExecutionHistory.ImageHash
14031403

@@ -1406,7 +1406,7 @@ func (handler *PipelineConfigRestHandlerImpl) GetArtifactsByCDPipeline(w http.Re
14061406

14071407
// configuring size as len of ImageScanExecutionResult assuming all the
14081408
//scan results could belong to a single hash
1409-
cveStores := make([]*security.CveStore, 0, len(imageScanResults))
1409+
cveStores := make([]*repository.CveStore, 0, len(imageScanResults))
14101410
cveStores = append(cveStores, &result.CveStore)
14111411
digestVsCveStores[imageHash] = cveStores
14121412

0 commit comments

Comments
 (0)