From 3e4a8cafecf7392314da1f0c55c911f1faddb75a Mon Sep 17 00:00:00 2001 From: prakhar katiyar Date: Thu, 15 May 2025 18:54:14 +0530 Subject: [PATCH 1/5] pending scan bypass --- image-scanner/config.md | 3 ++- image-scanner/env_gen.md | 1 + image-scanner/pkg/security/ImageScanService.go | 17 ++++++++++++----- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/image-scanner/config.md b/image-scanner/config.md index 9fbe61721..959e3afa0 100644 --- a/image-scanner/config.md +++ b/image-scanner/config.md @@ -1,9 +1,10 @@ -# IMAGESCANER CONFIGMAP +# IMAGESCANER CONFIGMAP | Variable Name | Value | Description | |---------------------|----------------------------------------|-------------------------------| | CLAIR_ADDR | clair-dcd.devtroncd:6060 | For connecting to Clair if it's enabled | +| ENABLE_PROGRESSING_SCAN_CHECK | "true" | Flag to enable/disable checking for progressing scans at startup (set to "false" to improve startup performance) | | CLIENT_ID | client-2 | Client ID | | NATS_SERVER_HOST | nats://devtron-nats.devtroncd:4222 | For connecting to NATS | | PG_LOG_QUERY | "false" | PostgreSQL Query Logging (false to disable) | diff --git a/image-scanner/env_gen.md b/image-scanner/env_gen.md index 7d8c12043..65d49aad9 100644 --- a/image-scanner/env_gen.md +++ b/image-scanner/env_gen.md @@ -9,6 +9,7 @@ | CONSUMER_CONFIG_JSON | string | | | | false | | DEFAULT_LOG_TIME_LIMIT | int64 |1 | | | false | | ENABLE_STATSVIZ | bool |false | | | false | + | ENABLE_PROGRESSING_SCAN_CHECK | bool |true | Flag to enable/disable checking for progressing scans at startup | false | false | | IMAGE_SCAN_ASYNC_TIMEOUT | int |3 | | | false | | IMAGE_SCAN_TIMEOUT | int |10 | | | false | | IMAGE_SCAN_TRY_COUNT | int |1 | | | false | diff --git a/image-scanner/pkg/security/ImageScanService.go b/image-scanner/pkg/security/ImageScanService.go index be0d2ceac..55c5616c0 100644 --- a/image-scanner/pkg/security/ImageScanService.go +++ b/image-scanner/pkg/security/ImageScanService.go @@ -111,7 +111,13 @@ func NewImageScanServiceImpl(logger *zap.SugaredLogger, scanHistoryRepository re RegistryIndexMappingRepository: registryIndexMappingRepository, CliCommandEnv: os.Environ(), } - imageScanService.HandleProgressingScans() + // Only check for progressing scans if the flag is enabled + if imageScanConfig.EnableProgressingScanCheck { + logger.Infow("checking for progressing scans at startup") + imageScanService.HandleProgressingScans() + } else { + logger.Infow("skipping progressing scans check at startup as it is disabled") + } return imageScanService } @@ -125,10 +131,11 @@ func GetImageScannerConfig() (*ImageScanConfig, error) { } type ImageScanConfig struct { - ScannerType string `env:"SCANNER_TYPE" envDefault:""` - ScanTryCount int `env:"IMAGE_SCAN_TRY_COUNT" envDefault:"1"` - ScanImageTimeout int `env:"IMAGE_SCAN_TIMEOUT" envDefault:"10"` // Time is considered in minutes - ScanImageAsyncTimeout int `env:"IMAGE_SCAN_ASYNC_TIMEOUT" envDefault:"3"` // Time is considered in minutes + ScannerType string `env:"SCANNER_TYPE" envDefault:""` + ScanTryCount int `env:"IMAGE_SCAN_TRY_COUNT" envDefault:"1"` + ScanImageTimeout int `env:"IMAGE_SCAN_TIMEOUT" envDefault:"10"` // Time is considered in minutes + ScanImageAsyncTimeout int `env:"IMAGE_SCAN_ASYNC_TIMEOUT" envDefault:"3"` // Time is considered in minutes + EnableProgressingScanCheck bool `env:"ENABLE_PROGRESSING_SCAN_CHECK" envDefault:"true"` // Flag to enable/disable checking for progressing scans at startup } func (impl *ImageScanServiceImpl) GetImageToBeScannedAndFetchCliEnv(scanEvent *bean2.ImageScanEvent) (string, error) { From bbc8a3a38bfcdadf91cca8d295ee61449a1818ca Mon Sep 17 00:00:00 2001 From: prakhar katiyar Date: Thu, 15 May 2025 18:56:13 +0530 Subject: [PATCH 2/5] pending scan bypass --- image-scanner/env_gen.json | 2 +- image-scanner/env_gen.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/image-scanner/env_gen.json b/image-scanner/env_gen.json index 1d5fbcfc1..4c0437777 100644 --- a/image-scanner/env_gen.json +++ b/image-scanner/env_gen.json @@ -1 +1 @@ -[{"Category":"DEVTRON","Fields":[{"Env":"APP","EnvType":"string","EnvValue":"image-scanner","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"CLAIR_ADDR","EnvType":"string","EnvValue":"http://localhost:6060","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"CLAIR_TIMEOUT","EnvType":"int","EnvValue":"30","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"CONSUMER_CONFIG_JSON","EnvType":"string","EnvValue":"","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"DEFAULT_LOG_TIME_LIMIT","EnvType":"int64","EnvValue":"1","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"ENABLE_STATSVIZ","EnvType":"bool","EnvValue":"false","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"IMAGE_SCAN_ASYNC_TIMEOUT","EnvType":"int","EnvValue":"3","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"IMAGE_SCAN_TIMEOUT","EnvType":"int","EnvValue":"10","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"IMAGE_SCAN_TRY_COUNT","EnvType":"int","EnvValue":"1","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"JSON_OUTPUT","EnvType":"bool","EnvValue":"true","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"LOG_LEVEL","EnvType":"int","EnvValue":"0","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"NATS_MSG_ACK_WAIT_IN_SECS","EnvType":"int","EnvValue":"120","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"NATS_MSG_BUFFER_SIZE","EnvType":"int","EnvValue":"-1","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"NATS_MSG_MAX_AGE","EnvType":"int","EnvValue":"86400","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"NATS_MSG_PROCESSING_BATCH_SIZE","EnvType":"int","EnvValue":"1","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"NATS_MSG_REPLICAS","EnvType":"int","EnvValue":"0","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"NATS_SERVER_HOST","EnvType":"string","EnvValue":"nats://devtron-nats.devtroncd:4222","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_ADDR","EnvType":"string","EnvValue":"127.0.0.1","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_DATABASE","EnvType":"string","EnvValue":"orchestrator","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_EXPORT_PROM_METRICS","EnvType":"bool","EnvValue":"true","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_LOG_ALL_FAILURE_QUERIES","EnvType":"bool","EnvValue":"true","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_LOG_ALL_QUERY","EnvType":"bool","EnvValue":"false","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_LOG_SLOW_QUERY","EnvType":"bool","EnvValue":"true","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_PASSWORD","EnvType":"string","EnvValue":"","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_PORT","EnvType":"string","EnvValue":"5432","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_QUERY_DUR_THRESHOLD","EnvType":"int64","EnvValue":"5000","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_USER","EnvType":"string","EnvValue":"","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PROJECT_ID","EnvType":"string","EnvValue":"projects/devtron-project-id","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"SCANNER_TYPE","EnvType":"string","EnvValue":"","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"SERVER_HTTP_PORT","EnvType":"int","EnvValue":"8080","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"STREAM_CONFIG_JSON","EnvType":"string","EnvValue":"","EnvDescription":"","Example":"","Deprecated":"false"}]}] \ No newline at end of file +[{"Category":"DEVTRON","Fields":[{"Env":"APP","EnvType":"string","EnvValue":"image-scanner","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"CLAIR_ADDR","EnvType":"string","EnvValue":"http://localhost:6060","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"CLAIR_TIMEOUT","EnvType":"int","EnvValue":"30","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"CONSUMER_CONFIG_JSON","EnvType":"string","EnvValue":"","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"DEFAULT_LOG_TIME_LIMIT","EnvType":"int64","EnvValue":"1","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"ENABLE_PROGRESSING_SCAN_CHECK","EnvType":"bool","EnvValue":"true","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"ENABLE_STATSVIZ","EnvType":"bool","EnvValue":"false","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"IMAGE_SCAN_ASYNC_TIMEOUT","EnvType":"int","EnvValue":"3","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"IMAGE_SCAN_TIMEOUT","EnvType":"int","EnvValue":"10","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"IMAGE_SCAN_TRY_COUNT","EnvType":"int","EnvValue":"1","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"JSON_OUTPUT","EnvType":"bool","EnvValue":"true","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"LOG_LEVEL","EnvType":"int","EnvValue":"0","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"NATS_MSG_ACK_WAIT_IN_SECS","EnvType":"int","EnvValue":"120","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"NATS_MSG_BUFFER_SIZE","EnvType":"int","EnvValue":"-1","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"NATS_MSG_MAX_AGE","EnvType":"int","EnvValue":"86400","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"NATS_MSG_PROCESSING_BATCH_SIZE","EnvType":"int","EnvValue":"1","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"NATS_MSG_REPLICAS","EnvType":"int","EnvValue":"0","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"NATS_SERVER_HOST","EnvType":"string","EnvValue":"nats://devtron-nats.devtroncd:4222","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_ADDR","EnvType":"string","EnvValue":"127.0.0.1","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_DATABASE","EnvType":"string","EnvValue":"orchestrator","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_EXPORT_PROM_METRICS","EnvType":"bool","EnvValue":"true","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_LOG_ALL_FAILURE_QUERIES","EnvType":"bool","EnvValue":"true","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_LOG_ALL_QUERY","EnvType":"bool","EnvValue":"false","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_LOG_SLOW_QUERY","EnvType":"bool","EnvValue":"true","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_PASSWORD","EnvType":"string","EnvValue":"","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_PORT","EnvType":"string","EnvValue":"5432","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_QUERY_DUR_THRESHOLD","EnvType":"int64","EnvValue":"5000","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PG_USER","EnvType":"string","EnvValue":"","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"PROJECT_ID","EnvType":"string","EnvValue":"projects/devtron-project-id","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"SCANNER_TYPE","EnvType":"string","EnvValue":"","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"SERVER_HTTP_PORT","EnvType":"int","EnvValue":"8080","EnvDescription":"","Example":"","Deprecated":"false"},{"Env":"STREAM_CONFIG_JSON","EnvType":"string","EnvValue":"","EnvDescription":"","Example":"","Deprecated":"false"}]}] \ No newline at end of file diff --git a/image-scanner/env_gen.md b/image-scanner/env_gen.md index 65d49aad9..eac53ee9c 100644 --- a/image-scanner/env_gen.md +++ b/image-scanner/env_gen.md @@ -8,8 +8,8 @@ | CLAIR_TIMEOUT | int |30 | | | false | | CONSUMER_CONFIG_JSON | string | | | | false | | DEFAULT_LOG_TIME_LIMIT | int64 |1 | | | false | + | ENABLE_PROGRESSING_SCAN_CHECK | bool |true | | | false | | ENABLE_STATSVIZ | bool |false | | | false | - | ENABLE_PROGRESSING_SCAN_CHECK | bool |true | Flag to enable/disable checking for progressing scans at startup | false | false | | IMAGE_SCAN_ASYNC_TIMEOUT | int |3 | | | false | | IMAGE_SCAN_TIMEOUT | int |10 | | | false | | IMAGE_SCAN_TRY_COUNT | int |1 | | | false | From 1f57945dd6f23ebe15b610cce00c02a76241ea0f Mon Sep 17 00:00:00 2001 From: Ash-exp Date: Fri, 16 May 2025 14:56:29 +0530 Subject: [PATCH 3/5] fix: Remove funtionName from labels from pg_query_duration_seconds_* metrics --- common-lib/utils/SqlUtil.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/common-lib/utils/SqlUtil.go b/common-lib/utils/SqlUtil.go index 3bdec67be..bc5dbeba1 100644 --- a/common-lib/utils/SqlUtil.go +++ b/common-lib/utils/SqlUtil.go @@ -85,31 +85,31 @@ func ExecutePGQueryProcessor(cfg bean.PgQueryMonitoringConfig, event bean.PgQuer } else { status = SUCCESS } - PgQueryDuration.WithLabelValues(status, cfg.ServiceName, event.FuncName, getErrorType(pgError).String()).Observe(queryDuration.Seconds()) + PgQueryDuration.WithLabelValues(status, cfg.ServiceName, getErrorType(pgError).String()).Observe(queryDuration.Seconds()) } // Log pg query if enabled logThresholdQueries := cfg.LogSlowQuery && queryDuration.Milliseconds() > cfg.QueryDurationThreshold logNetworkFailure := queryError && cfg.LogAllFailureQueries && isNetworkError(pgError) if logNetworkFailure { - log.Println(fmt.Sprintf("%s - query time", PgNetworkErrorLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query, "pgError", pgError) + log.Println(fmt.Sprintf("%s - query time", PgNetworkErrorLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query, "pgError", pgError) } logFailureQuery := queryError && cfg.LogAllFailureQueries && !isNetworkError(pgError) if logFailureQuery { - log.Println(fmt.Sprintf("%s - query time", PgQueryFailLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query, "pgError", pgError) + log.Println(fmt.Sprintf("%s - query time", PgQueryFailLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query, "pgError", pgError) } if logThresholdQueries { - log.Println(fmt.Sprintf("%s - query time", PgQuerySlowLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query) + log.Println(fmt.Sprintf("%s - query time", PgQuerySlowLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query) } if cfg.LogAllQuery { - log.Println("query time", "duration", queryDuration.Seconds(), "query", event.Query) + log.Println("query time", "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query) } } var PgQueryDuration = promauto.NewHistogramVec(prometheus.HistogramOpts{ Name: "pg_query_duration_seconds", Help: "Duration of PG queries", -}, []string{"status", "serviceName", "functionName", "errorType"}) +}, []string{"status", "serviceName", "errorType"}) func getErrorType(err error) ErrorType { if err == nil { From a8cc2e4a33e53f149890bc23b4a0e09fc5b0911c Mon Sep 17 00:00:00 2001 From: Ash-exp Date: Fri, 16 May 2025 14:59:13 +0530 Subject: [PATCH 4/5] chore: dependency version updated to 'origin/fix-pg-metrix-labels' --- chart-sync/go.mod | 2 +- chart-sync/go.sum | 4 ++-- .../devtron-labs/common-lib/utils/SqlUtil.go | 12 ++++++------ chart-sync/vendor/modules.txt | 4 ++-- ci-runner/go.mod | 2 +- ci-runner/go.sum | 4 ++-- .../devtron-labs/common-lib/utils/SqlUtil.go | 12 ++++++------ ci-runner/vendor/modules.txt | 4 ++-- git-sensor/go.mod | 2 +- git-sensor/go.sum | 4 ++-- .../devtron-labs/common-lib/utils/SqlUtil.go | 12 ++++++------ git-sensor/vendor/modules.txt | 4 ++-- image-scanner/go.mod | 2 +- image-scanner/go.sum | 4 ++-- .../devtron-labs/common-lib/utils/SqlUtil.go | 12 ++++++------ image-scanner/vendor/modules.txt | 4 ++-- kubelink/go.mod | 2 +- kubelink/go.sum | 4 ++-- .../devtron-labs/common-lib/utils/SqlUtil.go | 12 ++++++------ kubelink/vendor/modules.txt | 4 ++-- kubewatch/go.mod | 2 +- kubewatch/go.sum | 4 ++-- .../devtron-labs/common-lib/utils/SqlUtil.go | 12 ++++++------ kubewatch/vendor/modules.txt | 4 ++-- lens/go.mod | 2 +- lens/go.sum | 4 ++-- .../devtron-labs/common-lib/utils/SqlUtil.go | 12 ++++++------ lens/vendor/modules.txt | 4 ++-- 28 files changed, 77 insertions(+), 77 deletions(-) diff --git a/chart-sync/go.mod b/chart-sync/go.mod index f80e7a067..4bd60213a 100644 --- a/chart-sync/go.mod +++ b/chart-sync/go.mod @@ -5,7 +5,7 @@ go 1.22.4 toolchain go1.22.6 replace ( - github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 + github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 helm.sh/helm/v3 v3.14.3 => github.com/devtron-labs/helm/v3 v3.14.1-0.20240401080259-90238cf69e42 ) diff --git a/chart-sync/go.sum b/chart-sync/go.sum index 9042e695a..b02a19bee 100644 --- a/chart-sync/go.sum +++ b/chart-sync/go.sum @@ -54,8 +54,8 @@ github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 h1:zGAASPlhYqEetPLnnhm58+QAJXdzoAcMojQVr+8dFTo= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 h1:9CFeiv7oWP6f5OJN6Jq1FJpPndxyx0GKAEoKORWxvkw= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= github.com/devtron-labs/helm/v3 v3.14.1-0.20240401080259-90238cf69e42 h1:pJmK44QaSztOiZe0iQHNf0sdy5KwkAeceydyhOG4RaY= github.com/devtron-labs/helm/v3 v3.14.1-0.20240401080259-90238cf69e42/go.mod h1:v6myVbyseSBJTzhmeE39UcPLNv6cQK6qss3dvgAySaE= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= diff --git a/chart-sync/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go b/chart-sync/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go index 3bdec67be..bc5dbeba1 100644 --- a/chart-sync/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go +++ b/chart-sync/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go @@ -85,31 +85,31 @@ func ExecutePGQueryProcessor(cfg bean.PgQueryMonitoringConfig, event bean.PgQuer } else { status = SUCCESS } - PgQueryDuration.WithLabelValues(status, cfg.ServiceName, event.FuncName, getErrorType(pgError).String()).Observe(queryDuration.Seconds()) + PgQueryDuration.WithLabelValues(status, cfg.ServiceName, getErrorType(pgError).String()).Observe(queryDuration.Seconds()) } // Log pg query if enabled logThresholdQueries := cfg.LogSlowQuery && queryDuration.Milliseconds() > cfg.QueryDurationThreshold logNetworkFailure := queryError && cfg.LogAllFailureQueries && isNetworkError(pgError) if logNetworkFailure { - log.Println(fmt.Sprintf("%s - query time", PgNetworkErrorLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query, "pgError", pgError) + log.Println(fmt.Sprintf("%s - query time", PgNetworkErrorLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query, "pgError", pgError) } logFailureQuery := queryError && cfg.LogAllFailureQueries && !isNetworkError(pgError) if logFailureQuery { - log.Println(fmt.Sprintf("%s - query time", PgQueryFailLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query, "pgError", pgError) + log.Println(fmt.Sprintf("%s - query time", PgQueryFailLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query, "pgError", pgError) } if logThresholdQueries { - log.Println(fmt.Sprintf("%s - query time", PgQuerySlowLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query) + log.Println(fmt.Sprintf("%s - query time", PgQuerySlowLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query) } if cfg.LogAllQuery { - log.Println("query time", "duration", queryDuration.Seconds(), "query", event.Query) + log.Println("query time", "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query) } } var PgQueryDuration = promauto.NewHistogramVec(prometheus.HistogramOpts{ Name: "pg_query_duration_seconds", Help: "Duration of PG queries", -}, []string{"status", "serviceName", "functionName", "errorType"}) +}, []string{"status", "serviceName", "errorType"}) func getErrorType(err error) ErrorType { if err == nil { diff --git a/chart-sync/vendor/modules.txt b/chart-sync/vendor/modules.txt index a79c78c72..0f82afa68 100644 --- a/chart-sync/vendor/modules.txt +++ b/chart-sync/vendor/modules.txt @@ -93,7 +93,7 @@ github.com/containerd/platforms # github.com/davecgh/go-spew v1.1.1 ## explicit github.com/davecgh/go-spew/spew -# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 ## explicit; go 1.21 github.com/devtron-labs/common-lib/constants github.com/devtron-labs/common-lib/fetchAllEnv @@ -791,4 +791,4 @@ sigs.k8s.io/structured-merge-diff/v4/value # sigs.k8s.io/yaml v1.3.0 ## explicit; go 1.12 sigs.k8s.io/yaml -# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 diff --git a/ci-runner/go.mod b/ci-runner/go.mod index 28897ae04..b0d6675dc 100644 --- a/ci-runner/go.mod +++ b/ci-runner/go.mod @@ -4,7 +4,7 @@ go 1.21 toolchain go1.21.8 -replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 require ( github.com/Knetic/govaluate v3.0.0+incompatible diff --git a/ci-runner/go.sum b/ci-runner/go.sum index 87c84a3fe..0a5ca7164 100644 --- a/ci-runner/go.sum +++ b/ci-runner/go.sum @@ -95,8 +95,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 h1:zGAASPlhYqEetPLnnhm58+QAJXdzoAcMojQVr+8dFTo= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 h1:9CFeiv7oWP6f5OJN6Jq1FJpPndxyx0GKAEoKORWxvkw= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/docker/cli v24.0.6+incompatible h1:fF+XCQCgJjjQNIMjzaSmiKJSCcfcXb3TWTcc7GAneOY= diff --git a/ci-runner/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go b/ci-runner/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go index 3bdec67be..bc5dbeba1 100644 --- a/ci-runner/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go +++ b/ci-runner/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go @@ -85,31 +85,31 @@ func ExecutePGQueryProcessor(cfg bean.PgQueryMonitoringConfig, event bean.PgQuer } else { status = SUCCESS } - PgQueryDuration.WithLabelValues(status, cfg.ServiceName, event.FuncName, getErrorType(pgError).String()).Observe(queryDuration.Seconds()) + PgQueryDuration.WithLabelValues(status, cfg.ServiceName, getErrorType(pgError).String()).Observe(queryDuration.Seconds()) } // Log pg query if enabled logThresholdQueries := cfg.LogSlowQuery && queryDuration.Milliseconds() > cfg.QueryDurationThreshold logNetworkFailure := queryError && cfg.LogAllFailureQueries && isNetworkError(pgError) if logNetworkFailure { - log.Println(fmt.Sprintf("%s - query time", PgNetworkErrorLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query, "pgError", pgError) + log.Println(fmt.Sprintf("%s - query time", PgNetworkErrorLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query, "pgError", pgError) } logFailureQuery := queryError && cfg.LogAllFailureQueries && !isNetworkError(pgError) if logFailureQuery { - log.Println(fmt.Sprintf("%s - query time", PgQueryFailLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query, "pgError", pgError) + log.Println(fmt.Sprintf("%s - query time", PgQueryFailLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query, "pgError", pgError) } if logThresholdQueries { - log.Println(fmt.Sprintf("%s - query time", PgQuerySlowLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query) + log.Println(fmt.Sprintf("%s - query time", PgQuerySlowLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query) } if cfg.LogAllQuery { - log.Println("query time", "duration", queryDuration.Seconds(), "query", event.Query) + log.Println("query time", "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query) } } var PgQueryDuration = promauto.NewHistogramVec(prometheus.HistogramOpts{ Name: "pg_query_duration_seconds", Help: "Duration of PG queries", -}, []string{"status", "serviceName", "functionName", "errorType"}) +}, []string{"status", "serviceName", "errorType"}) func getErrorType(err error) ErrorType { if err == nil { diff --git a/ci-runner/vendor/modules.txt b/ci-runner/vendor/modules.txt index 4548a51f1..7eac4e4c8 100644 --- a/ci-runner/vendor/modules.txt +++ b/ci-runner/vendor/modules.txt @@ -248,7 +248,7 @@ github.com/cespare/xxhash/v2 # github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc ## explicit github.com/davecgh/go-spew/spew -# github.com/devtron-labs/common-lib v0.19.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +# github.com/devtron-labs/common-lib v0.19.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 ## explicit; go 1.21 github.com/devtron-labs/common-lib/blob-storage github.com/devtron-labs/common-lib/constants @@ -991,4 +991,4 @@ sigs.k8s.io/structured-merge-diff/v4/value # sigs.k8s.io/yaml v1.3.0 ## explicit; go 1.12 sigs.k8s.io/yaml -# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 diff --git a/git-sensor/go.mod b/git-sensor/go.mod index c9a9573f1..477d509f8 100644 --- a/git-sensor/go.mod +++ b/git-sensor/go.mod @@ -4,7 +4,7 @@ go 1.21 toolchain go1.22.4 -replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 require ( github.com/caarlos0/env v3.5.0+incompatible diff --git a/git-sensor/go.sum b/git-sensor/go.sum index 5889b8fb7..f412a42d4 100644 --- a/git-sensor/go.sum +++ b/git-sensor/go.sum @@ -27,8 +27,8 @@ github.com/cyphar/filepath-securejoin v0.3.6/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGL github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 h1:zGAASPlhYqEetPLnnhm58+QAJXdzoAcMojQVr+8dFTo= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 h1:9CFeiv7oWP6f5OJN6Jq1FJpPndxyx0GKAEoKORWxvkw= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= github.com/devtron-labs/protos v0.0.3-0.20250323220609-ecf8a0f7305e h1:U6UdYbW8a7xn5IzFPd8cywjVVPfutGJCudjePAfL/Hs= github.com/devtron-labs/protos v0.0.3-0.20250323220609-ecf8a0f7305e/go.mod h1:1TqULGlTey+VNhAu/ag7NJuUvByJemkqodsc9L5PHJk= github.com/docker/cli v24.0.6+incompatible h1:fF+XCQCgJjjQNIMjzaSmiKJSCcfcXb3TWTcc7GAneOY= diff --git a/git-sensor/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go b/git-sensor/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go index 3bdec67be..bc5dbeba1 100644 --- a/git-sensor/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go +++ b/git-sensor/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go @@ -85,31 +85,31 @@ func ExecutePGQueryProcessor(cfg bean.PgQueryMonitoringConfig, event bean.PgQuer } else { status = SUCCESS } - PgQueryDuration.WithLabelValues(status, cfg.ServiceName, event.FuncName, getErrorType(pgError).String()).Observe(queryDuration.Seconds()) + PgQueryDuration.WithLabelValues(status, cfg.ServiceName, getErrorType(pgError).String()).Observe(queryDuration.Seconds()) } // Log pg query if enabled logThresholdQueries := cfg.LogSlowQuery && queryDuration.Milliseconds() > cfg.QueryDurationThreshold logNetworkFailure := queryError && cfg.LogAllFailureQueries && isNetworkError(pgError) if logNetworkFailure { - log.Println(fmt.Sprintf("%s - query time", PgNetworkErrorLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query, "pgError", pgError) + log.Println(fmt.Sprintf("%s - query time", PgNetworkErrorLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query, "pgError", pgError) } logFailureQuery := queryError && cfg.LogAllFailureQueries && !isNetworkError(pgError) if logFailureQuery { - log.Println(fmt.Sprintf("%s - query time", PgQueryFailLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query, "pgError", pgError) + log.Println(fmt.Sprintf("%s - query time", PgQueryFailLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query, "pgError", pgError) } if logThresholdQueries { - log.Println(fmt.Sprintf("%s - query time", PgQuerySlowLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query) + log.Println(fmt.Sprintf("%s - query time", PgQuerySlowLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query) } if cfg.LogAllQuery { - log.Println("query time", "duration", queryDuration.Seconds(), "query", event.Query) + log.Println("query time", "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query) } } var PgQueryDuration = promauto.NewHistogramVec(prometheus.HistogramOpts{ Name: "pg_query_duration_seconds", Help: "Duration of PG queries", -}, []string{"status", "serviceName", "functionName", "errorType"}) +}, []string{"status", "serviceName", "errorType"}) func getErrorType(err error) ErrorType { if err == nil { diff --git a/git-sensor/vendor/modules.txt b/git-sensor/vendor/modules.txt index 13bc8f8fc..ae0a4c6d8 100644 --- a/git-sensor/vendor/modules.txt +++ b/git-sensor/vendor/modules.txt @@ -66,7 +66,7 @@ github.com/cyphar/filepath-securejoin # github.com/davecgh/go-spew v1.1.1 ## explicit github.com/davecgh/go-spew/spew -# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 ## explicit; go 1.21 github.com/devtron-labs/common-lib/constants github.com/devtron-labs/common-lib/fetchAllEnv @@ -488,4 +488,4 @@ gopkg.in/yaml.v3 # mellium.im/sasl v0.3.2 ## explicit; go 1.20 mellium.im/sasl -# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 diff --git a/image-scanner/go.mod b/image-scanner/go.mod index 101b90db5..d7aa5cb3f 100644 --- a/image-scanner/go.mod +++ b/image-scanner/go.mod @@ -74,4 +74,4 @@ require ( mellium.im/sasl v0.3.2 // indirect ) -replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 diff --git a/image-scanner/go.sum b/image-scanner/go.sum index 3cff39a58..4c0eb2bb2 100644 --- a/image-scanner/go.sum +++ b/image-scanner/go.sum @@ -280,8 +280,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 h1:zGAASPlhYqEetPLnnhm58+QAJXdzoAcMojQVr+8dFTo= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 h1:9CFeiv7oWP6f5OJN6Jq1FJpPndxyx0GKAEoKORWxvkw= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= diff --git a/image-scanner/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go b/image-scanner/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go index 3bdec67be..bc5dbeba1 100644 --- a/image-scanner/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go +++ b/image-scanner/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go @@ -85,31 +85,31 @@ func ExecutePGQueryProcessor(cfg bean.PgQueryMonitoringConfig, event bean.PgQuer } else { status = SUCCESS } - PgQueryDuration.WithLabelValues(status, cfg.ServiceName, event.FuncName, getErrorType(pgError).String()).Observe(queryDuration.Seconds()) + PgQueryDuration.WithLabelValues(status, cfg.ServiceName, getErrorType(pgError).String()).Observe(queryDuration.Seconds()) } // Log pg query if enabled logThresholdQueries := cfg.LogSlowQuery && queryDuration.Milliseconds() > cfg.QueryDurationThreshold logNetworkFailure := queryError && cfg.LogAllFailureQueries && isNetworkError(pgError) if logNetworkFailure { - log.Println(fmt.Sprintf("%s - query time", PgNetworkErrorLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query, "pgError", pgError) + log.Println(fmt.Sprintf("%s - query time", PgNetworkErrorLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query, "pgError", pgError) } logFailureQuery := queryError && cfg.LogAllFailureQueries && !isNetworkError(pgError) if logFailureQuery { - log.Println(fmt.Sprintf("%s - query time", PgQueryFailLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query, "pgError", pgError) + log.Println(fmt.Sprintf("%s - query time", PgQueryFailLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query, "pgError", pgError) } if logThresholdQueries { - log.Println(fmt.Sprintf("%s - query time", PgQuerySlowLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query) + log.Println(fmt.Sprintf("%s - query time", PgQuerySlowLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query) } if cfg.LogAllQuery { - log.Println("query time", "duration", queryDuration.Seconds(), "query", event.Query) + log.Println("query time", "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query) } } var PgQueryDuration = promauto.NewHistogramVec(prometheus.HistogramOpts{ Name: "pg_query_duration_seconds", Help: "Duration of PG queries", -}, []string{"status", "serviceName", "functionName", "errorType"}) +}, []string{"status", "serviceName", "errorType"}) func getErrorType(err error) ErrorType { if err == nil { diff --git a/image-scanner/vendor/modules.txt b/image-scanner/vendor/modules.txt index eeb23ab55..a09e1b6c2 100644 --- a/image-scanner/vendor/modules.txt +++ b/image-scanner/vendor/modules.txt @@ -72,7 +72,7 @@ github.com/cespare/xxhash/v2 github.com/coreos/clair/api/v3/clairpb github.com/coreos/clair/database github.com/coreos/clair/ext/versionfmt -# github.com/devtron-labs/common-lib v0.19.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +# github.com/devtron-labs/common-lib v0.19.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 ## explicit; go 1.21 github.com/devtron-labs/common-lib/constants github.com/devtron-labs/common-lib/fetchAllEnv @@ -440,4 +440,4 @@ google.golang.org/protobuf/types/known/wrapperspb # mellium.im/sasl v0.3.2 ## explicit; go 1.20 mellium.im/sasl -# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 diff --git a/kubelink/go.mod b/kubelink/go.mod index d931c8df7..6d24a88cd 100644 --- a/kubelink/go.mod +++ b/kubelink/go.mod @@ -177,7 +177,7 @@ require ( ) replace ( - github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 + github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 go.opentelemetry.io/otel/metric => go.opentelemetry.io/otel/metric v1.18.0 // https://github.com/kubernetes/kubernetes/issues/79384#issuecomment-505627280 k8s.io/api => k8s.io/api v0.29.0 diff --git a/kubelink/go.sum b/kubelink/go.sum index d2ccc8768..6bd3db56e 100644 --- a/kubelink/go.sum +++ b/kubelink/go.sum @@ -79,8 +79,8 @@ github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxG github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 h1:zGAASPlhYqEetPLnnhm58+QAJXdzoAcMojQVr+8dFTo= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 h1:9CFeiv7oWP6f5OJN6Jq1FJpPndxyx0GKAEoKORWxvkw= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/distribution/distribution/v3 v3.0.0-beta.1 h1:X+ELTxPuZ1Xe5MsD3kp2wfGUhc8I+MPfRis8dZ818Ic= diff --git a/kubelink/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go b/kubelink/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go index 3bdec67be..bc5dbeba1 100644 --- a/kubelink/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go +++ b/kubelink/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go @@ -85,31 +85,31 @@ func ExecutePGQueryProcessor(cfg bean.PgQueryMonitoringConfig, event bean.PgQuer } else { status = SUCCESS } - PgQueryDuration.WithLabelValues(status, cfg.ServiceName, event.FuncName, getErrorType(pgError).String()).Observe(queryDuration.Seconds()) + PgQueryDuration.WithLabelValues(status, cfg.ServiceName, getErrorType(pgError).String()).Observe(queryDuration.Seconds()) } // Log pg query if enabled logThresholdQueries := cfg.LogSlowQuery && queryDuration.Milliseconds() > cfg.QueryDurationThreshold logNetworkFailure := queryError && cfg.LogAllFailureQueries && isNetworkError(pgError) if logNetworkFailure { - log.Println(fmt.Sprintf("%s - query time", PgNetworkErrorLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query, "pgError", pgError) + log.Println(fmt.Sprintf("%s - query time", PgNetworkErrorLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query, "pgError", pgError) } logFailureQuery := queryError && cfg.LogAllFailureQueries && !isNetworkError(pgError) if logFailureQuery { - log.Println(fmt.Sprintf("%s - query time", PgQueryFailLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query, "pgError", pgError) + log.Println(fmt.Sprintf("%s - query time", PgQueryFailLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query, "pgError", pgError) } if logThresholdQueries { - log.Println(fmt.Sprintf("%s - query time", PgQuerySlowLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query) + log.Println(fmt.Sprintf("%s - query time", PgQuerySlowLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query) } if cfg.LogAllQuery { - log.Println("query time", "duration", queryDuration.Seconds(), "query", event.Query) + log.Println("query time", "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query) } } var PgQueryDuration = promauto.NewHistogramVec(prometheus.HistogramOpts{ Name: "pg_query_duration_seconds", Help: "Duration of PG queries", -}, []string{"status", "serviceName", "functionName", "errorType"}) +}, []string{"status", "serviceName", "errorType"}) func getErrorType(err error) ErrorType { if err == nil { diff --git a/kubelink/vendor/modules.txt b/kubelink/vendor/modules.txt index 14e9891c7..b60948790 100644 --- a/kubelink/vendor/modules.txt +++ b/kubelink/vendor/modules.txt @@ -127,7 +127,7 @@ github.com/cyphar/filepath-securejoin # github.com/davecgh/go-spew v1.1.1 ## explicit github.com/davecgh/go-spew/spew -# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 ## explicit; go 1.21 github.com/devtron-labs/common-lib/async github.com/devtron-labs/common-lib/constants @@ -1355,7 +1355,7 @@ sigs.k8s.io/structured-merge-diff/v4/value # sigs.k8s.io/yaml v1.3.0 ## explicit; go 1.12 sigs.k8s.io/yaml -# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 # go.opentelemetry.io/otel/metric => go.opentelemetry.io/otel/metric v1.18.0 # k8s.io/api => k8s.io/api v0.29.0 # k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.29.0 diff --git a/kubewatch/go.mod b/kubewatch/go.mod index ae0bc6fc1..455727be7 100644 --- a/kubewatch/go.mod +++ b/kubewatch/go.mod @@ -245,4 +245,4 @@ replace ( k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.29.7 ) -replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 diff --git a/kubewatch/go.sum b/kubewatch/go.sum index e65493d16..b3af175c7 100644 --- a/kubewatch/go.sum +++ b/kubewatch/go.sum @@ -719,8 +719,8 @@ github.com/cyphar/filepath-securejoin v0.3.6/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGL github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 h1:zGAASPlhYqEetPLnnhm58+QAJXdzoAcMojQVr+8dFTo= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 h1:9CFeiv7oWP6f5OJN6Jq1FJpPndxyx0GKAEoKORWxvkw= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= diff --git a/kubewatch/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go b/kubewatch/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go index 3bdec67be..bc5dbeba1 100644 --- a/kubewatch/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go +++ b/kubewatch/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go @@ -85,31 +85,31 @@ func ExecutePGQueryProcessor(cfg bean.PgQueryMonitoringConfig, event bean.PgQuer } else { status = SUCCESS } - PgQueryDuration.WithLabelValues(status, cfg.ServiceName, event.FuncName, getErrorType(pgError).String()).Observe(queryDuration.Seconds()) + PgQueryDuration.WithLabelValues(status, cfg.ServiceName, getErrorType(pgError).String()).Observe(queryDuration.Seconds()) } // Log pg query if enabled logThresholdQueries := cfg.LogSlowQuery && queryDuration.Milliseconds() > cfg.QueryDurationThreshold logNetworkFailure := queryError && cfg.LogAllFailureQueries && isNetworkError(pgError) if logNetworkFailure { - log.Println(fmt.Sprintf("%s - query time", PgNetworkErrorLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query, "pgError", pgError) + log.Println(fmt.Sprintf("%s - query time", PgNetworkErrorLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query, "pgError", pgError) } logFailureQuery := queryError && cfg.LogAllFailureQueries && !isNetworkError(pgError) if logFailureQuery { - log.Println(fmt.Sprintf("%s - query time", PgQueryFailLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query, "pgError", pgError) + log.Println(fmt.Sprintf("%s - query time", PgQueryFailLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query, "pgError", pgError) } if logThresholdQueries { - log.Println(fmt.Sprintf("%s - query time", PgQuerySlowLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query) + log.Println(fmt.Sprintf("%s - query time", PgQuerySlowLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query) } if cfg.LogAllQuery { - log.Println("query time", "duration", queryDuration.Seconds(), "query", event.Query) + log.Println("query time", "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query) } } var PgQueryDuration = promauto.NewHistogramVec(prometheus.HistogramOpts{ Name: "pg_query_duration_seconds", Help: "Duration of PG queries", -}, []string{"status", "serviceName", "functionName", "errorType"}) +}, []string{"status", "serviceName", "errorType"}) func getErrorType(err error) ErrorType { if err == nil { diff --git a/kubewatch/vendor/modules.txt b/kubewatch/vendor/modules.txt index 2c3577ca5..0e4f8fb27 100644 --- a/kubewatch/vendor/modules.txt +++ b/kubewatch/vendor/modules.txt @@ -215,7 +215,7 @@ github.com/cyphar/filepath-securejoin # github.com/davecgh/go-spew v1.1.1 ## explicit github.com/davecgh/go-spew/spew -# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 ## explicit; go 1.21 github.com/devtron-labs/common-lib/async github.com/devtron-labs/common-lib/constants @@ -1761,4 +1761,4 @@ upper.io/db.v3/postgresql # k8s.io/mount-utils => k8s.io/mount-utils v0.29.7 # k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.29.7 # k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.29.7 -# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 diff --git a/lens/go.mod b/lens/go.mod index f3357854e..25e9ec389 100644 --- a/lens/go.mod +++ b/lens/go.mod @@ -59,4 +59,4 @@ require ( github.com/onsi/gomega v1.18.1 // indirect ) -replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 diff --git a/lens/go.sum b/lens/go.sum index ddf88d0bb..7d80c66ee 100644 --- a/lens/go.sum +++ b/lens/go.sum @@ -22,8 +22,8 @@ github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWH github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 h1:zGAASPlhYqEetPLnnhm58+QAJXdzoAcMojQVr+8dFTo= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 h1:9CFeiv7oWP6f5OJN6Jq1FJpPndxyx0GKAEoKORWxvkw= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= github.com/devtron-labs/protos v0.0.3-0.20240130061723-7b2e12ab0abb h1:CkfQQgZc950/hTPqtQSiHV2RmZgkBLGCzwR02FZYjAU= github.com/devtron-labs/protos v0.0.3-0.20240130061723-7b2e12ab0abb/go.mod h1:pjLjgoa1GzbkOkvbMyP4SAKsaiK7eG6GoQCNauG03JA= github.com/docker/cli v24.0.6+incompatible h1:fF+XCQCgJjjQNIMjzaSmiKJSCcfcXb3TWTcc7GAneOY= diff --git a/lens/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go b/lens/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go index 3bdec67be..bc5dbeba1 100644 --- a/lens/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go +++ b/lens/vendor/github.com/devtron-labs/common-lib/utils/SqlUtil.go @@ -85,31 +85,31 @@ func ExecutePGQueryProcessor(cfg bean.PgQueryMonitoringConfig, event bean.PgQuer } else { status = SUCCESS } - PgQueryDuration.WithLabelValues(status, cfg.ServiceName, event.FuncName, getErrorType(pgError).String()).Observe(queryDuration.Seconds()) + PgQueryDuration.WithLabelValues(status, cfg.ServiceName, getErrorType(pgError).String()).Observe(queryDuration.Seconds()) } // Log pg query if enabled logThresholdQueries := cfg.LogSlowQuery && queryDuration.Milliseconds() > cfg.QueryDurationThreshold logNetworkFailure := queryError && cfg.LogAllFailureQueries && isNetworkError(pgError) if logNetworkFailure { - log.Println(fmt.Sprintf("%s - query time", PgNetworkErrorLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query, "pgError", pgError) + log.Println(fmt.Sprintf("%s - query time", PgNetworkErrorLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query, "pgError", pgError) } logFailureQuery := queryError && cfg.LogAllFailureQueries && !isNetworkError(pgError) if logFailureQuery { - log.Println(fmt.Sprintf("%s - query time", PgQueryFailLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query, "pgError", pgError) + log.Println(fmt.Sprintf("%s - query time", PgQueryFailLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query, "pgError", pgError) } if logThresholdQueries { - log.Println(fmt.Sprintf("%s - query time", PgQuerySlowLogPrefix), "duration", queryDuration.Seconds(), "query", event.Query) + log.Println(fmt.Sprintf("%s - query time", PgQuerySlowLogPrefix), "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query) } if cfg.LogAllQuery { - log.Println("query time", "duration", queryDuration.Seconds(), "query", event.Query) + log.Println("query time", "duration", queryDuration.Seconds(), "functionName", event.FuncName, "query", event.Query) } } var PgQueryDuration = promauto.NewHistogramVec(prometheus.HistogramOpts{ Name: "pg_query_duration_seconds", Help: "Duration of PG queries", -}, []string{"status", "serviceName", "functionName", "errorType"}) +}, []string{"status", "serviceName", "errorType"}) func getErrorType(err error) ErrorType { if err == nil { diff --git a/lens/vendor/modules.txt b/lens/vendor/modules.txt index b7a897efe..07cfa3833 100644 --- a/lens/vendor/modules.txt +++ b/lens/vendor/modules.txt @@ -7,7 +7,7 @@ github.com/caarlos0/env # github.com/cespare/xxhash/v2 v2.2.0 ## explicit; go 1.11 github.com/cespare/xxhash/v2 -# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 ## explicit; go 1.21 github.com/devtron-labs/common-lib/constants github.com/devtron-labs/common-lib/fetchAllEnv @@ -289,4 +289,4 @@ google.golang.org/protobuf/types/known/timestamppb # mellium.im/sasl v0.3.2 ## explicit; go 1.20 mellium.im/sasl -# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250508071415-beab8643ef22 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 From 2c188019e28328398d3a4309efdbccb1d258caa1 Mon Sep 17 00:00:00 2001 From: Shivam Nagar <124123645+Shivam-nagar23@users.noreply.github.com> Date: Mon, 19 May 2025 12:33:10 +0530 Subject: [PATCH 5/5] fix: optimised handle progressing flows (#269) * optimised flows * Add ImageScanner service name constant This change introduces a new service name constant, "IMAGE_SCANNER," to the `ServiceName` enum. It ensures consistent referencing of the ImageScanner service throughout the codebase. * Add async execution support for ImageScanner service Introduced an asynchronous runnable to handle concurrent execution of tasks in the ImageScanner service. Integrated async initialization and execution throughout the service, ensuring proper error recovery and logging for panics in goroutines. Updated the common-lib dependency to include new async utilities. * make dep update oss --- chart-sync/go.mod | 2 +- chart-sync/go.sum | 4 +- .../common-lib/constants/constants.go | 1 + chart-sync/vendor/modules.txt | 4 +- ci-runner/go.mod | 2 +- ci-runner/go.sum | 4 +- .../common-lib/constants/constants.go | 1 + ci-runner/vendor/modules.txt | 4 +- common-lib/constants/constants.go | 1 + git-sensor/go.mod | 2 +- git-sensor/go.sum | 4 +- .../common-lib/constants/constants.go | 1 + git-sensor/vendor/modules.txt | 4 +- image-scanner/Wire.go | 2 + image-scanner/go.mod | 2 +- image-scanner/go.sum | 4 +- .../pkg/asyncProvider/AsyncProvider.go | 11 ++ .../pkg/asyncProvider/wire_AsyncProvider.go | 9 ++ .../pkg/security/ImageScanService.go | 100 +++++++++--------- .../repository/ImageScanHistoryRepository.go | 10 ++ .../devtron-labs/common-lib/async/async.go | 73 +++++++++++++ .../common-lib/constants/constants.go | 1 + .../utils/runTime/GetCallerFrames.go | 50 +++++++++ image-scanner/vendor/modules.txt | 6 +- image-scanner/wire_gen.go | 6 +- kubelink/go.mod | 2 +- kubelink/go.sum | 4 +- .../common-lib/constants/constants.go | 1 + kubelink/vendor/modules.txt | 4 +- kubewatch/go.mod | 2 +- kubewatch/go.sum | 4 +- .../common-lib/constants/constants.go | 1 + kubewatch/vendor/modules.txt | 4 +- lens/go.mod | 2 +- lens/go.sum | 4 +- .../common-lib/constants/constants.go | 1 + lens/vendor/modules.txt | 4 +- 37 files changed, 256 insertions(+), 85 deletions(-) create mode 100644 image-scanner/pkg/asyncProvider/AsyncProvider.go create mode 100644 image-scanner/pkg/asyncProvider/wire_AsyncProvider.go create mode 100644 image-scanner/vendor/github.com/devtron-labs/common-lib/async/async.go create mode 100644 image-scanner/vendor/github.com/devtron-labs/common-lib/utils/runTime/GetCallerFrames.go diff --git a/chart-sync/go.mod b/chart-sync/go.mod index 4bd60213a..868ea805c 100644 --- a/chart-sync/go.mod +++ b/chart-sync/go.mod @@ -5,7 +5,7 @@ go 1.22.4 toolchain go1.22.6 replace ( - github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 + github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 helm.sh/helm/v3 v3.14.3 => github.com/devtron-labs/helm/v3 v3.14.1-0.20240401080259-90238cf69e42 ) diff --git a/chart-sync/go.sum b/chart-sync/go.sum index b02a19bee..9bbed9651 100644 --- a/chart-sync/go.sum +++ b/chart-sync/go.sum @@ -54,8 +54,8 @@ github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 h1:9CFeiv7oWP6f5OJN6Jq1FJpPndxyx0GKAEoKORWxvkw= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 h1:NEmZC09r6KR+6aBGBbKPkJhgpDAtLrycinBe/BjTvZY= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= github.com/devtron-labs/helm/v3 v3.14.1-0.20240401080259-90238cf69e42 h1:pJmK44QaSztOiZe0iQHNf0sdy5KwkAeceydyhOG4RaY= github.com/devtron-labs/helm/v3 v3.14.1-0.20240401080259-90238cf69e42/go.mod h1:v6myVbyseSBJTzhmeE39UcPLNv6cQK6qss3dvgAySaE= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= diff --git a/chart-sync/vendor/github.com/devtron-labs/common-lib/constants/constants.go b/chart-sync/vendor/github.com/devtron-labs/common-lib/constants/constants.go index f327d712b..0baf2387e 100644 --- a/chart-sync/vendor/github.com/devtron-labs/common-lib/constants/constants.go +++ b/chart-sync/vendor/github.com/devtron-labs/common-lib/constants/constants.go @@ -34,6 +34,7 @@ const ( Kubelink ServiceName = "KUBELINK" GitSensor ServiceName = "GITSENSOR" Kubewatch ServiceName = "KUBEWATCH" + ImageScanner ServiceName = "IMAGE_SCANNER" ) // metrics name constants diff --git a/chart-sync/vendor/modules.txt b/chart-sync/vendor/modules.txt index 0f82afa68..452645ae0 100644 --- a/chart-sync/vendor/modules.txt +++ b/chart-sync/vendor/modules.txt @@ -93,7 +93,7 @@ github.com/containerd/platforms # github.com/davecgh/go-spew v1.1.1 ## explicit github.com/davecgh/go-spew/spew -# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 ## explicit; go 1.21 github.com/devtron-labs/common-lib/constants github.com/devtron-labs/common-lib/fetchAllEnv @@ -791,4 +791,4 @@ sigs.k8s.io/structured-merge-diff/v4/value # sigs.k8s.io/yaml v1.3.0 ## explicit; go 1.12 sigs.k8s.io/yaml -# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 diff --git a/ci-runner/go.mod b/ci-runner/go.mod index b0d6675dc..d439973bf 100644 --- a/ci-runner/go.mod +++ b/ci-runner/go.mod @@ -4,7 +4,7 @@ go 1.21 toolchain go1.21.8 -replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 require ( github.com/Knetic/govaluate v3.0.0+incompatible diff --git a/ci-runner/go.sum b/ci-runner/go.sum index 0a5ca7164..10ac98557 100644 --- a/ci-runner/go.sum +++ b/ci-runner/go.sum @@ -95,8 +95,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 h1:9CFeiv7oWP6f5OJN6Jq1FJpPndxyx0GKAEoKORWxvkw= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 h1:NEmZC09r6KR+6aBGBbKPkJhgpDAtLrycinBe/BjTvZY= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/docker/cli v24.0.6+incompatible h1:fF+XCQCgJjjQNIMjzaSmiKJSCcfcXb3TWTcc7GAneOY= diff --git a/ci-runner/vendor/github.com/devtron-labs/common-lib/constants/constants.go b/ci-runner/vendor/github.com/devtron-labs/common-lib/constants/constants.go index f327d712b..0baf2387e 100644 --- a/ci-runner/vendor/github.com/devtron-labs/common-lib/constants/constants.go +++ b/ci-runner/vendor/github.com/devtron-labs/common-lib/constants/constants.go @@ -34,6 +34,7 @@ const ( Kubelink ServiceName = "KUBELINK" GitSensor ServiceName = "GITSENSOR" Kubewatch ServiceName = "KUBEWATCH" + ImageScanner ServiceName = "IMAGE_SCANNER" ) // metrics name constants diff --git a/ci-runner/vendor/modules.txt b/ci-runner/vendor/modules.txt index 7eac4e4c8..221abd068 100644 --- a/ci-runner/vendor/modules.txt +++ b/ci-runner/vendor/modules.txt @@ -248,7 +248,7 @@ github.com/cespare/xxhash/v2 # github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc ## explicit github.com/davecgh/go-spew/spew -# github.com/devtron-labs/common-lib v0.19.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +# github.com/devtron-labs/common-lib v0.19.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 ## explicit; go 1.21 github.com/devtron-labs/common-lib/blob-storage github.com/devtron-labs/common-lib/constants @@ -991,4 +991,4 @@ sigs.k8s.io/structured-merge-diff/v4/value # sigs.k8s.io/yaml v1.3.0 ## explicit; go 1.12 sigs.k8s.io/yaml -# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 diff --git a/common-lib/constants/constants.go b/common-lib/constants/constants.go index f327d712b..0baf2387e 100644 --- a/common-lib/constants/constants.go +++ b/common-lib/constants/constants.go @@ -34,6 +34,7 @@ const ( Kubelink ServiceName = "KUBELINK" GitSensor ServiceName = "GITSENSOR" Kubewatch ServiceName = "KUBEWATCH" + ImageScanner ServiceName = "IMAGE_SCANNER" ) // metrics name constants diff --git a/git-sensor/go.mod b/git-sensor/go.mod index 477d509f8..5e75fa3b6 100644 --- a/git-sensor/go.mod +++ b/git-sensor/go.mod @@ -4,7 +4,7 @@ go 1.21 toolchain go1.22.4 -replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 require ( github.com/caarlos0/env v3.5.0+incompatible diff --git a/git-sensor/go.sum b/git-sensor/go.sum index f412a42d4..ed727d60f 100644 --- a/git-sensor/go.sum +++ b/git-sensor/go.sum @@ -27,8 +27,8 @@ github.com/cyphar/filepath-securejoin v0.3.6/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGL github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 h1:9CFeiv7oWP6f5OJN6Jq1FJpPndxyx0GKAEoKORWxvkw= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 h1:NEmZC09r6KR+6aBGBbKPkJhgpDAtLrycinBe/BjTvZY= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= github.com/devtron-labs/protos v0.0.3-0.20250323220609-ecf8a0f7305e h1:U6UdYbW8a7xn5IzFPd8cywjVVPfutGJCudjePAfL/Hs= github.com/devtron-labs/protos v0.0.3-0.20250323220609-ecf8a0f7305e/go.mod h1:1TqULGlTey+VNhAu/ag7NJuUvByJemkqodsc9L5PHJk= github.com/docker/cli v24.0.6+incompatible h1:fF+XCQCgJjjQNIMjzaSmiKJSCcfcXb3TWTcc7GAneOY= diff --git a/git-sensor/vendor/github.com/devtron-labs/common-lib/constants/constants.go b/git-sensor/vendor/github.com/devtron-labs/common-lib/constants/constants.go index f327d712b..0baf2387e 100644 --- a/git-sensor/vendor/github.com/devtron-labs/common-lib/constants/constants.go +++ b/git-sensor/vendor/github.com/devtron-labs/common-lib/constants/constants.go @@ -34,6 +34,7 @@ const ( Kubelink ServiceName = "KUBELINK" GitSensor ServiceName = "GITSENSOR" Kubewatch ServiceName = "KUBEWATCH" + ImageScanner ServiceName = "IMAGE_SCANNER" ) // metrics name constants diff --git a/git-sensor/vendor/modules.txt b/git-sensor/vendor/modules.txt index ae0a4c6d8..978cad52d 100644 --- a/git-sensor/vendor/modules.txt +++ b/git-sensor/vendor/modules.txt @@ -66,7 +66,7 @@ github.com/cyphar/filepath-securejoin # github.com/davecgh/go-spew v1.1.1 ## explicit github.com/davecgh/go-spew/spew -# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 ## explicit; go 1.21 github.com/devtron-labs/common-lib/constants github.com/devtron-labs/common-lib/fetchAllEnv @@ -488,4 +488,4 @@ gopkg.in/yaml.v3 # mellium.im/sasl v0.3.2 ## explicit; go 1.20 mellium.im/sasl -# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 diff --git a/image-scanner/Wire.go b/image-scanner/Wire.go index 45422689a..82cf642fe 100644 --- a/image-scanner/Wire.go +++ b/image-scanner/Wire.go @@ -23,6 +23,7 @@ import ( "github.com/devtron-labs/common-lib/monitoring" client "github.com/devtron-labs/common-lib/pubsub-lib" "github.com/devtron-labs/image-scanner/api" + "github.com/devtron-labs/image-scanner/pkg/asyncProvider" "github.com/devtron-labs/image-scanner/pkg/clairService" "github.com/devtron-labs/image-scanner/pkg/grafeasService" "github.com/devtron-labs/image-scanner/pkg/klarService" @@ -38,6 +39,7 @@ import ( func InitializeApp() (*App, error) { wire.Build( + asyncProvider.AsyncWireSet, NewApp, api.NewRouter, logger.NewSugardLogger, diff --git a/image-scanner/go.mod b/image-scanner/go.mod index d7aa5cb3f..2846bc66b 100644 --- a/image-scanner/go.mod +++ b/image-scanner/go.mod @@ -74,4 +74,4 @@ require ( mellium.im/sasl v0.3.2 // indirect ) -replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 diff --git a/image-scanner/go.sum b/image-scanner/go.sum index 4c0eb2bb2..e1bfb2ea6 100644 --- a/image-scanner/go.sum +++ b/image-scanner/go.sum @@ -280,8 +280,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 h1:9CFeiv7oWP6f5OJN6Jq1FJpPndxyx0GKAEoKORWxvkw= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 h1:NEmZC09r6KR+6aBGBbKPkJhgpDAtLrycinBe/BjTvZY= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= diff --git a/image-scanner/pkg/asyncProvider/AsyncProvider.go b/image-scanner/pkg/asyncProvider/AsyncProvider.go new file mode 100644 index 000000000..4531c0b01 --- /dev/null +++ b/image-scanner/pkg/asyncProvider/AsyncProvider.go @@ -0,0 +1,11 @@ +package asyncProvider + +import ( + "github.com/devtron-labs/common-lib/async" + "github.com/devtron-labs/common-lib/constants" + "go.uber.org/zap" +) + +func NewAsyncRunnable(logger *zap.SugaredLogger) *async.Runnable { + return async.NewAsyncRunnable(logger, constants.ImageScanner) +} diff --git a/image-scanner/pkg/asyncProvider/wire_AsyncProvider.go b/image-scanner/pkg/asyncProvider/wire_AsyncProvider.go new file mode 100644 index 000000000..1f0df311c --- /dev/null +++ b/image-scanner/pkg/asyncProvider/wire_AsyncProvider.go @@ -0,0 +1,9 @@ +package asyncProvider + +import ( + "github.com/google/wire" +) + +var AsyncWireSet = wire.NewSet( + NewAsyncRunnable, +) diff --git a/image-scanner/pkg/security/ImageScanService.go b/image-scanner/pkg/security/ImageScanService.go index 55c5616c0..d1c026f0d 100644 --- a/image-scanner/pkg/security/ImageScanService.go +++ b/image-scanner/pkg/security/ImageScanService.go @@ -24,6 +24,7 @@ import ( "fmt" "github.com/Knetic/govaluate" "github.com/caarlos0/env" + "github.com/devtron-labs/common-lib/async" bean2 "github.com/devtron-labs/common-lib/imageScan/bean" "github.com/devtron-labs/image-scanner/common" cliUtil "github.com/devtron-labs/image-scanner/internals/step-lib/util/cli-util" @@ -84,6 +85,7 @@ type ImageScanServiceImpl struct { DockerArtifactStoreRepository repository.DockerArtifactStoreRepository RegistryIndexMappingRepository repository.RegistryIndexMappingRepository CliCommandEnv []string + asyncRunnable *async.Runnable } func NewImageScanServiceImpl(logger *zap.SugaredLogger, scanHistoryRepository repository.ImageScanHistoryRepository, @@ -96,7 +98,8 @@ func NewImageScanServiceImpl(logger *zap.SugaredLogger, scanHistoryRepository re scanToolStepRepository repository.ScanToolStepRepository, scanStepConditionMappingRepository repository.ScanStepConditionMappingRepository, imageScanConfig *ImageScanConfig, - dockerArtifactStoreRepository repository.DockerArtifactStoreRepository, registryIndexMappingRepository repository.RegistryIndexMappingRepository) *ImageScanServiceImpl { + dockerArtifactStoreRepository repository.DockerArtifactStoreRepository, registryIndexMappingRepository repository.RegistryIndexMappingRepository, + asyncRunnable *async.Runnable) *ImageScanServiceImpl { imageScanService := &ImageScanServiceImpl{Logger: logger, ScanHistoryRepository: scanHistoryRepository, ScanResultRepository: scanResultRepository, ScanObjectMetaRepository: scanObjectMetaRepository, CveStoreRepository: cveStoreRepository, ImageScanDeployInfoRepository: imageScanDeployInfoRepository, @@ -110,11 +113,12 @@ func NewImageScanServiceImpl(logger *zap.SugaredLogger, scanHistoryRepository re DockerArtifactStoreRepository: dockerArtifactStoreRepository, RegistryIndexMappingRepository: registryIndexMappingRepository, CliCommandEnv: os.Environ(), + asyncRunnable: asyncRunnable, } // Only check for progressing scans if the flag is enabled if imageScanConfig.EnableProgressingScanCheck { logger.Infow("checking for progressing scans at startup") - imageScanService.HandleProgressingScans() + asyncRunnable.Execute(imageScanService.HandleProgressingScans) } else { logger.Infow("skipping progressing scans check at startup as it is disabled") } @@ -961,63 +965,63 @@ func (impl *ImageScanServiceImpl) HandleProgressingScans() { impl.Logger.Errorw("error in getting all scans by running state", "err", err) return } - - var executionHistoryDirPath string - flagForDeleting := false - // Create Folder for output data for execution history only if any pending scans are there due to pod died if len(scanHistories) > 0 { - flagForDeleting = true + var executionHistoryDirPath string + // Create Folder for output data for execution history only if any pending scans are there due to pod died executionHistoryDirPath = impl.CreateFolderForOutputData(scanHistories[0].ImageScanExecutionHistoryId) - } - wg := &sync.WaitGroup{} - wg.Add(len(scanHistories)) - imagescanExecutionHistories, err := impl.ScanHistoryRepository.FindAll() - if err != nil { - impl.Logger.Errorw("error in getting scan histories on start up", "err", err) - return - } - imageScanToolMetadatas, err := impl.ScanToolMetadataRepository.FindAllActiveTools() - if err != nil { - impl.Logger.Errorw("error in getting all active tools", "err", err) - } - imageScanExecutionHistoryMap := make(map[int]*repository.ImageScanExecutionHistory) - imageScanToolsMap := make(map[int]*repository.ScanToolMetadata) - - for _, imageScanExecutionHistory := range imagescanExecutionHistories { - imageScanExecutionHistoryMap[imageScanExecutionHistory.Id] = imageScanExecutionHistory - } - for _, imageScanToolMetaData := range imageScanToolMetadatas { - imageScanToolsMap[imageScanToolMetaData.Id] = imageScanToolMetaData - } - - //System doing image scanning for all pending scans - for _, scanHistory := range scanHistories { - scanEvent := bean2.ImageScanEvent{} - scanEventJson := imageScanExecutionHistoryMap[scanHistory.ImageScanExecutionHistoryId].SourceMetadataJson - if len(scanEventJson) == 0 { - return + imageScanExecutionHistoryIds := make([]int, 0, len(scanHistories)) + for _, scanHistory := range scanHistories { + imageScanExecutionHistoryIds = append(imageScanExecutionHistoryIds, scanHistory.ImageScanExecutionHistoryId) } - scanTool := imageScanToolsMap[scanHistory.ScanToolId] - err = json.Unmarshal([]byte(scanEventJson), &scanEvent) + wg := &sync.WaitGroup{} + wg.Add(len(scanHistories)) + imagescanExecutionHistories, err := impl.ScanHistoryRepository.FindByIds(imageScanExecutionHistoryIds) if err != nil { - impl.Logger.Errorw("error in un-marshaling", "err", err) + impl.Logger.Errorw("error in getting scan histories on start up", "err", err) return } - imageScanRenderDto, err := impl.GetImageScanRenderDto(scanEvent.DockerRegistryId, &scanEvent) + imageScanToolMetadatas, err := impl.ScanToolMetadataRepository.FindAllActiveTools() if err != nil { - impl.Logger.Errorw("service error, GetImageScanRenderDto", "dockerRegistryId", scanEvent.DockerRegistryId, "err", err) + impl.Logger.Errorw("error in getting all active tools", "err", err) return } - _, _, err = impl.ScanImageForTool(scanTool, scanHistory.ImageScanExecutionHistoryId, executionHistoryDirPath, wg, 1, context.Background(), imageScanRenderDto) - if err != nil { - impl.Logger.Errorw("error in scanning image", "err", err) - return + imageScanExecutionHistoryMap := make(map[int]*repository.ImageScanExecutionHistory) + imageScanToolsMap := make(map[int]*repository.ScanToolMetadata) + + for _, imageScanExecutionHistory := range imagescanExecutionHistories { + imageScanExecutionHistoryMap[imageScanExecutionHistory.Id] = imageScanExecutionHistory } - } - wg.Wait() + for _, imageScanToolMetaData := range imageScanToolMetadatas { + imageScanToolsMap[imageScanToolMetaData.Id] = imageScanToolMetaData + } + + //System doing image scanning for all pending scans + for _, scanHistory := range scanHistories { + scanEvent := bean2.ImageScanEvent{} + scanEventJson := imageScanExecutionHistoryMap[scanHistory.ImageScanExecutionHistoryId].SourceMetadataJson + if len(scanEventJson) == 0 { + return + } + scanTool := imageScanToolsMap[scanHistory.ScanToolId] + err = json.Unmarshal([]byte(scanEventJson), &scanEvent) + if err != nil { + impl.Logger.Errorw("error in un-marshaling", "err", err) + return + } + imageScanRenderDto, err := impl.GetImageScanRenderDto(scanEvent.DockerRegistryId, &scanEvent) + if err != nil { + impl.Logger.Errorw("service error, GetImageScanRenderDto", "dockerRegistryId", scanEvent.DockerRegistryId, "err", err) + return + } + _, _, err = impl.ScanImageForTool(scanTool, scanHistory.ImageScanExecutionHistoryId, executionHistoryDirPath, wg, 1, context.Background(), imageScanRenderDto) + if err != nil { + impl.Logger.Errorw("error in scanning image", "err", err) + return + } + } + wg.Wait() - //deleting executionDirectoryPath - if flagForDeleting { + //deleting executionDirectoryPath err = os.Remove(executionHistoryDirPath) if err != nil { impl.Logger.Errorw("error in deleting executionHistoryDirectory", "executionHistoryDirPath", executionHistoryDirPath, "err", err) diff --git a/image-scanner/pkg/sql/repository/ImageScanHistoryRepository.go b/image-scanner/pkg/sql/repository/ImageScanHistoryRepository.go index c29c1925e..fe6b38fb5 100644 --- a/image-scanner/pkg/sql/repository/ImageScanHistoryRepository.go +++ b/image-scanner/pkg/sql/repository/ImageScanHistoryRepository.go @@ -61,6 +61,7 @@ type ImageScanHistoryRepository interface { Save(tx *pg.Tx, model *ImageScanExecutionHistory) error FindAll() ([]*ImageScanExecutionHistory, error) FindOne(id int) (*ImageScanExecutionHistory, error) + FindByIds(ids []int) ([]*ImageScanExecutionHistory, error) FindByImageDigest(image string) (*ImageScanExecutionHistory, error) FindByImageDigests(digest []string) ([]*ImageScanExecutionHistory, error) Update(model *ImageScanExecutionHistory) error @@ -103,6 +104,15 @@ func (impl ImageScanHistoryRepositoryImpl) FindOne(id int) (*ImageScanExecutionH Where("id = ?", id).Select() return &model, err } +func (impl ImageScanHistoryRepositoryImpl) FindByIds(ids []int) ([]*ImageScanExecutionHistory, error) { + models := make([]*ImageScanExecutionHistory, 0) + if len(ids) == 0 { + return models, nil + } + err := impl.dbConnection.Model(&models). + Where("id in (?)", pg.In(ids)).Select() + return models, err +} func (impl ImageScanHistoryRepositoryImpl) FindByImageDigest(image string) (*ImageScanExecutionHistory, error) { var model ImageScanExecutionHistory diff --git a/image-scanner/vendor/github.com/devtron-labs/common-lib/async/async.go b/image-scanner/vendor/github.com/devtron-labs/common-lib/async/async.go new file mode 100644 index 000000000..425af98c4 --- /dev/null +++ b/image-scanner/vendor/github.com/devtron-labs/common-lib/async/async.go @@ -0,0 +1,73 @@ +package async + +import ( + "fmt" + "github.com/devtron-labs/common-lib/constants" + "github.com/devtron-labs/common-lib/pubsub-lib/metrics" + "github.com/devtron-labs/common-lib/utils/runTime" + "go.uber.org/zap" + "runtime/debug" +) + +type Runnable struct { + logger *zap.SugaredLogger + serviceName constants.ServiceName +} + +type RunAsyncMetaData struct { + Method string + Path string +} + +func NewAsyncRunnable(logger *zap.SugaredLogger, serviceName constants.ServiceName) *Runnable { + return &Runnable{ + logger: logger, + serviceName: serviceName, + } +} + +func NewRunAsyncMetaData() *RunAsyncMetaData { + return &RunAsyncMetaData{} +} + +func CallerMethod(methodName string) NewUpdateMetaData { + return func(m *RunAsyncMetaData) { + m.Method = methodName + } +} + +func CallerPath(pathName string) NewUpdateMetaData { + return func(m *RunAsyncMetaData) { + m.Path = pathName + } +} + +type NewUpdateMetaData func(*RunAsyncMetaData) + +func (impl *Runnable) Execute(runnableFunc func()) { + impl.run(runnableFunc, + CallerMethod(runTime.GetCallerFunctionName()), + CallerPath(fmt.Sprintf("%s:%d", runTime.GetCallerFileName(), runTime.GetCallerLineNumber())), + ) +} + +func (impl *Runnable) run(fn func(), metadataOpts ...NewUpdateMetaData) { + metaData := NewRunAsyncMetaData() + for _, metadataOpt := range metadataOpts { + // updating meta data + if metadataOpt != nil { + metadataOpt(metaData) + } + } + go func() { + defer func() { + if r := recover(); r != nil { + metrics.IncPanicRecoveryCount("go-routine", impl.serviceName.ToString(), metaData.Method, metaData.Path) + impl.logger.Errorw(fmt.Sprintf("%s %s", constants.GoRoutinePanicMsgLogPrefix, "go-routine recovered from panic"), "err", r, "stack", string(debug.Stack())) + } + }() + if fn != nil { + fn() + } + }() +} diff --git a/image-scanner/vendor/github.com/devtron-labs/common-lib/constants/constants.go b/image-scanner/vendor/github.com/devtron-labs/common-lib/constants/constants.go index f327d712b..0baf2387e 100644 --- a/image-scanner/vendor/github.com/devtron-labs/common-lib/constants/constants.go +++ b/image-scanner/vendor/github.com/devtron-labs/common-lib/constants/constants.go @@ -34,6 +34,7 @@ const ( Kubelink ServiceName = "KUBELINK" GitSensor ServiceName = "GITSENSOR" Kubewatch ServiceName = "KUBEWATCH" + ImageScanner ServiceName = "IMAGE_SCANNER" ) // metrics name constants diff --git a/image-scanner/vendor/github.com/devtron-labs/common-lib/utils/runTime/GetCallerFrames.go b/image-scanner/vendor/github.com/devtron-labs/common-lib/utils/runTime/GetCallerFrames.go new file mode 100644 index 000000000..ff54cba4a --- /dev/null +++ b/image-scanner/vendor/github.com/devtron-labs/common-lib/utils/runTime/GetCallerFrames.go @@ -0,0 +1,50 @@ +package runTime + +import ( + "runtime" +) + +// GetCallerFileName - returns the file name of the invoked func +func GetCallerFileName() string { + // Skip GetCurrentFunctionName + return getFrame(1).File +} + +// GetCallerLineNumber - returns the line number of the invoked func +func GetCallerLineNumber() int { + // Skip GetCurrentFunctionName + return getFrame(1).Line +} + +// GetCallerFunctionName - returns the function name of the invoked func +func GetCallerFunctionName() string { + // Skip GetCallerFunctionName and the function to get the caller of + return getFrame(2).Function +} + +// getFrame returns the runtime.Frame for the targetFrameIndex from the runtime caller stack +// +// examples: +// 1. getFrame(0) -> returns current method frame +// 2. getFrame(1) -> returns caller method frame +// 3. getFrame(2) -> returns caller's caller method frame +func getFrame(targetFrameIndex int) runtime.Frame { + // Set size to targetFrameIndex + 2 to ensure we have room for function runtime.Callers and getFrame + programCounters := make([]uintptr, targetFrameIndex+2) + // We need the frame at index targetFrameIndex + 2, since we never want function runtime.Callers and getFrame + n := runtime.Callers(2, programCounters) + + frame := runtime.Frame{Function: "unknown"} + if n > 0 { + frames := runtime.CallersFrames(programCounters[:n]) + for more, frameIndex := true, 0; more && frameIndex <= targetFrameIndex; frameIndex++ { + var frameCandidate runtime.Frame + frameCandidate, more = frames.Next() + if frameIndex == targetFrameIndex { + frame = frameCandidate + } + } + } + + return frame +} diff --git a/image-scanner/vendor/modules.txt b/image-scanner/vendor/modules.txt index a09e1b6c2..e96ee37e7 100644 --- a/image-scanner/vendor/modules.txt +++ b/image-scanner/vendor/modules.txt @@ -72,8 +72,9 @@ github.com/cespare/xxhash/v2 github.com/coreos/clair/api/v3/clairpb github.com/coreos/clair/database github.com/coreos/clair/ext/versionfmt -# github.com/devtron-labs/common-lib v0.19.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +# github.com/devtron-labs/common-lib v0.19.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 ## explicit; go 1.21 +github.com/devtron-labs/common-lib/async github.com/devtron-labs/common-lib/constants github.com/devtron-labs/common-lib/fetchAllEnv github.com/devtron-labs/common-lib/git-manager @@ -89,6 +90,7 @@ github.com/devtron-labs/common-lib/pubsub-lib/model github.com/devtron-labs/common-lib/utils github.com/devtron-labs/common-lib/utils/bean github.com/devtron-labs/common-lib/utils/remoteConnection/bean +github.com/devtron-labs/common-lib/utils/runTime # github.com/docker/cli v24.0.6+incompatible ## explicit github.com/docker/cli/cli/config @@ -440,4 +442,4 @@ google.golang.org/protobuf/types/known/wrapperspb # mellium.im/sasl v0.3.2 ## explicit; go 1.20 mellium.im/sasl -# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 diff --git a/image-scanner/wire_gen.go b/image-scanner/wire_gen.go index d3a947ce0..0c48cbb0b 100644 --- a/image-scanner/wire_gen.go +++ b/image-scanner/wire_gen.go @@ -1,6 +1,6 @@ // Code generated by Wire. DO NOT EDIT. -//go:generate go run -mod=mod github.com/google/wire/cmd/wire +//go:generate go run github.com/google/wire/cmd/wire //go:build !wireinject // +build !wireinject @@ -10,6 +10,7 @@ import ( "github.com/devtron-labs/common-lib/monitoring" "github.com/devtron-labs/common-lib/pubsub-lib" "github.com/devtron-labs/image-scanner/api" + "github.com/devtron-labs/image-scanner/pkg/asyncProvider" "github.com/devtron-labs/image-scanner/pkg/clairService" "github.com/devtron-labs/image-scanner/pkg/grafeasService" "github.com/devtron-labs/image-scanner/pkg/klarService" @@ -56,7 +57,8 @@ func InitializeApp() (*App, error) { } dockerArtifactStoreRepositoryImpl := repository.NewDockerArtifactStoreRepositoryImpl(db, sugaredLogger) registryIndexMappingRepositoryImpl := repository.NewRegistryIndexMappingRepositoryImpl(db, sugaredLogger) - imageScanServiceImpl := security.NewImageScanServiceImpl(sugaredLogger, imageScanHistoryRepositoryImpl, imageScanResultRepositoryImpl, imageScanObjectMetaRepositoryImpl, cveStoreRepositoryImpl, imageScanDeployInfoRepositoryImpl, ciArtifactRepositoryImpl, scanToolExecutionHistoryMappingRepositoryImpl, scanToolMetadataRepositoryImpl, scanStepConditionRepositoryImpl, scanToolStepRepositoryImpl, scanStepConditionMappingRepositoryImpl, imageScanConfig, dockerArtifactStoreRepositoryImpl, registryIndexMappingRepositoryImpl) + runnable := asyncProvider.NewAsyncRunnable(sugaredLogger) + imageScanServiceImpl := security.NewImageScanServiceImpl(sugaredLogger, imageScanHistoryRepositoryImpl, imageScanResultRepositoryImpl, imageScanObjectMetaRepositoryImpl, cveStoreRepositoryImpl, imageScanDeployInfoRepositoryImpl, ciArtifactRepositoryImpl, scanToolExecutionHistoryMappingRepositoryImpl, scanToolMetadataRepositoryImpl, scanStepConditionRepositoryImpl, scanToolStepRepositoryImpl, scanStepConditionMappingRepositoryImpl, imageScanConfig, dockerArtifactStoreRepositoryImpl, registryIndexMappingRepositoryImpl, runnable) klarConfig, err := klarService.GetKlarConfig() if err != nil { return nil, err diff --git a/kubelink/go.mod b/kubelink/go.mod index 6d24a88cd..006fa3172 100644 --- a/kubelink/go.mod +++ b/kubelink/go.mod @@ -177,7 +177,7 @@ require ( ) replace ( - github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 + github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 go.opentelemetry.io/otel/metric => go.opentelemetry.io/otel/metric v1.18.0 // https://github.com/kubernetes/kubernetes/issues/79384#issuecomment-505627280 k8s.io/api => k8s.io/api v0.29.0 diff --git a/kubelink/go.sum b/kubelink/go.sum index 6bd3db56e..5db6ae80e 100644 --- a/kubelink/go.sum +++ b/kubelink/go.sum @@ -79,8 +79,8 @@ github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxG github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 h1:9CFeiv7oWP6f5OJN6Jq1FJpPndxyx0GKAEoKORWxvkw= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 h1:NEmZC09r6KR+6aBGBbKPkJhgpDAtLrycinBe/BjTvZY= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/distribution/distribution/v3 v3.0.0-beta.1 h1:X+ELTxPuZ1Xe5MsD3kp2wfGUhc8I+MPfRis8dZ818Ic= diff --git a/kubelink/vendor/github.com/devtron-labs/common-lib/constants/constants.go b/kubelink/vendor/github.com/devtron-labs/common-lib/constants/constants.go index f327d712b..0baf2387e 100644 --- a/kubelink/vendor/github.com/devtron-labs/common-lib/constants/constants.go +++ b/kubelink/vendor/github.com/devtron-labs/common-lib/constants/constants.go @@ -34,6 +34,7 @@ const ( Kubelink ServiceName = "KUBELINK" GitSensor ServiceName = "GITSENSOR" Kubewatch ServiceName = "KUBEWATCH" + ImageScanner ServiceName = "IMAGE_SCANNER" ) // metrics name constants diff --git a/kubelink/vendor/modules.txt b/kubelink/vendor/modules.txt index b60948790..f40508eb3 100644 --- a/kubelink/vendor/modules.txt +++ b/kubelink/vendor/modules.txt @@ -127,7 +127,7 @@ github.com/cyphar/filepath-securejoin # github.com/davecgh/go-spew v1.1.1 ## explicit github.com/davecgh/go-spew/spew -# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 ## explicit; go 1.21 github.com/devtron-labs/common-lib/async github.com/devtron-labs/common-lib/constants @@ -1355,7 +1355,7 @@ sigs.k8s.io/structured-merge-diff/v4/value # sigs.k8s.io/yaml v1.3.0 ## explicit; go 1.12 sigs.k8s.io/yaml -# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 # go.opentelemetry.io/otel/metric => go.opentelemetry.io/otel/metric v1.18.0 # k8s.io/api => k8s.io/api v0.29.0 # k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.29.0 diff --git a/kubewatch/go.mod b/kubewatch/go.mod index 455727be7..86b126249 100644 --- a/kubewatch/go.mod +++ b/kubewatch/go.mod @@ -245,4 +245,4 @@ replace ( k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.29.7 ) -replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 diff --git a/kubewatch/go.sum b/kubewatch/go.sum index b3af175c7..a5f5769b0 100644 --- a/kubewatch/go.sum +++ b/kubewatch/go.sum @@ -719,8 +719,8 @@ github.com/cyphar/filepath-securejoin v0.3.6/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGL github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 h1:9CFeiv7oWP6f5OJN6Jq1FJpPndxyx0GKAEoKORWxvkw= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 h1:NEmZC09r6KR+6aBGBbKPkJhgpDAtLrycinBe/BjTvZY= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= diff --git a/kubewatch/vendor/github.com/devtron-labs/common-lib/constants/constants.go b/kubewatch/vendor/github.com/devtron-labs/common-lib/constants/constants.go index f327d712b..0baf2387e 100644 --- a/kubewatch/vendor/github.com/devtron-labs/common-lib/constants/constants.go +++ b/kubewatch/vendor/github.com/devtron-labs/common-lib/constants/constants.go @@ -34,6 +34,7 @@ const ( Kubelink ServiceName = "KUBELINK" GitSensor ServiceName = "GITSENSOR" Kubewatch ServiceName = "KUBEWATCH" + ImageScanner ServiceName = "IMAGE_SCANNER" ) // metrics name constants diff --git a/kubewatch/vendor/modules.txt b/kubewatch/vendor/modules.txt index 0e4f8fb27..223631670 100644 --- a/kubewatch/vendor/modules.txt +++ b/kubewatch/vendor/modules.txt @@ -215,7 +215,7 @@ github.com/cyphar/filepath-securejoin # github.com/davecgh/go-spew v1.1.1 ## explicit github.com/davecgh/go-spew/spew -# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 ## explicit; go 1.21 github.com/devtron-labs/common-lib/async github.com/devtron-labs/common-lib/constants @@ -1761,4 +1761,4 @@ upper.io/db.v3/postgresql # k8s.io/mount-utils => k8s.io/mount-utils v0.29.7 # k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.29.7 # k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.29.7 -# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 diff --git a/lens/go.mod b/lens/go.mod index 25e9ec389..87057e884 100644 --- a/lens/go.mod +++ b/lens/go.mod @@ -59,4 +59,4 @@ require ( github.com/onsi/gomega v1.18.1 // indirect ) -replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 diff --git a/lens/go.sum b/lens/go.sum index 7d80c66ee..b3204e9cd 100644 --- a/lens/go.sum +++ b/lens/go.sum @@ -22,8 +22,8 @@ github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWH github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 h1:9CFeiv7oWP6f5OJN6Jq1FJpPndxyx0GKAEoKORWxvkw= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 h1:NEmZC09r6KR+6aBGBbKPkJhgpDAtLrycinBe/BjTvZY= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= github.com/devtron-labs/protos v0.0.3-0.20240130061723-7b2e12ab0abb h1:CkfQQgZc950/hTPqtQSiHV2RmZgkBLGCzwR02FZYjAU= github.com/devtron-labs/protos v0.0.3-0.20240130061723-7b2e12ab0abb/go.mod h1:pjLjgoa1GzbkOkvbMyP4SAKsaiK7eG6GoQCNauG03JA= github.com/docker/cli v24.0.6+incompatible h1:fF+XCQCgJjjQNIMjzaSmiKJSCcfcXb3TWTcc7GAneOY= diff --git a/lens/vendor/github.com/devtron-labs/common-lib/constants/constants.go b/lens/vendor/github.com/devtron-labs/common-lib/constants/constants.go index f327d712b..0baf2387e 100644 --- a/lens/vendor/github.com/devtron-labs/common-lib/constants/constants.go +++ b/lens/vendor/github.com/devtron-labs/common-lib/constants/constants.go @@ -34,6 +34,7 @@ const ( Kubelink ServiceName = "KUBELINK" GitSensor ServiceName = "GITSENSOR" Kubewatch ServiceName = "KUBEWATCH" + ImageScanner ServiceName = "IMAGE_SCANNER" ) // metrics name constants diff --git a/lens/vendor/modules.txt b/lens/vendor/modules.txt index 07cfa3833..023ae3b47 100644 --- a/lens/vendor/modules.txt +++ b/lens/vendor/modules.txt @@ -7,7 +7,7 @@ github.com/caarlos0/env # github.com/cespare/xxhash/v2 v2.2.0 ## explicit; go 1.11 github.com/cespare/xxhash/v2 -# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16 ## explicit; go 1.21 github.com/devtron-labs/common-lib/constants github.com/devtron-labs/common-lib/fetchAllEnv @@ -289,4 +289,4 @@ google.golang.org/protobuf/types/known/timestamppb # mellium.im/sasl v0.3.2 ## explicit; go 1.20 mellium.im/sasl -# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516092629-1f57945dd6f2 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250516120455-f0b4891afc16