From 439aa2bff7dae85ad4e339aefa2e5c885745f94d Mon Sep 17 00:00:00 2001 From: Vikram <73224103+vikramdevtron@users.noreply.github.com> Date: Mon, 28 Apr 2025 13:48:08 +0530 Subject: [PATCH 1/5] sync: Main sync develop (#241) * fix: high memory usage in kubelink informers * fix: logging statements * fix for async mode change * main sync and vendor update * vendor update for release 34 --------- Co-authored-by: Ash-exp Co-authored-by: kartik-579 Co-authored-by: kartik-579 <84493919+kartik-579@users.noreply.github.com> --- chart-sync/go.mod | 2 +- chart-sync/go.sum | 4 +- chart-sync/vendor/modules.txt | 4 +- ci-runner/go.mod | 2 +- ci-runner/go.sum | 4 +- ci-runner/vendor/modules.txt | 4 +- git-sensor/go.mod | 2 +- git-sensor/go.sum | 4 +- git-sensor/vendor/modules.txt | 4 +- image-scanner/go.mod | 2 +- image-scanner/go.sum | 4 +- image-scanner/vendor/modules.txt | 4 +- kubelink/go.mod | 2 +- kubelink/go.sum | 4 +- kubelink/internals/middleware/instrument.go | 18 +- kubelink/pkg/k8sInformer/K8sInformer.go | 257 ++++++++++-------- kubelink/pkg/k8sInformer/bean.go | 42 +++ .../k8sInformer/{constants.go => error.go} | 12 +- kubelink/pkg/k8sInformer/util.go | 84 ++++++ .../helmApplicationService/adapter/adapter.go | 69 ++++- .../helmApplicationService/helmAppService.go | 104 +++---- .../helmApplicationService/release/bean.go | 70 +++++ kubelink/pkg/util/HelmServiceUtil.go | 46 ++-- kubelink/vendor/modules.txt | 4 +- kubewatch/go.mod | 2 +- kubewatch/go.sum | 4 +- kubewatch/vendor/modules.txt | 4 +- lens/go.mod | 2 +- lens/go.sum | 4 +- lens/vendor/modules.txt | 4 +- 30 files changed, 530 insertions(+), 242 deletions(-) create mode 100644 kubelink/pkg/k8sInformer/bean.go rename kubelink/pkg/k8sInformer/{constants.go => error.go} (78%) create mode 100644 kubelink/pkg/k8sInformer/util.go create mode 100644 kubelink/pkg/service/helmApplicationService/release/bean.go diff --git a/chart-sync/go.mod b/chart-sync/go.mod index 0f21765f8..35b96c5b5 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-20250422075550-c148aafa54fe + github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c 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 3aa7681e0..a9ecf7b81 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-20250422075550-c148aafa54fe h1:Ja7jgir0CkPXXQ1LZ5KyBAsd0gNXWsDdGUo2dw8/gPE= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250422075550-c148aafa54fe/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c h1:lIIGAMWM4UwSwrd5Ljm1x4vtNRm1s0q2mTqdQWX8L6Q= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c/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/modules.txt b/chart-sync/vendor/modules.txt index 2175373b7..1a03fae19 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-20250422075550-c148aafa54fe +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c ## 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-20250422075550-c148aafa54fe +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c diff --git a/ci-runner/go.mod b/ci-runner/go.mod index 14de3f235..29f786797 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-20250422075550-c148aafa54fe +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c require ( github.com/Knetic/govaluate v3.0.0+incompatible diff --git a/ci-runner/go.sum b/ci-runner/go.sum index 89cf4580e..2dd9b877c 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-20250422075550-c148aafa54fe h1:Ja7jgir0CkPXXQ1LZ5KyBAsd0gNXWsDdGUo2dw8/gPE= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250422075550-c148aafa54fe/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c h1:lIIGAMWM4UwSwrd5Ljm1x4vtNRm1s0q2mTqdQWX8L6Q= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c/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/modules.txt b/ci-runner/vendor/modules.txt index 1f45022cf..8580873af 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-20250422075550-c148aafa54fe +# github.com/devtron-labs/common-lib v0.19.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c ## 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-20250422075550-c148aafa54fe +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c diff --git a/git-sensor/go.mod b/git-sensor/go.mod index d073fa35e..b4876671c 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-20250422075550-c148aafa54fe +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c require ( github.com/caarlos0/env v3.5.0+incompatible diff --git a/git-sensor/go.sum b/git-sensor/go.sum index 53337e715..76870d698 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-20250422075550-c148aafa54fe h1:Ja7jgir0CkPXXQ1LZ5KyBAsd0gNXWsDdGUo2dw8/gPE= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250422075550-c148aafa54fe/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c h1:lIIGAMWM4UwSwrd5Ljm1x4vtNRm1s0q2mTqdQWX8L6Q= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c/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/modules.txt b/git-sensor/vendor/modules.txt index 52af12b2b..830fa9578 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-20250422075550-c148aafa54fe +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c ## 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-20250422075550-c148aafa54fe +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c diff --git a/image-scanner/go.mod b/image-scanner/go.mod index f2082434c..16b2be828 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-20250422075550-c148aafa54fe +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c diff --git a/image-scanner/go.sum b/image-scanner/go.sum index 5ad44c647..64b801a6a 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-20250422075550-c148aafa54fe h1:Ja7jgir0CkPXXQ1LZ5KyBAsd0gNXWsDdGUo2dw8/gPE= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250422075550-c148aafa54fe/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c h1:lIIGAMWM4UwSwrd5Ljm1x4vtNRm1s0q2mTqdQWX8L6Q= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c/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/modules.txt b/image-scanner/vendor/modules.txt index 5bfdae334..6663be60d 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-20250422075550-c148aafa54fe +# github.com/devtron-labs/common-lib v0.19.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c ## 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-20250422075550-c148aafa54fe +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c diff --git a/kubelink/go.mod b/kubelink/go.mod index 2e931d503..2c99649a0 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-20250422075550-c148aafa54fe + github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c 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 712d59a37..c290c2847 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-20250422075550-c148aafa54fe h1:Ja7jgir0CkPXXQ1LZ5KyBAsd0gNXWsDdGUo2dw8/gPE= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250422075550-c148aafa54fe/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c h1:lIIGAMWM4UwSwrd5Ljm1x4vtNRm1s0q2mTqdQWX8L6Q= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c/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/internals/middleware/instrument.go b/kubelink/internals/middleware/instrument.go index 2dfd5ef4c..e0c5062d1 100644 --- a/kubelink/internals/middleware/instrument.go +++ b/kubelink/internals/middleware/instrument.go @@ -27,9 +27,10 @@ import ( // metrics name constant const ( - KUBELINK_HTTP_DURATION_SECONDS = "kubelink_http_duration_seconds" - KUBELINK_HTTP_REQUESTS_TOTAL = "kubelink_http_requests_total" - KUBELINK_HTTP_REQUESTS_CURRENT = "kubelink_http_requests_current" + KUBELINK_HTTP_DURATION_SECONDS = "kubelink_http_duration_seconds" + KUBELINK_HTTP_REQUESTS_TOTAL = "kubelink_http_requests_total" + KUBELINK_HTTP_REQUESTS_CURRENT = "kubelink_http_requests_current" + KUBELINK_INFORMER_DATA_TRANSFORM_DURATION_SECONDS = "kubelink_informer_data_transform_duration_seconds" ) // metrics labels constants @@ -57,6 +58,17 @@ var currentRequestGauge = promauto.NewGaugeVec(prometheus.GaugeOpts{ Help: "no of request being served currently", }, []string{PATH, METHOD}) +var InformerDataTransformDuration = promauto.NewHistogramVec(prometheus.HistogramOpts{ + Name: KUBELINK_INFORMER_DATA_TRANSFORM_DURATION_SECONDS, + Help: "Duration of informer data transform request", +}, []string{CLUSTER_NAME, NAMESPACE, RELEASE_NAME}) + +const ( + CLUSTER_NAME = "clusterName" + NAMESPACE = "namespace" + RELEASE_NAME = "releaseName" +) + // prometheusMiddleware implements mux.MiddlewareFunc. func PrometheusMiddleware(next http.Handler) http.Handler { // prometheus.MustRegister(requestCounter) diff --git a/kubelink/pkg/k8sInformer/K8sInformer.go b/kubelink/pkg/k8sInformer/K8sInformer.go index a853d375b..67ff10b3f 100644 --- a/kubelink/pkg/k8sInformer/K8sInformer.go +++ b/kubelink/pkg/k8sInformer/K8sInformer.go @@ -17,10 +17,6 @@ package k8sInformer import ( - "bytes" - "compress/gzip" - "encoding/base64" - "encoding/json" "errors" "fmt" "github.com/devtron-labs/common-lib/async" @@ -31,11 +27,10 @@ import ( globalConfig "github.com/devtron-labs/kubelink/config" "github.com/devtron-labs/kubelink/converter" client "github.com/devtron-labs/kubelink/grpc" + "github.com/devtron-labs/kubelink/internals/middleware" repository "github.com/devtron-labs/kubelink/pkg/cluster" "github.com/devtron-labs/kubelink/pkg/service/helmApplicationService/adapter" "go.uber.org/zap" - "helm.sh/helm/v3/pkg/release" - "io/ioutil" coreV1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kubeinformers "k8s.io/client-go/informers" @@ -49,10 +44,6 @@ import ( ) type K8sInformer interface { - startInformer(clusterInfo bean.ClusterInfo) error - syncInformer(clusterId int) error - stopInformer(clusterName string, clusterId int) - startInformerAndPopulateCache(clusterId int) error GetAllReleaseByClusterId(clusterId int) []*client.DeployedAppDetail CheckReleaseExists(clusterId int32, releaseIdentifier string) bool GetClusterClientSet(clusterInfo bean.ClusterInfo) (*kubernetes.Clientset, error) @@ -121,7 +112,7 @@ func (impl *K8sInformerImpl) OnStateChange(clusterId int, action string) { switch action { case informerBean.ClusterActionUpdate: err := impl.syncInformer(clusterId) - if err != nil && err != errors.New(INFORMER_ALREADY_EXIST_MESSAGE) { + if err != nil && !errors.Is(err, InformerAlreadyExistError) { impl.logger.Errorw("error in updating informer for cluster", "id", clusterId, "err", err) return } @@ -131,11 +122,7 @@ func (impl *K8sInformerImpl) OnStateChange(clusterId int, action string) { impl.logger.Errorw("Error in fetching cluster by id", "cluster-id ", clusterId) return } - impl.stopInformer(deleteClusterInfo.ClusterName, deleteClusterInfo.Id) - if err != nil { - impl.logger.Errorw("error in updating informer for cluster", "id", clusterId, "err", err) - return - } + impl.stopInformer(deleteClusterInfo.Id) } } @@ -144,40 +131,6 @@ func (impl *K8sInformerImpl) RegisterListener(listener ClusterSecretUpdateListen impl.listeners = append(impl.listeners, listener) } -func decodeRelease(data string) (*release.Release, error) { - // base64 decode string - b64 := base64.StdEncoding - b, err := b64.DecodeString(data) - if err != nil { - return nil, err - } - - var magicGzip = []byte{0x1f, 0x8b, 0x08} - - // For backwards compatibility with releases that were stored before - // compression was introduced we skip decompression if the - // gzip magic header is not found - if len(b) > 3 && bytes.Equal(b[0:3], magicGzip) { - r, err := gzip.NewReader(bytes.NewReader(b)) - if err != nil { - return nil, err - } - defer r.Close() - b2, err := ioutil.ReadAll(r) - if err != nil { - return nil, err - } - b = b2 - } - - var rls release.Release - // unmarshal release object bytes - if err := json.Unmarshal(b, &rls); err != nil { - return nil, err - } - return &rls, nil -} - func (impl *K8sInformerImpl) BuildInformerForAllClusters(clusterInfos []*bean.ClusterInfo) error { if len(clusterInfos) == 0 { clusterInfo := &bean.ClusterInfo{ @@ -237,7 +190,7 @@ func (impl *K8sInformerImpl) startInformer(clusterInfo bean.ClusterInfo) error { // for default cluster adding an extra informer, this informer will add informer on new clusters if clusterInfo.ClusterName == commonBean.DEFAULT_CLUSTER { - impl.logger.Debugw("Starting informer, reading new cluster request for default cluster") + impl.logger.Debugw("starting informer, reading new cluster request for default cluster") labelOptions := kubeinformers.WithTweakListOptions(func(opts *metav1.ListOptions) { //kubectl get secret --field-selector type==cluster.request/modify --all-namespaces opts.FieldSelector = "type==cluster.request/modify" @@ -245,9 +198,10 @@ func (impl *K8sInformerImpl) startInformer(clusterInfo bean.ClusterInfo) error { informerFactory := kubeinformers.NewSharedInformerFactoryWithOptions(clusterClient, 15*time.Minute, labelOptions) stopper := make(chan struct{}) secretInformer := informerFactory.Core().V1().Secrets() - secretInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + _, err = secretInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ AddFunc: func(obj interface{}) { - impl.logger.Debugw("Event received in cluster secret Add informer", "time", time.Now()) + startTime := time.Now() + impl.logger.Debugw("CLUSTER_ADD_INFORMER: cluster secret add event received", "obj", obj, "time", time.Now()) if secretObject, ok := obj.(*coreV1.Secret); ok { if secretObject.Type != informerBean.ClusterModifyEventSecretType { return @@ -255,26 +209,32 @@ func (impl *K8sInformerImpl) startInformer(clusterInfo bean.ClusterInfo) error { data := secretObject.Data action := data["action"] id := string(data["cluster_id"]) - id_int, _ := strconv.Atoi(id) - + var idInt int + idInt, err = strconv.Atoi(id) + if err != nil { + impl.logger.Errorw("error in converting cluster id to int", "clusterId", id, "err", err) + return + } if string(action) == informerBean.ClusterActionAdd { - err = impl.startInformerAndPopulateCache(id_int) - if err != nil && err != errors.New(INFORMER_ALREADY_EXIST_MESSAGE) { - impl.logger.Debugw("error in adding informer for cluster", "id", id_int, "err", err) + err = impl.startInformerAndPopulateCache(idInt) + if err != nil && !errors.Is(err, InformerAlreadyExistError) { + impl.logger.Errorw("error in adding informer for cluster", "id", idInt, "err", err) return } } if string(action) == informerBean.ClusterActionUpdate { - err = impl.syncInformer(id_int) - if err != nil && err != errors.New(INFORMER_ALREADY_EXIST_MESSAGE) { - impl.logger.Debugw("error in updating informer for cluster", "id", clusterInfo.ClusterId, "name", clusterInfo.ClusterName, "err", err) + err = impl.syncInformer(idInt) + if err != nil && !errors.Is(err, InformerAlreadyExistError) { + impl.logger.Errorw("error in updating informer for cluster", "id", clusterInfo.ClusterId, "name", clusterInfo.ClusterName, "err", err) return } } + impl.logger.Infow("CLUSTER_ADD_INFORMER: registered informer for cluster", "clusterId", idInt, "timeTaken", time.Since(startTime)) } }, UpdateFunc: func(oldObj, newObj interface{}) { - impl.logger.Debugw("Event received in cluster secret update informer", "time", time.Now()) + startTime := time.Now() + impl.logger.Debugw("CLUSTER_UPDATE_INFORMER: cluster secret update event received", "oldObj", oldObj, "newObj", newObj, "time", time.Now()) if secretObject, ok := newObj.(*coreV1.Secret); ok { if secretObject.Type != informerBean.ClusterModifyEventSecretType { return @@ -282,23 +242,29 @@ func (impl *K8sInformerImpl) startInformer(clusterInfo bean.ClusterInfo) error { data := secretObject.Data action := data["action"] id := string(data["cluster_id"]) - id_int, _ := strconv.Atoi(id) - + var idInt int + idInt, err = strconv.Atoi(id) + if err != nil { + impl.logger.Errorw("error in converting cluster id to int", "clusterId", id, "err", err) + return + } if string(action) == informerBean.ClusterActionAdd { - err = impl.startInformerAndPopulateCache(clusterInfo.ClusterId) - if err != nil && err != errors.New(INFORMER_ALREADY_EXIST_MESSAGE) { - impl.logger.Errorw("error in adding informer for cluster", "id", id_int, "err", err) + err = impl.startInformerAndPopulateCache(idInt) + if err != nil && !errors.Is(err, InformerAlreadyExistError) { + impl.logger.Errorw("error in adding informer for cluster", "clusterId", idInt, "err", err) return } } - if string(action) == informerBean.ClusterActionUpdate { - impl.OnStateChange(id_int, string(action)) - impl.informOtherListeners(id_int, string(action)) + if string(action) == informerBean.ClusterActionAdd { + impl.OnStateChange(idInt, string(action)) + impl.informOtherListeners(idInt, string(action)) } + impl.logger.Infow("CLUSTER_UPDATE_INFORMER: registered informer for cluster", "clusterId", idInt, "timeTaken", time.Since(startTime)) } }, DeleteFunc: func(obj interface{}) { - impl.logger.Debugw("Event received in secret delete informer", "time", time.Now()) + startTime := time.Now() + impl.logger.Debugw("CLUSTER_DELETE_INFORMER: secret delete event received", "obj", obj, "time", time.Now()) if secretObject, ok := obj.(*coreV1.Secret); ok { if secretObject.Type != informerBean.ClusterModifyEventSecretType { return @@ -306,15 +272,23 @@ func (impl *K8sInformerImpl) startInformer(clusterInfo bean.ClusterInfo) error { data := secretObject.Data action := data["action"] id := string(data["cluster_id"]) - id_int, _ := strconv.Atoi(id) - + idInt, err := strconv.Atoi(id) + if err != nil { + impl.logger.Errorw("error in converting cluster id to int", "clusterId", id, "err", err) + return + } if string(action) == informerBean.ClusterActionDelete { - impl.OnStateChange(id_int, string(action)) - impl.informOtherListeners(id_int, string(action)) + impl.OnStateChange(idInt, string(action)) + impl.informOtherListeners(idInt, string(action)) } + impl.logger.Infow("CLUSTER_DELETE_INFORMER: registered informer for cluster", "clusterId", idInt, "timeTaken", time.Since(startTime)) } }, }) + if err != nil { + impl.logger.Errorw("error in adding event handler for cluster secret informer", "err", err) + return err + } informerFactory.Start(stopper) //impl.informerStopper[clusterInfo.ClusterName+"_second_informer"] = stopper @@ -322,7 +296,7 @@ func (impl *K8sInformerImpl) startInformer(clusterInfo bean.ClusterInfo) error { // these informers will be used to populate helm release cache err = impl.startInformerAndPopulateCache(clusterInfo.ClusterId) - if err != nil && err != errors.New(INFORMER_ALREADY_EXIST_MESSAGE) { + if err != nil && !errors.Is(err, InformerAlreadyExistError) { impl.logger.Errorw("error in creating informer for new cluster", "err", err) return err } @@ -340,31 +314,53 @@ func (impl *K8sInformerImpl) syncInformer(clusterId int) error { clusterInfo, err := impl.clusterRepository.FindById(clusterId) if err != nil { - impl.logger.Errorw("error in fetching cluster info by id", "err", err) + impl.logger.Errorw("error in fetching cluster info by id", "clusterId", clusterId, "err", err) return err } //before creating new informer for cluster, close existing one - impl.logger.Debugw("stopping informer for cluster - ", "cluster-name", clusterInfo.ClusterName, "cluster-id", clusterInfo.Id) - impl.stopInformer(clusterInfo.ClusterName, clusterInfo.Id) - impl.logger.Debugw("informer stopped", "cluster-name", clusterInfo.ClusterName, "cluster-id", clusterInfo.Id) + impl.logger.Debugw("stopping informer for cluster - ", "clusterName", clusterInfo.ClusterName, "clusterId", clusterInfo.Id) + impl.stopInformer(clusterInfo.Id) + impl.logger.Debugw("informer stopped", "clusterName", clusterInfo.ClusterName, "clusterId", clusterInfo.Id) //create new informer for cluster with new config err = impl.startInformerAndPopulateCache(clusterId) if err != nil { - impl.logger.Errorw("error in starting informer for ", "cluster name", clusterInfo.ClusterName) + impl.logger.Errorw("error in starting informer for", "clusterName", clusterInfo.ClusterName) return err } return nil } -func (impl *K8sInformerImpl) stopInformer(clusterName string, clusterId int) { - stopper := impl.informerStopper[clusterId] - if stopper != nil { +func (impl *K8sInformerImpl) stopInformer(clusterId int) { + if stopper, ok := impl.informerStopper[clusterId]; ok && stopper != nil { close(stopper) delete(impl.informerStopper, clusterId) } return } +func (impl *K8sInformerImpl) transformHelmRelease(clusterModel *repository.Cluster, obj any) (*coreV1.Secret, error) { + startTime := time.Now() + if secretObject, ok := obj.(*coreV1.Secret); ok && secretObject.Type == HELM_RELEASE_SECRET_TYPE { + releaseDTO, err := decodeHelmReleaseData(string(secretObject.Data["release"])) + if err != nil { + impl.logger.Errorw("TRANSFORM_HELM_RELEASE: error in decoding helm release", "clusterId", clusterModel.Id, "timeTaken", time.Since(startTime), "err", err) + return nil, err + } + appDetail := adapter.ParseDeployedAppDetail(int32(clusterModel.Id), clusterModel.ClusterName, releaseDTO) + transformedSecretData, err := parseSecretDataForDeployedAppDetail(appDetail) + if err != nil { + impl.logger.Errorw("TRANSFORM_HELM_RELEASE: error in parsing secret data for deployed app detail", "clusterId", clusterModel.Id, "appDetail", appDetail, "timeTaken", time.Since(startTime), "err", err) + return nil, err + } + secretObject.Data = transformedSecretData + impl.logger.Debugw("TRANSFORM_HELM_RELEASE: successfully decoded helm release", "clusterId", clusterModel.Id, "appDetail", appDetail, "timeTaken", time.Since(startTime)) + middleware.InformerDataTransformDuration.WithLabelValues(clusterModel.ClusterName, releaseDTO.Namespace, releaseDTO.Name).Observe(time.Since(startTime).Seconds()) + return secretObject, nil + } + impl.logger.Warnw("TRANSFORM_HELM_RELEASE: not a helm release secret", "clusterId", clusterModel.Id, "obj", obj) + return nil, errors.New("error: not a helm release secret") +} + func (impl *K8sInformerImpl) startInformerAndPopulateCache(clusterId int) error { clusterModel, err := impl.clusterRepository.FindById(clusterId) @@ -375,7 +371,7 @@ func (impl *K8sInformerImpl) startInformerAndPopulateCache(clusterId int) error if _, ok := impl.informerStopper[clusterId]; ok { impl.logger.Debugw(fmt.Sprintf("informer for %s already exist", clusterModel.ClusterName)) - return errors.New(INFORMER_ALREADY_EXIST_MESSAGE) + return InformerAlreadyExistError } impl.logger.Infow("starting informer for cluster - ", "cluster-id ", clusterModel.Id, "cluster-name ", clusterModel.ClusterName) @@ -407,68 +403,107 @@ func (impl *K8sInformerImpl) startInformerAndPopulateCache(clusterId int) error opts.LabelSelector = "status!=superseded" opts.FieldSelector = "type==helm.sh/release.v1" }) - informerFactory := kubeinformers.NewSharedInformerFactoryWithOptions(clusterClient, 15*time.Minute, labelOptions) + transformerFunc := kubeinformers.WithTransform(func(obj any) (any, error) { + return impl.transformHelmRelease(clusterModel, obj) + }) + informerFactory := kubeinformers.NewSharedInformerFactoryWithOptions(clusterClient, 15*time.Minute, labelOptions, transformerFunc) stopper := make(chan struct{}) secretInformer := informerFactory.Core().V1().Secrets() - secretInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ - AddFunc: func(obj interface{}) { - impl.logger.Debugw("Event received in Helm secret add informer", "time", time.Now()) + _, err = secretInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: func(obj any) { + startTime := time.Now() + impl.logger.Debugw("RELEASE_ADD_INFORMER: helm secret add event received", "clusterId", clusterModel.Id, "time", time.Now()) if secretObject, ok := obj.(*coreV1.Secret); ok { - - if secretObject.Type != HELM_RELEASE_SECRET_TYPE { + if secretObject == nil { + impl.logger.Errorw("RELEASE_ADD_INFORMER: secret object is nil! unexpected...", "clusterId", clusterModel.Id) return } - releaseDTO, err := decodeRelease(string(secretObject.Data["release"])) + impl.logger.Debugw("RELEASE_ADD_INFORMER: secret object found", "clusterId", clusterModel.Id, "secretObject", secretObject.Data) + appDetail, err := getDeployedAppDetailFromSecretData(secretObject.Data) if err != nil { - impl.logger.Error("error in decoding release") + impl.logger.Errorw("RELEASE_ADD_INFORMER: error in getting deployed app detail from secret data", "clusterId", clusterModel.Id, "err", err) + return } - appDetail := adapter.ParseDeployedAppDetail(int32(clusterModel.Id), clusterModel.ClusterName, releaseDTO) + if appDetail == nil { + impl.logger.Errorw("RELEASE_ADD_INFORMER: app detail is nil! unexpected...", "clusterId", clusterModel.Id) + return + } + impl.logger.Debugw("RELEASE_ADD_INFORMER: app detail found", "clusterId", clusterModel.Id, "appDetail", appDetail) impl.mutex.Lock() defer impl.mutex.Unlock() - impl.HelmListClusterMap[clusterId][impl.getUniqueReleaseKey(&ReleaseDto{releaseDTO}, clusterModel.Id)] = appDetail + impl.HelmListClusterMap[clusterId][impl.getUniqueReleaseKey(NewDeployedAppDetailDto(appDetail))] = appDetail + impl.logger.Infow("RELEASE_ADD_INFORMER: added app detail in cache", "clusterId", clusterModel.Id, "namespace", appDetail.EnvironmentDetail.Namespace, "releaseName", appDetail.AppName, "timeTaken", time.Since(startTime)) + } else { + impl.logger.Errorw("RELEASE_ADD_INFORMER: not a secret object", "clusterId", clusterModel.Id, "obj", obj) } }, UpdateFunc: func(oldObj, newObj interface{}) { - impl.logger.Debugw("Event received in Helm secret update informer", "time", time.Now()) - if secretObject, ok := oldObj.(*coreV1.Secret); ok { - if secretObject.Type != HELM_RELEASE_SECRET_TYPE { + startTime := time.Now() + impl.logger.Debugw("RELEASE_UPDATE_INFORMER: helm secret update event received", "clusterId", clusterModel.Id, "time", time.Now()) + if secretObject, ok := newObj.(*coreV1.Secret); ok { + if secretObject == nil { + impl.logger.Errorw("secret object is nil! unexpected...", "clusterId", clusterModel.Id) return } - releaseDTO, err := decodeRelease(string(secretObject.Data["release"])) + impl.logger.Debugw("RELEASE_UPDATE_INFORMER: secret object found", "clusterId", clusterModel.Id, "secretObject", secretObject.Data) + appDetail, err := getDeployedAppDetailFromSecretData(secretObject.Data) if err != nil { - impl.logger.Error("error in decoding release") + impl.logger.Errorw("RELEASE_UPDATE_INFORMER: error in getting deployed app detail from secret data", "clusterId", clusterModel.Id, "err", err) + return + } + if appDetail == nil { + impl.logger.Errorw("RELEASE_UPDATE_INFORMER: app detail is nil! unexpected...", "clusterId", clusterModel.Id) + return } - appDetail := adapter.ParseDeployedAppDetail(int32(clusterModel.Id), clusterModel.ClusterName, releaseDTO) + impl.logger.Debugw("RELEASE_UPDATE_INFORMER: app detail found", "clusterId", clusterModel.Id, "appDetail", appDetail) impl.mutex.Lock() defer impl.mutex.Unlock() - // adding cluster id with release name and namespace because there can be case when two cluster or two namespaces have release with same name - impl.HelmListClusterMap[clusterId][impl.getUniqueReleaseKey(&ReleaseDto{releaseDTO}, clusterModel.Id)] = appDetail + impl.HelmListClusterMap[clusterId][impl.getUniqueReleaseKey(NewDeployedAppDetailDto(appDetail))] = appDetail + impl.logger.Infow("RELEASE_UPDATE_INFORMER: updated app detail in cache", "clusterId", clusterModel.Id, "namespace", appDetail.EnvironmentDetail.Namespace, "releaseName", appDetail.AppName, "timeTaken", time.Since(startTime)) + } else { + impl.logger.Errorw("RELEASE_UPDATE_INFORMER: not a secret object", "clusterId", clusterModel.Id, "obj", newObj) } }, DeleteFunc: func(obj interface{}) { - impl.logger.Debugw("Event received in Helm secret delete informer", "time", time.Now()) + startTime := time.Now() + impl.logger.Debugw("RELEASE_DELETE_INFORMER: helm secret delete event received", "clusterId", clusterModel.Id, "time", time.Now()) if secretObject, ok := obj.(*coreV1.Secret); ok { - if secretObject.Type != HELM_RELEASE_SECRET_TYPE { + if secretObject == nil { + impl.logger.Errorw("RELEASE_DELETE_INFORMER: secret object is nil! unexpected...", "clusterId", clusterModel.Id) return } - releaseDTO, err := decodeRelease(string(secretObject.Data["release"])) + impl.logger.Debugw("RELEASE_DELETE_INFORMER: secret object found", "clusterId", clusterModel.Id, "secretObject", secretObject.Data) + appDetail, err := getDeployedAppDetailFromSecretData(secretObject.Data) if err != nil { - impl.logger.Error("error in decoding release") + impl.logger.Errorw("RELEASE_DELETE_INFORMER: error in getting deployed app detail from secret data", "clusterId", clusterModel.Id, "err", err) + return + } + if appDetail == nil { + impl.logger.Errorw("RELEASE_DELETE_INFORMER: app detail is nil! unexpected...", "clusterId", clusterModel.Id) + return } + impl.logger.Debugw("RELEASE_DELETE_INFORMER: app detail found", "clusterId", clusterModel.Id, "appDetail", appDetail) impl.mutex.Lock() defer impl.mutex.Unlock() - delete(impl.HelmListClusterMap[clusterId], impl.getUniqueReleaseKey(&ReleaseDto{releaseDTO}, clusterModel.Id)) + delete(impl.HelmListClusterMap[clusterId], impl.getUniqueReleaseKey(NewDeployedAppDetailDto(appDetail))) + impl.logger.Infow("RELEASE_DELETE_INFORMER: deleted app detail in cache", "clusterId", clusterModel.Id, "namespace", appDetail.EnvironmentDetail.Namespace, "releaseName", appDetail.AppName, "timeTaken", time.Since(startTime)) + } else { + impl.logger.Errorw("RELEASE_DELETE_INFORMER: not a secret object", "clusterId", clusterModel.Id, "obj", obj) } }, }) + if err != nil { + impl.logger.Errorw("error in adding event handler for helm secret informer", "clusterId", clusterId, "err", err) + return err + } informerFactory.Start(stopper) - impl.logger.Infow("informer started for cluster: ", "cluster_id", clusterModel.Id, "cluster_name", clusterModel.ClusterName) + impl.logger.Infow("informer started for cluster", "clusterId", clusterModel.Id, "clusterName", clusterModel.ClusterName) impl.informerStopper[clusterId] = stopper return nil } -func (impl *K8sInformerImpl) getUniqueReleaseKey(release *ReleaseDto, clusterId int) string { - return release.getUniqueReleaseIdentifier() + "_" + strconv.Itoa(clusterId) +func (impl *K8sInformerImpl) getUniqueReleaseKey(appDetailDto *DeployedAppDetailDto) string { + return appDetailDto.getUniqueReleaseIdentifier() } func (impl *K8sInformerImpl) GetAllReleaseByClusterId(clusterId int) []*client.DeployedAppDetail { diff --git a/kubelink/pkg/k8sInformer/bean.go b/kubelink/pkg/k8sInformer/bean.go new file mode 100644 index 000000000..6948084ac --- /dev/null +++ b/kubelink/pkg/k8sInformer/bean.go @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2024. Devtron Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package k8sInformer + +import ( + "fmt" + client "github.com/devtron-labs/kubelink/grpc" +) + +const ( + secretKeyAppDetailKey = "appDetail" +) + +type DeployedAppDetailDto struct { + *client.DeployedAppDetail +} + +func NewDeployedAppDetailDto(appDetail *client.DeployedAppDetail) *DeployedAppDetailDto { + return &DeployedAppDetailDto{DeployedAppDetail: appDetail} +} + +func (r *DeployedAppDetailDto) getUniqueReleaseIdentifier() string { + if r == nil || r.EnvironmentDetail == nil { + return "" + } + // adding cluster id with release name and namespace because there can be case when two cluster or two namespaces have release with same name + return fmt.Sprintf("%s_%s_%d", r.EnvironmentDetail.Namespace, r.AppName, r.EnvironmentDetail.ClusterId) +} diff --git a/kubelink/pkg/k8sInformer/constants.go b/kubelink/pkg/k8sInformer/error.go similarity index 78% rename from kubelink/pkg/k8sInformer/constants.go rename to kubelink/pkg/k8sInformer/error.go index 23ca9f809..9fcf1ea8f 100644 --- a/kubelink/pkg/k8sInformer/constants.go +++ b/kubelink/pkg/k8sInformer/error.go @@ -18,19 +18,13 @@ package k8sInformer import ( "errors" - "helm.sh/helm/v3/pkg/release" ) -type ReleaseDto struct { - *release.Release -} - -func (r *ReleaseDto) getUniqueReleaseIdentifier() string { - return r.Namespace + "_" + r.Name -} - var ( + // ErrorCacheMissReleaseNotFound is returned when a release is not found in the cache ErrorCacheMissReleaseNotFound = errors.New("release not found in cache") + // InformerAlreadyExistError is returned when an informer already exists + InformerAlreadyExistError = errors.New(INFORMER_ALREADY_EXIST_MESSAGE) ) const ( diff --git a/kubelink/pkg/k8sInformer/util.go b/kubelink/pkg/k8sInformer/util.go new file mode 100644 index 000000000..7cc1e7783 --- /dev/null +++ b/kubelink/pkg/k8sInformer/util.go @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2024. Devtron Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package k8sInformer + +import ( + "bytes" + "compress/gzip" + "encoding/base64" + "encoding/json" + "errors" + client "github.com/devtron-labs/kubelink/grpc" + "github.com/devtron-labs/kubelink/pkg/service/helmApplicationService/release" + "io" +) + +func parseSecretDataForDeployedAppDetail(appDetail *client.DeployedAppDetail) (map[string][]byte, error) { + appDetailBytes, err := json.Marshal(appDetail) + if err != nil { + return nil, err + } + data := make(map[string][]byte) + data[secretKeyAppDetailKey] = appDetailBytes + return data, nil +} + +func getDeployedAppDetailFromSecretData(data map[string][]byte) (*client.DeployedAppDetail, error) { + if appDetailBytes, ok := data[secretKeyAppDetailKey]; ok { + var appDetail client.DeployedAppDetail + err := json.Unmarshal(appDetailBytes, &appDetail) + if err != nil { + return nil, err + } + return &appDetail, nil + } + return nil, errors.New("app detail not found in secret data") +} + +func decodeHelmReleaseData(data string) (*release.Release, error) { + // base64 decode string + b64 := base64.StdEncoding + b, err := b64.DecodeString(data) + if err != nil { + return nil, err + } + + var magicGzip = []byte{0x1f, 0x8b, 0x08} + + // For backwards compatibility with releases that were stored before + // compression was introduced we skip decompression if the + // gzip magic header is not found + if len(b) > 3 && bytes.Equal(b[0:3], magicGzip) { + r, err := gzip.NewReader(bytes.NewReader(b)) + if err != nil { + return nil, err + } + defer r.Close() + b2, err := io.ReadAll(r) + if err != nil { + return nil, err + } + b = b2 + } + + var rls release.Release + // unmarshal release object bytes + if err := json.Unmarshal(b, &rls); err != nil { + return nil, err + } + return &rls, nil +} diff --git a/kubelink/pkg/service/helmApplicationService/adapter/adapter.go b/kubelink/pkg/service/helmApplicationService/adapter/adapter.go index 35f334d60..207676c23 100644 --- a/kubelink/pkg/service/helmApplicationService/adapter/adapter.go +++ b/kubelink/pkg/service/helmApplicationService/adapter/adapter.go @@ -2,11 +2,13 @@ package adapter import ( "github.com/devtron-labs/common-lib/helmLib/registry" - "github.com/devtron-labs/common-lib/utils/remoteConnection/bean" + remoteConnection "github.com/devtron-labs/common-lib/utils/remoteConnection/bean" client "github.com/devtron-labs/kubelink/grpc" + "github.com/devtron-labs/kubelink/pkg/service/helmApplicationService/release" "github.com/devtron-labs/kubelink/pkg/util" "google.golang.org/protobuf/types/known/timestamppb" - "helm.sh/helm/v3/pkg/release" + helmChart "helm.sh/helm/v3/pkg/chart" + helmRelease "helm.sh/helm/v3/pkg/release" ) func NewRegistryConfig(credential *client.RegistryCredential) (*registry.Configuration, error) { @@ -37,15 +39,15 @@ func NewRegistryConfig(credential *client.RegistryCredential) (*registry.Configu connectionConfig := credential.RemoteConnectionConfig if connectionConfig != nil { - registryConfig.RemoteConnectionConfig = &bean.RemoteConnectionConfigBean{} + registryConfig.RemoteConnectionConfig = &remoteConnection.RemoteConnectionConfigBean{} switch connectionConfig.RemoteConnectionMethod { case client.RemoteConnectionMethod_DIRECT: - registryConfig.RemoteConnectionConfig.ConnectionMethod = bean.RemoteConnectionMethodDirect + registryConfig.RemoteConnectionConfig.ConnectionMethod = remoteConnection.RemoteConnectionMethodDirect case client.RemoteConnectionMethod_PROXY: - registryConfig.RemoteConnectionConfig.ConnectionMethod = bean.RemoteConnectionMethodProxy + registryConfig.RemoteConnectionConfig.ConnectionMethod = remoteConnection.RemoteConnectionMethodProxy registryConfig.RemoteConnectionConfig.ProxyConfig = ConvertConfigToProxyConfig(connectionConfig) case client.RemoteConnectionMethod_SSH: - registryConfig.RemoteConnectionConfig.ConnectionMethod = bean.RemoteConnectionMethodSSH + registryConfig.RemoteConnectionConfig.ConnectionMethod = remoteConnection.RemoteConnectionMethodSSH registryConfig.RemoteConnectionConfig.SSHTunnelConfig = ConvertConfigToSSHTunnelConfig(connectionConfig) } } @@ -53,20 +55,20 @@ func NewRegistryConfig(credential *client.RegistryCredential) (*registry.Configu return registryConfig, nil } -func ConvertConfigToProxyConfig(config *client.RemoteConnectionConfig) *bean.ProxyConfig { - var proxyConfig *bean.ProxyConfig +func ConvertConfigToProxyConfig(config *client.RemoteConnectionConfig) *remoteConnection.ProxyConfig { + var proxyConfig *remoteConnection.ProxyConfig if config.ProxyConfig != nil { - proxyConfig = &bean.ProxyConfig{ + proxyConfig = &remoteConnection.ProxyConfig{ ProxyUrl: config.ProxyConfig.ProxyUrl, } } return proxyConfig } -func ConvertConfigToSSHTunnelConfig(config *client.RemoteConnectionConfig) *bean.SSHTunnelConfig { - var sshConfig *bean.SSHTunnelConfig +func ConvertConfigToSSHTunnelConfig(config *client.RemoteConnectionConfig) *remoteConnection.SSHTunnelConfig { + var sshConfig *remoteConnection.SSHTunnelConfig if config.SSHTunnelConfig != nil { - sshConfig = &bean.SSHTunnelConfig{ + sshConfig = &remoteConnection.SSHTunnelConfig{ SSHUsername: config.SSHTunnelConfig.SSHUsername, SSHPassword: config.SSHTunnelConfig.SSHPassword, SSHAuthKey: config.SSHTunnelConfig.SSHAuthKey, @@ -120,3 +122,46 @@ func GetAppDetailRequestFromGetResourceTreeRequest(req *client.GetResourceTreeRe CacheConfig: req.CacheConfig, } } + +func NewRelease(helmRelease *helmRelease.Release) *release.Release { + if helmRelease == nil { + return nil + } + return &release.Release{ + Name: helmRelease.Name, + Namespace: helmRelease.Namespace, + Info: NewReleaseInfo(helmRelease.Info), + Chart: NewChart(helmRelease.Chart), + } +} + +func NewReleaseInfo(helmReleaseInfo *helmRelease.Info) *release.Info { + if helmReleaseInfo == nil { + return nil + } + return &release.Info{ + LastDeployed: helmReleaseInfo.LastDeployed, + Status: helmReleaseInfo.Status, + } +} + +func NewChart(helmChart *helmChart.Chart) *release.Chart { + if helmChart == nil { + return nil + } + return &release.Chart{ + Metadata: NewChartMetadata(helmChart.Metadata), + } +} + +func NewChartMetadata(helmChartMetadata *helmChart.Metadata) *release.Metadata { + if helmChartMetadata == nil { + return nil + } + return &release.Metadata{ + Name: helmChartMetadata.Name, + Version: helmChartMetadata.Version, + Icon: helmChartMetadata.Icon, + Home: helmChartMetadata.Home, + } +} diff --git a/kubelink/pkg/service/helmApplicationService/helmAppService.go b/kubelink/pkg/service/helmApplicationService/helmAppService.go index c73a91bf2..586395f1b 100644 --- a/kubelink/pkg/service/helmApplicationService/helmAppService.go +++ b/kubelink/pkg/service/helmApplicationService/helmAppService.go @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package helmApplicationService import ( @@ -22,16 +23,16 @@ import ( "encoding/json" "errors" "fmt" - registry2 "github.com/devtron-labs/common-lib/helmLib/registry" + "github.com/devtron-labs/common-lib/helmLib/registry" "github.com/devtron-labs/common-lib/utils/k8s/commonBean" "github.com/devtron-labs/common-lib/utils/k8sObjectsUtil" "github.com/devtron-labs/kubelink/converter" - error2 "github.com/devtron-labs/kubelink/error" + customErr "github.com/devtron-labs/kubelink/error" repository "github.com/devtron-labs/kubelink/pkg/cluster" "github.com/devtron-labs/kubelink/pkg/service/commonHelmService" "github.com/devtron-labs/kubelink/pkg/service/helmApplicationService/adapter" "helm.sh/helm/v3/pkg/chart/loader" - "helm.sh/helm/v3/pkg/registry" + helmRegistry "helm.sh/helm/v3/pkg/registry" "helm.sh/helm/v3/pkg/storage/driver" "net/url" "path" @@ -57,7 +58,7 @@ import ( "helm.sh/helm/v3/pkg/release" "helm.sh/helm/v3/pkg/repo" "io/ioutil" - errors2 "k8s.io/apimachinery/pkg/api/errors" + k8sErrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" @@ -120,7 +121,7 @@ type HelmAppServiceImpl struct { pubsubClient *pubsub_lib.PubSubClientServiceImpl clusterRepository repository.ClusterRepository converter converter.ClusterBeanConverter - registrySettings registry2.SettingsFactory + registrySettings registry.SettingsFactory common commonHelmService.CommonHelmService resourceTreeService commonHelmService.ResourceTreeService } @@ -128,7 +129,7 @@ type HelmAppServiceImpl struct { func NewHelmAppServiceImpl(logger *zap.SugaredLogger, k8sService commonHelmService.K8sService, k8sInformer k8sInformer.K8sInformer, helmReleaseConfig *globalConfig.HelmReleaseConfig, k8sUtil k8sUtils.K8sService, converter converter.ClusterBeanConverter, - clusterRepository repository.ClusterRepository, common commonHelmService.CommonHelmService, registrySettings registry2.SettingsFactory, + clusterRepository repository.ClusterRepository, common commonHelmService.CommonHelmService, registrySettings registry.SettingsFactory, resourceTreeService commonHelmService.ResourceTreeService) (*HelmAppServiceImpl, error) { var pubsubClient *pubsub_lib.PubSubClientServiceImpl @@ -177,7 +178,7 @@ func (impl *HelmAppServiceImpl) GetRandomString() string { func (impl *HelmAppServiceImpl) getDeployedAppDetails(config *client.ClusterConfig) (deployedApps []*client.DeployedAppDetail, err error) { if impl.helmReleaseConfig.IsHelmReleaseCachingEnabled() { - impl.logger.Infow("Fetching helm release using Cache") + impl.logger.Infow("fetching helm release using Cache") return impl.K8sInformer.GetAllReleaseByClusterId(int(config.GetClusterId())), nil } @@ -199,14 +200,14 @@ func (impl *HelmAppServiceImpl) getDeployedAppDetails(config *client.ClusterConf } impl.logger.Debug("fetching all release list from helm") - releases, err := helmAppClient.ListAllReleases() + helmReleases, err := helmAppClient.ListAllReleases() if err != nil { impl.logger.Errorw("error in getting releases list ", "clusterId", config.ClusterId, "err", err) return deployedApps, err } - for _, item := range releases { - deployedApps = append(deployedApps, adapter.NewDeployedAppDetail(config, item)) + for _, helmRelease := range helmReleases { + deployedApps = append(deployedApps, adapter.NewDeployedAppDetail(config, adapter.NewRelease(helmRelease))) } return deployedApps, nil } @@ -225,18 +226,18 @@ func (impl *HelmAppServiceImpl) GetApplicationListForCluster(config *client.Clus return deployedApp } -func (impl HelmAppServiceImpl) GetResourceTreeForExternalResources(ctx context.Context, req *client.ExternalResourceTreeRequest) (*bean.ResourceTreeResponse, error) { +func (impl *HelmAppServiceImpl) GetResourceTreeForExternalResources(ctx context.Context, req *client.ExternalResourceTreeRequest) (*bean.ResourceTreeResponse, error) { return impl.common.GetResourceTreeForExternalResources(ctx, req) } -func (impl HelmAppServiceImpl) BuildAppDetail(ctx context.Context, req *client.AppDetailRequest) (*bean.AppDetail, error) { +func (impl *HelmAppServiceImpl) BuildAppDetail(ctx context.Context, req *client.AppDetailRequest) (*bean.AppDetail, error) { helmRelease, err := impl.common.GetHelmRelease(req.ClusterConfig, req.Namespace, req.ReleaseName) if err != nil { impl.logger.Errorw("Error in getting helm release ", "err", err) if errors.Is(err, driver.ErrReleaseNotFound) { return &bean.AppDetail{ReleaseExists: false}, err } - internalErr := error2.ConvertHelmErrorToInternalError(err) + internalErr := customErr.ConvertHelmErrorToInternalError(err) if internalErr != nil { err = internalErr } @@ -301,7 +302,7 @@ func (impl *HelmAppServiceImpl) FetchApplicationStatus(req *client.AppDetailRequ helmRelease, err := impl.common.GetHelmRelease(req.ClusterConfig, req.Namespace, req.ReleaseName) if err != nil { impl.logger.Errorw("Error in getting helm release ", "err", err) - internalErr := error2.ConvertHelmErrorToInternalError(err) + internalErr := customErr.ConvertHelmErrorToInternalError(err) if internalErr != nil { err = internalErr } @@ -325,12 +326,12 @@ func (impl *HelmAppServiceImpl) FetchApplicationStatus(req *client.AppDetailRequ // FetchApplicationStatusV2 gets the application status of helm release using cache if preferred which can be used anywhere as it gives unfiltered status // unlike its counterpart FetchApplicationStatus which filters down status into healthy or non-healthy since it is only used for deployment status calculation. -func (impl HelmAppServiceImpl) FetchApplicationStatusV2(ctx context.Context, req *client.AppDetailRequest) (*client.AppStatus, error) { +func (impl *HelmAppServiceImpl) FetchApplicationStatusV2(ctx context.Context, req *client.AppDetailRequest) (*client.AppStatus, error) { helmAppStatus := &client.AppStatus{} helmRelease, err := impl.common.GetHelmRelease(req.ClusterConfig, req.Namespace, req.ReleaseName) if err != nil { impl.logger.Errorw("Error in getting helm release ", "err", err) - internalErr := error2.ConvertHelmErrorToInternalError(err) + internalErr := customErr.ConvertHelmErrorToInternalError(err) if internalErr != nil { err = internalErr } @@ -350,7 +351,7 @@ func (impl *HelmAppServiceImpl) GetHelmAppValues(req *client.AppDetailRequest) ( helmRelease, err := impl.common.GetHelmRelease(req.ClusterConfig, req.Namespace, req.ReleaseName) if err != nil { impl.logger.Errorw("Error in getting helm release ", "err", err) - internalErr := error2.ConvertHelmErrorToInternalError(err) + internalErr := customErr.ConvertHelmErrorToInternalError(err) if internalErr != nil { err = internalErr } @@ -368,7 +369,7 @@ func (impl *HelmAppServiceImpl) GetHelmAppValues(req *client.AppDetailRequest) ( return nil, err } - appDetail := adapter.ParseDeployedAppDetail(req.ClusterConfig.ClusterId, req.ClusterConfig.ClusterName, helmRelease) + appDetail := adapter.ParseDeployedAppDetail(req.ClusterConfig.ClusterId, req.ClusterConfig.ClusterName, adapter.NewRelease(helmRelease)) releaseInfo.DeployedAppDetail = appDetail return releaseInfo, nil @@ -469,7 +470,7 @@ func (impl *HelmAppServiceImpl) GetDeploymentHistory(req *client.AppDetailReques helmReleases, err := impl.getHelmReleaseHistory(req.ClusterConfig, req.Namespace, req.ReleaseName, impl.helmReleaseConfig.MaxCountForHelmRelease) if err != nil { impl.logger.Errorw("Error in getting helm release history ", "err", err) - internalErr := error2.ConvertHelmErrorToInternalError(err) + internalErr := customErr.ConvertHelmErrorToInternalError(err) if internalErr != nil { err = internalErr } @@ -516,7 +517,7 @@ func (impl *HelmAppServiceImpl) GetDesiredManifest(req *client.ObjectRequest) (* helmRelease, err := impl.common.GetHelmRelease(req.ClusterConfig, req.ReleaseNamespace, req.ReleaseName) if err != nil { impl.logger.Errorw("Error in getting helm release ", "err", err) - internalErr := error2.ConvertHelmErrorToInternalError(err) + internalErr := customErr.ConvertHelmErrorToInternalError(err) if internalErr != nil { err = internalErr } @@ -557,7 +558,7 @@ func (impl *HelmAppServiceImpl) UninstallRelease(releaseIdentifier *client.Relea err = helmClient.UninstallReleaseByName(releaseIdentifier.ReleaseName) if err != nil { impl.logger.Errorw("Error in uninstall release ", "err", err) - internalErr := error2.ConvertHelmErrorToInternalError(err) + internalErr := customErr.ConvertHelmErrorToInternalError(err) if internalErr != nil { err = internalErr } @@ -582,7 +583,7 @@ func (impl *HelmAppServiceImpl) UpgradeRelease(ctx context.Context, request *cli if err != nil { return nil, err } - registryClient, err := registry.NewClient() + registryClient, err := helmRegistry.NewClient() if err != nil { impl.logger.Errorw(HELM_CLIENT_ERROR, "err", err) return nil, err @@ -591,7 +592,7 @@ func (impl *HelmAppServiceImpl) UpgradeRelease(ctx context.Context, request *cli helmRelease, err := impl.common.GetHelmRelease(releaseIdentifier.ClusterConfig, releaseIdentifier.ReleaseNamespace, releaseIdentifier.ReleaseName) if err != nil { impl.logger.Errorw("Error in getting helm release ", "err", err) - internalErr := error2.ConvertHelmErrorToInternalError(err) + internalErr := customErr.ConvertHelmErrorToInternalError(err) if internalErr != nil { err = internalErr } @@ -610,7 +611,7 @@ func (impl *HelmAppServiceImpl) UpgradeRelease(ctx context.Context, request *cli _, err = helmClientObj.UpgradeRelease(context.Background(), helmRelease.Chart, updateChartSpec) if err != nil { impl.logger.Errorw("Error in upgrade release ", "err", err) - internalErr := error2.ConvertHelmErrorToInternalError(err) + internalErr := customErr.ConvertHelmErrorToInternalError(err) if internalErr != nil { err = internalErr } @@ -644,7 +645,7 @@ func (impl *HelmAppServiceImpl) GetDeploymentDetail(request *client.DeploymentDe helmReleases, err := impl.getHelmReleaseHistory(releaseIdentifier.ClusterConfig, releaseIdentifier.ReleaseNamespace, releaseIdentifier.ReleaseName, impl.helmReleaseConfig.MaxCountForHelmRelease) if err != nil { impl.logger.Errorw("Error in getting helm release history ", "err", err) - internalErr := error2.ConvertHelmErrorToInternalError(err) + internalErr := customErr.ConvertHelmErrorToInternalError(err) if internalErr != nil { err = internalErr } @@ -736,12 +737,12 @@ func (impl *HelmAppServiceImpl) installRelease(ctx context.Context, request *cli chartSpec.CreateNamespace = false impl.logger.Debugw("Installing release", "name", releaseIdentifier.ReleaseName, "namespace", releaseIdentifier.ReleaseNamespace, "dry-run", dryRun) - if runInstallInAsyncMode(request.InstallAppVersionHistoryId, impl.helmReleaseConfig.RunHelmInstallInAsyncMode) { + if !runInstallInAsyncMode(request.InstallAppVersionHistoryId, impl.helmReleaseConfig.RunHelmInstallInAsyncMode) { impl.logger.Debugw("Installing release", "name", releaseIdentifier.ReleaseName, "namespace", releaseIdentifier.ReleaseNamespace, "dry-run", dryRun) rel, err := helmClientObj.InstallChart(context.Background(), chartSpec) if err != nil { impl.logger.Errorw("Error in install release ", "err", err) - internalErr := error2.ConvertHelmErrorToInternalError(err) + internalErr := customErr.ConvertHelmErrorToInternalError(err) if internalErr != nil { err = internalErr } @@ -813,7 +814,7 @@ func (impl *HelmAppServiceImpl) GetNotes(ctx context.Context, request *client.In release, err := helmClientObj.GetNotes(chartSpec, helmTemplateOptions) if err != nil { impl.logger.Errorw("Error in fetching Notes ", "err", err) - internalErr := error2.ConvertHelmErrorToInternalError(err) + internalErr := customErr.ConvertHelmErrorToInternalError(err) if internalErr != nil { err = internalErr } @@ -849,7 +850,7 @@ func (impl *HelmAppServiceImpl) UpgradeReleaseWithChartInfo(ctx context.Context, chartSpec.DependencyUpdate = true chartSpec.UpgradeCRDs = true - if runInstallInAsyncMode(request.InstallAppVersionHistoryId, impl.helmReleaseConfig.RunHelmInstallInAsyncMode) { + if !runInstallInAsyncMode(request.InstallAppVersionHistoryId, impl.helmReleaseConfig.RunHelmInstallInAsyncMode) { impl.logger.Debug("Upgrading release with chart info") _, err = helmClientObj.UpgradeReleaseWithChartInfo(context.Background(), chartSpec) if UpgradeErr, ok := err.(*driver.StorageDriverError); ok { @@ -1195,7 +1196,7 @@ func (impl *HelmAppServiceImpl) getManifestData(restConfig *rest.Config, release if err != nil { impl.logger.Errorw("Error in getting live manifest ", "err", err) - statusError, _ := err.(*errors2.StatusError) + statusError, _ := err.(*k8sErrors.StatusError) desiredOrLiveManifest = &bean.DesiredOrLiveManifest{ // using deep copy as it replaces item in manifest in loop Manifest: desiredManifest.DeepCopy(), @@ -1312,7 +1313,7 @@ func (impl *HelmAppServiceImpl) InstallReleaseWithCustomChart(ctx context.Contex _, err = helmClientObj.InstallChart(ctx, chartSpec) if err != nil { impl.logger.Errorw("Error in install chart", "err", err) - internalErr := error2.ConvertHelmErrorToInternalError(err) + internalErr := customErr.ConvertHelmErrorToInternalError(err) if internalErr != nil { err = internalErr } @@ -1382,7 +1383,7 @@ func (impl *HelmAppServiceImpl) UpgradeReleaseWithCustomChart(ctx context.Contex _, err := helmClientObj.InstallChart(ctx, installChartSpec) if err != nil { impl.logger.Errorw("Error in install release ", "err", err) - internalErr := error2.ConvertHelmErrorToInternalError(err) + internalErr := customErr.ConvertHelmErrorToInternalError(err) if internalErr != nil { err = internalErr } @@ -1397,7 +1398,7 @@ func (impl *HelmAppServiceImpl) UpgradeReleaseWithCustomChart(ctx context.Contex } } else if err != nil { impl.logger.Errorw("Error in upgrade release with chart info", "err", err) - internalErr := error2.ConvertHelmErrorToInternalError(err) + internalErr := customErr.ConvertHelmErrorToInternalError(err) if internalErr != nil { err = internalErr } @@ -1408,14 +1409,14 @@ func (impl *HelmAppServiceImpl) UpgradeReleaseWithCustomChart(ctx context.Contex } func (impl *HelmAppServiceImpl) ValidateOCIRegistryLogin(ctx context.Context, OCIRegistryRequest *client.RegistryCredential) (*client.OCIRegistryResponse, error) { - registryClient, err := registry.NewClient() + registryClient, err := helmRegistry.NewClient() if err != nil { impl.logger.Errorw(HELM_CLIENT_ERROR, "err", err) return nil, err } var caFilePath string - if OCIRegistryRequest.Connection == registry2.SECURE_WITH_CERT { - caFilePath, err = registry2.CreateCertificateFile(OCIRegistryRequest.RegistryName, OCIRegistryRequest.RegistryCertificate) + if OCIRegistryRequest.Connection == registry.SECURE_WITH_CERT { + caFilePath, err = registry.CreateCertificateFile(OCIRegistryRequest.RegistryName, OCIRegistryRequest.RegistryCertificate) if err != nil { impl.logger.Errorw("error in creating certificate file path", "registryName", OCIRegistryRequest.RegistryName, "err", err) return nil, err @@ -1424,7 +1425,7 @@ func (impl *HelmAppServiceImpl) ValidateOCIRegistryLogin(ctx context.Context, OC registryConfig, err := adapter.NewRegistryConfig(OCIRegistryRequest) defer func() { if registryConfig != nil { - err := registry2.DeleteCertificateFolder(registryConfig.RegistryCAFilePath) + err := registry.DeleteCertificateFolder(registryConfig.RegistryCAFilePath) if err != nil { impl.logger.Errorw("error in deleting certificate folder", "registryName", registryConfig.RegistryId, "err", err) } @@ -1435,7 +1436,7 @@ func (impl *HelmAppServiceImpl) ValidateOCIRegistryLogin(ctx context.Context, OC return nil, err } registryConfig.RegistryCAFilePath = caFilePath - registryClient, err = registry2.GetLoggedInClient(registryClient, registryConfig) + registryClient, err = registry.GetLoggedInClient(registryClient, registryConfig) if err != nil { impl.logger.Errorw("error in registry login", "registryName", OCIRegistryRequest.RegistryName, "err", err) return nil, err @@ -1450,7 +1451,7 @@ func (impl *HelmAppServiceImpl) PushHelmChartToOCIRegistryRepo(ctx context.Conte registryConfig, err := adapter.NewRegistryConfig(OCIRegistryRequest.RegistryCredential) defer func() { if registryConfig != nil { - err := registry2.DeleteCertificateFolder(registryConfig.RegistryCAFilePath) + err := registry.DeleteCertificateFolder(registryConfig.RegistryCAFilePath) if err != nil { impl.logger.Errorw("error in deleting certificate folder", "registryName", registryConfig.RegistryId, "err", err) } @@ -1475,7 +1476,7 @@ func (impl *HelmAppServiceImpl) PushHelmChartToOCIRegistryRepo(ctx context.Conte registryPushResponse.IsLoggedIn = true - var pushOpts []registry.PushOption + var pushOpts []helmRegistry.PushOption provRef := fmt.Sprintf("%s.prov", OCIRegistryRequest.Chart) if _, err := os.Stat(provRef); err == nil { provBytes, err := ioutil.ReadFile(provRef) @@ -1483,11 +1484,11 @@ func (impl *HelmAppServiceImpl) PushHelmChartToOCIRegistryRepo(ctx context.Conte impl.logger.Errorw("Error in extracting prov bytes", "err", err) return registryPushResponse, err } - pushOpts = append(pushOpts, registry.PushOptProvData(provBytes)) + pushOpts = append(pushOpts, helmRegistry.PushOptProvData(provBytes)) } var ref string - withStrictMode := registry.PushOptStrictMode(true) + withStrictMode := helmRegistry.PushOptStrictMode(true) repoURL := path.Join(OCIRegistryRequest.RegistryCredential.RegistryUrl, OCIRegistryRequest.RegistryCredential.RepoName) if OCIRegistryRequest.ChartName == "" || OCIRegistryRequest.ChartVersion == "" { @@ -1508,7 +1509,7 @@ func (impl *HelmAppServiceImpl) PushHelmChartToOCIRegistryRepo(ctx context.Conte meta.Metadata.Version) } else { // disable strict mode for configuring chartName in repo - withStrictMode = registry.PushOptStrictMode(false) + withStrictMode = helmRegistry.PushOptStrictMode(false) trimmedURL := TrimSchemeFromURL(repoURL) if err != nil { impl.logger.Errorw("err in getting repo url without scheme", "repoURL", repoURL, "err", err) @@ -1531,6 +1532,7 @@ func (impl *HelmAppServiceImpl) PushHelmChartToOCIRegistryRepo(ctx context.Conte } return registryPushResponse, err } + func TrimSchemeFromURL(registryUrl string) string { if !strings.Contains(strings.ToLower(registryUrl), "https") && !strings.Contains(strings.ToLower(registryUrl), "http") { registryUrl = fmt.Sprintf("//%s", registryUrl) @@ -1543,6 +1545,7 @@ func TrimSchemeFromURL(registryUrl string) string { urlWithoutScheme = strings.TrimPrefix(urlWithoutScheme, "/") return urlWithoutScheme } + func (impl *HelmAppServiceImpl) GetNatsMessageForHelmInstallError(ctx context.Context, helmInstallMessage commonHelmService.HelmReleaseStatusConfig, releaseIdentifier *client.ReleaseIdentifier, installationErr error) (string, error) { helmInstallMessage.Message = installationErr.Error() isReleaseInstalled, err := impl.IsReleaseInstalled(ctx, releaseIdentifier) @@ -1584,7 +1587,7 @@ func (impl *HelmAppServiceImpl) GetReleaseDetails(ctx context.Context, releaseId helmRelease, err := impl.common.GetHelmRelease(releaseIdentifier.ClusterConfig, releaseIdentifier.ReleaseNamespace, releaseIdentifier.ReleaseName) if err != nil { impl.logger.Errorw("Error in getting helm release ", "err", err) - internalErr := error2.ConvertHelmErrorToInternalError(err) + internalErr := customErr.ConvertHelmErrorToInternalError(err) if internalErr != nil { err = internalErr } @@ -1594,7 +1597,7 @@ func (impl *HelmAppServiceImpl) GetReleaseDetails(ctx context.Context, releaseId impl.logger.Errorw("requested helm release does not exist") return nil, commonHelmService.ErrorReleaseNotFoundOnCluster } - return adapter.ParseDeployedAppDetail(releaseIdentifier.ClusterConfig.ClusterId, releaseIdentifier.ClusterConfig.ClusterName, helmRelease), nil + return adapter.ParseDeployedAppDetail(releaseIdentifier.ClusterConfig.ClusterId, releaseIdentifier.ClusterConfig.ClusterName, adapter.NewRelease(helmRelease)), nil } impl.logger.Errorw("error in fetching release details by id", "releaseIdentifier", releaseIdentifier, "err", err) return nil, err @@ -1626,6 +1629,7 @@ func (impl *HelmAppServiceImpl) BuildResourceTreeUsingParentObjects(ctx context. } return resourceTreeResponse, nil } + func (impl *HelmAppServiceImpl) resourceNodeAdapter(nodes []*commonBean.ResourceNode) []*client.ResourceNode { var resourceNodes []*client.ResourceNode for _, node := range nodes { @@ -1724,11 +1728,11 @@ func podMetadataAdapter(podmetadatas []*commonBean.PodMetadata) []*client.PodMet return podMetadatas } -func (impl *HelmAppServiceImpl) setupRegistryClient(request *client.InstallReleaseRequest) (*registry.Client, func(), error) { - var settings *registry2.Settings +func (impl *HelmAppServiceImpl) setupRegistryClient(request *client.InstallReleaseRequest) (*helmRegistry.Client, func(), error) { + var settings *registry.Settings cleanup := func() {} registryCredential := request.RegistryCredential - var registryClient *registry.Client + var registryClient *helmRegistry.Client if request.RegistryCredential != nil { registryConfig, err := adapter.NewRegistryConfig(registryCredential) @@ -1739,7 +1743,7 @@ func (impl *HelmAppServiceImpl) setupRegistryClient(request *client.InstallRelea cleanup = func() { if registryConfig != nil { - err := registry2.DeleteCertificateFolder(registryConfig.RegistryCAFilePath) + err := registry.DeleteCertificateFolder(registryConfig.RegistryCAFilePath) if err != nil { impl.logger.Errorw("error in deleting certificate folder", "registryName", registryConfig.RegistryId, "err", err) } @@ -1765,7 +1769,7 @@ func (impl *HelmAppServiceImpl) setupRegistryClient(request *client.InstallRelea return registryClient, cleanup, nil } -func (impl *HelmAppServiceImpl) getChartSpec(helmClientObj helmClient.Client, request *client.InstallReleaseRequest, releaseIdentifier *client.ReleaseIdentifier, registryClient *registry.Client) (*helmClient.ChartSpec, error) { +func (impl *HelmAppServiceImpl) getChartSpec(helmClientObj helmClient.Client, request *client.InstallReleaseRequest, releaseIdentifier *client.ReleaseIdentifier, registryClient *helmRegistry.Client) (*helmClient.ChartSpec, error) { var chartName, username, password string var allowInsecureConnection bool var err error diff --git a/kubelink/pkg/service/helmApplicationService/release/bean.go b/kubelink/pkg/service/helmApplicationService/release/bean.go new file mode 100644 index 000000000..6e2b52226 --- /dev/null +++ b/kubelink/pkg/service/helmApplicationService/release/bean.go @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2024. Devtron Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package release + +import ( + "helm.sh/helm/v3/pkg/release" + "helm.sh/helm/v3/pkg/time" +) + +// Release describes a deployment of a chart, together with the chart +// and the variables used to deploy that chart. +type Release struct { + // Name is the name of the release + Name string `json:"name,omitempty"` + // Info provides information about a release + Info *Info `json:"info,omitempty"` + // Chart is the chart that was released. + Chart *Chart `json:"chart,omitempty"` + // Namespace is the kubernetes namespace of the release. + Namespace string `json:"namespace,omitempty"` +} + +// Info describes release information. +type Info struct { + // LastDeployed is when the release was last deployed. + LastDeployed time.Time `json:"last_deployed,omitempty"` + // Status is the current state of the release + Status release.Status `json:"status,omitempty"` +} + +// Chart is a helm package that contains metadata, a default config, zero or more +// optionally parameterizable templates, and zero or more charts (dependencies). +type Chart struct { + // Metadata is the contents of the Chartfile. + Metadata *Metadata `json:"metadata"` +} + +// Metadata for a Chart file. This models the structure of a Chart.yaml file. +type Metadata struct { + // The name of the chart. Required. + Name string `json:"name,omitempty"` + // The URL to a relevant project page, git repo, or contact person + Home string `json:"home,omitempty"` + // A SemVer 2 conformant version string of the chart. Required. + Version string `json:"version,omitempty"` + // The URL to an icon file. + Icon string `json:"icon,omitempty"` +} + +// Name returns the name of the chart. +func (ch *Chart) Name() string { + if ch.Metadata == nil { + return "" + } + return ch.Metadata.Name +} diff --git a/kubelink/pkg/util/HelmServiceUtil.go b/kubelink/pkg/util/HelmServiceUtil.go index 646cd49e8..90dd87057 100644 --- a/kubelink/pkg/util/HelmServiceUtil.go +++ b/kubelink/pkg/util/HelmServiceUtil.go @@ -21,37 +21,39 @@ import ( "fmt" "github.com/devtron-labs/common-lib/utils/k8s/commonBean" "github.com/devtron-labs/common-lib/utils/k8s/health" - "helm.sh/helm/v3/pkg/release" + "github.com/devtron-labs/kubelink/pkg/service/helmApplicationService/release" + helmRelease "helm.sh/helm/v3/pkg/release" "helm.sh/helm/v3/pkg/storage/driver" ) -// GetAppId returns AppID by logic cluster_id|namespace|release_name +// GetAppId returns AppID by logic +// - format: cluster_id|namespace|release_name func GetAppId(clusterId int32, release *release.Release) string { return fmt.Sprintf("%d|%s|%s", clusterId, release.Namespace, release.Name) } -func GetMessageFromReleaseStatus(releaseStatus release.Status) string { +func GetMessageFromReleaseStatus(releaseStatus helmRelease.Status) string { switch releaseStatus { - case release.StatusUnknown: - return "The release is in an uncertain state" - case release.StatusDeployed: - return "The release has been pushed to Kubernetes" - case release.StatusUninstalled: - return "The release has been uninstalled from Kubernetes" - case release.StatusSuperseded: - return "The release object is outdated and a newer one exists" - case release.StatusFailed: - return "The release was not successfully deployed" - case release.StatusUninstalling: - return "The release uninstall operation is underway" - case release.StatusPendingInstall: - return "The release install operation is underway" - case release.StatusPendingUpgrade: - return "The release upgrade operation is underway" - case release.StatusPendingRollback: - return "The release rollback operation is underway" + case helmRelease.StatusUnknown: + return "The helmRelease is in an uncertain state" + case helmRelease.StatusDeployed: + return "The helmRelease has been pushed to Kubernetes" + case helmRelease.StatusUninstalled: + return "The helmRelease has been uninstalled from Kubernetes" + case helmRelease.StatusSuperseded: + return "The helmRelease object is outdated and a newer one exists" + case helmRelease.StatusFailed: + return "The helmRelease was not successfully deployed" + case helmRelease.StatusUninstalling: + return "The helmRelease uninstall operation is underway" + case helmRelease.StatusPendingInstall: + return "The helmRelease install operation is underway" + case helmRelease.StatusPendingUpgrade: + return "The helmRelease upgrade operation is underway" + case helmRelease.StatusPendingRollback: + return "The helmRelease rollback operation is underway" default: - fmt.Println("un handled release status", releaseStatus) + fmt.Println("un handled helmRelease status", releaseStatus) } return "" diff --git a/kubelink/vendor/modules.txt b/kubelink/vendor/modules.txt index 9eb3dec72..d9cbda271 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-20250422075550-c148aafa54fe +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c ## 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-20250422075550-c148aafa54fe +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c # 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 cc8bcabe6..5b3f5ee41 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-20250422075550-c148aafa54fe +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c diff --git a/kubewatch/go.sum b/kubewatch/go.sum index 1bab38ce9..2136cdb30 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-20250422075550-c148aafa54fe h1:Ja7jgir0CkPXXQ1LZ5KyBAsd0gNXWsDdGUo2dw8/gPE= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250422075550-c148aafa54fe/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c h1:lIIGAMWM4UwSwrd5Ljm1x4vtNRm1s0q2mTqdQWX8L6Q= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c/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/modules.txt b/kubewatch/vendor/modules.txt index 39f1ff6b0..a561319fc 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-20250422075550-c148aafa54fe +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c ## 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-20250422075550-c148aafa54fe +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c diff --git a/lens/go.mod b/lens/go.mod index a3653a495..7802057cb 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-20250422075550-c148aafa54fe +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c diff --git a/lens/go.sum b/lens/go.sum index d784887ab..b5083073f 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-20250422075550-c148aafa54fe h1:Ja7jgir0CkPXXQ1LZ5KyBAsd0gNXWsDdGUo2dw8/gPE= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250422075550-c148aafa54fe/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c h1:lIIGAMWM4UwSwrd5Ljm1x4vtNRm1s0q2mTqdQWX8L6Q= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c/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/modules.txt b/lens/vendor/modules.txt index f6ae92fad..4bfc43eea 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-20250422075550-c148aafa54fe +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c ## 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-20250422075550-c148aafa54fe +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250425083942-5092ec30954c From 4a6b1415f5d90a2454f434983dc4069871bb66bc Mon Sep 17 00:00:00 2001 From: Ash-exp Date: Sun, 4 May 2025 22:11:06 +0530 Subject: [PATCH 2/5] chore: dependency version updated to 'origin/chore-main-sync-develop-4-may' --- chart-sync/go.mod | 2 +- chart-sync/go.sum | 4 ++-- chart-sync/vendor/modules.txt | 4 ++-- ci-runner/go.mod | 2 +- ci-runner/go.sum | 4 ++-- ci-runner/vendor/modules.txt | 4 ++-- git-sensor/go.mod | 2 +- git-sensor/go.sum | 4 ++-- git-sensor/vendor/modules.txt | 4 ++-- image-scanner/go.mod | 2 +- image-scanner/go.sum | 4 ++-- image-scanner/vendor/modules.txt | 4 ++-- kubelink/go.mod | 2 +- kubelink/go.sum | 4 ++-- kubelink/vendor/modules.txt | 4 ++-- kubewatch/go.mod | 2 +- kubewatch/go.sum | 4 ++-- kubewatch/vendor/modules.txt | 4 ++-- lens/go.mod | 2 +- lens/go.sum | 4 ++-- lens/vendor/modules.txt | 4 ++-- 21 files changed, 35 insertions(+), 35 deletions(-) diff --git a/chart-sync/go.mod b/chart-sync/go.mod index d0ea481b3..853ffc39a 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-20250502123643-e49b17792be1 + github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a 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 2c738f627..e73df6873 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-20250502123643-e49b17792be1 h1:1ylCQtCehzPeo0XorCrHmWVE+GxoYOJ5iz7F6+rqxO4= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250502123643-e49b17792be1/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a h1:2vokYnB5dWRaDxCJbp+WKO+lwEQGtxMBi/qkUkWQH70= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a/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/modules.txt b/chart-sync/vendor/modules.txt index 99fe206a0..8b43ab0e1 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-20250502123643-e49b17792be1 +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a ## 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-20250502123643-e49b17792be1 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a diff --git a/ci-runner/go.mod b/ci-runner/go.mod index 7ffd00519..50e50b9fc 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-20250502123643-e49b17792be1 +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a require ( github.com/Knetic/govaluate v3.0.0+incompatible diff --git a/ci-runner/go.sum b/ci-runner/go.sum index 70f75ae1d..ef49f4c6c 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-20250502123643-e49b17792be1 h1:1ylCQtCehzPeo0XorCrHmWVE+GxoYOJ5iz7F6+rqxO4= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250502123643-e49b17792be1/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a h1:2vokYnB5dWRaDxCJbp+WKO+lwEQGtxMBi/qkUkWQH70= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a/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/modules.txt b/ci-runner/vendor/modules.txt index 35cdc4563..b07b92b94 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-20250502123643-e49b17792be1 +# github.com/devtron-labs/common-lib v0.19.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a ## 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-20250502123643-e49b17792be1 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a diff --git a/git-sensor/go.mod b/git-sensor/go.mod index 65c9cf225..856bb9e61 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-20250502123643-e49b17792be1 +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a require ( github.com/caarlos0/env v3.5.0+incompatible diff --git a/git-sensor/go.sum b/git-sensor/go.sum index afd79e06d..a9c28c729 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-20250502123643-e49b17792be1 h1:1ylCQtCehzPeo0XorCrHmWVE+GxoYOJ5iz7F6+rqxO4= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250502123643-e49b17792be1/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a h1:2vokYnB5dWRaDxCJbp+WKO+lwEQGtxMBi/qkUkWQH70= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a/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/modules.txt b/git-sensor/vendor/modules.txt index 9d8df0608..2c2edf40b 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-20250502123643-e49b17792be1 +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a ## 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-20250502123643-e49b17792be1 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a diff --git a/image-scanner/go.mod b/image-scanner/go.mod index 4b3f8f27d..efbf056b8 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-20250502123643-e49b17792be1 +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a diff --git a/image-scanner/go.sum b/image-scanner/go.sum index b7f54e11d..40d281715 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-20250502123643-e49b17792be1 h1:1ylCQtCehzPeo0XorCrHmWVE+GxoYOJ5iz7F6+rqxO4= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250502123643-e49b17792be1/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a h1:2vokYnB5dWRaDxCJbp+WKO+lwEQGtxMBi/qkUkWQH70= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a/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/modules.txt b/image-scanner/vendor/modules.txt index c2af75cb4..eeb7db2ba 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-20250502123643-e49b17792be1 +# github.com/devtron-labs/common-lib v0.19.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a ## 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-20250502123643-e49b17792be1 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a diff --git a/kubelink/go.mod b/kubelink/go.mod index 84d15c471..dc5080066 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-20250502123643-e49b17792be1 + github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a 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 f16063a4b..d269137a1 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-20250502123643-e49b17792be1 h1:1ylCQtCehzPeo0XorCrHmWVE+GxoYOJ5iz7F6+rqxO4= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250502123643-e49b17792be1/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a h1:2vokYnB5dWRaDxCJbp+WKO+lwEQGtxMBi/qkUkWQH70= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a/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/modules.txt b/kubelink/vendor/modules.txt index f7610c4c0..82f8ae56e 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-20250502123643-e49b17792be1 +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a ## 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-20250502123643-e49b17792be1 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a # 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 5e3d2a86d..0248f7156 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-20250502123643-e49b17792be1 +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a diff --git a/kubewatch/go.sum b/kubewatch/go.sum index 4cea9d7c2..4a6178eec 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-20250502123643-e49b17792be1 h1:1ylCQtCehzPeo0XorCrHmWVE+GxoYOJ5iz7F6+rqxO4= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250502123643-e49b17792be1/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a h1:2vokYnB5dWRaDxCJbp+WKO+lwEQGtxMBi/qkUkWQH70= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a/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/modules.txt b/kubewatch/vendor/modules.txt index e230d1767..baa069fb6 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-20250502123643-e49b17792be1 +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a ## 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-20250502123643-e49b17792be1 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a diff --git a/lens/go.mod b/lens/go.mod index 46e3b4703..9598ca08a 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-20250502123643-e49b17792be1 +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a diff --git a/lens/go.sum b/lens/go.sum index dbcfe590e..0cf0e3b6d 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-20250502123643-e49b17792be1 h1:1ylCQtCehzPeo0XorCrHmWVE+GxoYOJ5iz7F6+rqxO4= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250502123643-e49b17792be1/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a h1:2vokYnB5dWRaDxCJbp+WKO+lwEQGtxMBi/qkUkWQH70= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a/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/modules.txt b/lens/vendor/modules.txt index b1fd49d22..b2641678b 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-20250502123643-e49b17792be1 +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a ## 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-20250502123643-e49b17792be1 +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a From 200fd83226a4d363a0b3824ad97ad6355cb417f8 Mon Sep 17 00:00:00 2001 From: Vikram <73224103+vikramdevtron@users.noreply.github.com> Date: Mon, 5 May 2025 15:53:37 +0530 Subject: [PATCH 3/5] vendor update in develop (#253) Co-authored-by: Asutosh Das --- chart-sync/go.mod | 2 +- chart-sync/go.sum | 4 ++-- chart-sync/vendor/modules.txt | 4 ++-- ci-runner/go.mod | 2 +- ci-runner/go.sum | 4 ++-- ci-runner/vendor/modules.txt | 4 ++-- git-sensor/go.mod | 2 +- git-sensor/go.sum | 4 ++-- git-sensor/vendor/modules.txt | 4 ++-- image-scanner/go.mod | 2 +- image-scanner/go.sum | 4 ++-- image-scanner/vendor/modules.txt | 4 ++-- kubelink/go.mod | 2 +- kubelink/go.sum | 4 ++-- kubelink/vendor/modules.txt | 4 ++-- kubewatch/go.mod | 2 +- kubewatch/go.sum | 4 ++-- kubewatch/vendor/modules.txt | 4 ++-- lens/go.mod | 2 +- lens/go.sum | 4 ++-- lens/vendor/modules.txt | 4 ++-- 21 files changed, 35 insertions(+), 35 deletions(-) diff --git a/chart-sync/go.mod b/chart-sync/go.mod index 853ffc39a..4b05229cd 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-20250504163942-4b6a6c18584a + github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce 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 e73df6873..d28e1d5e7 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-20250504163942-4b6a6c18584a h1:2vokYnB5dWRaDxCJbp+WKO+lwEQGtxMBi/qkUkWQH70= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce h1:U/TOmo1tqQVliypXwEtVStpzZo19hjNm4SEUR9FrTXM= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce/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/modules.txt b/chart-sync/vendor/modules.txt index 8b43ab0e1..c708fa01d 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-20250504163942-4b6a6c18584a +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce ## 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-20250504163942-4b6a6c18584a +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce diff --git a/ci-runner/go.mod b/ci-runner/go.mod index 50e50b9fc..f29dbc802 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-20250504163942-4b6a6c18584a +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce require ( github.com/Knetic/govaluate v3.0.0+incompatible diff --git a/ci-runner/go.sum b/ci-runner/go.sum index ef49f4c6c..c37ba4458 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-20250504163942-4b6a6c18584a h1:2vokYnB5dWRaDxCJbp+WKO+lwEQGtxMBi/qkUkWQH70= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce h1:U/TOmo1tqQVliypXwEtVStpzZo19hjNm4SEUR9FrTXM= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce/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/modules.txt b/ci-runner/vendor/modules.txt index b07b92b94..3096ed883 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-20250504163942-4b6a6c18584a +# github.com/devtron-labs/common-lib v0.19.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce ## 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-20250504163942-4b6a6c18584a +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce diff --git a/git-sensor/go.mod b/git-sensor/go.mod index 856bb9e61..64ff60b4e 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-20250504163942-4b6a6c18584a +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce require ( github.com/caarlos0/env v3.5.0+incompatible diff --git a/git-sensor/go.sum b/git-sensor/go.sum index a9c28c729..516671f80 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-20250504163942-4b6a6c18584a h1:2vokYnB5dWRaDxCJbp+WKO+lwEQGtxMBi/qkUkWQH70= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce h1:U/TOmo1tqQVliypXwEtVStpzZo19hjNm4SEUR9FrTXM= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce/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/modules.txt b/git-sensor/vendor/modules.txt index 2c2edf40b..b22db275c 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-20250504163942-4b6a6c18584a +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce ## 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-20250504163942-4b6a6c18584a +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce diff --git a/image-scanner/go.mod b/image-scanner/go.mod index efbf056b8..420932a93 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-20250504163942-4b6a6c18584a +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce diff --git a/image-scanner/go.sum b/image-scanner/go.sum index 40d281715..c50d511ad 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-20250504163942-4b6a6c18584a h1:2vokYnB5dWRaDxCJbp+WKO+lwEQGtxMBi/qkUkWQH70= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce h1:U/TOmo1tqQVliypXwEtVStpzZo19hjNm4SEUR9FrTXM= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce/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/modules.txt b/image-scanner/vendor/modules.txt index eeb7db2ba..87224f949 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-20250504163942-4b6a6c18584a +# github.com/devtron-labs/common-lib v0.19.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce ## 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-20250504163942-4b6a6c18584a +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce diff --git a/kubelink/go.mod b/kubelink/go.mod index dc5080066..5efb85ac3 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-20250504163942-4b6a6c18584a + github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce 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 d269137a1..09611fa01 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-20250504163942-4b6a6c18584a h1:2vokYnB5dWRaDxCJbp+WKO+lwEQGtxMBi/qkUkWQH70= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce h1:U/TOmo1tqQVliypXwEtVStpzZo19hjNm4SEUR9FrTXM= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce/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/modules.txt b/kubelink/vendor/modules.txt index 82f8ae56e..eb170532f 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-20250504163942-4b6a6c18584a +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce ## 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-20250504163942-4b6a6c18584a +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce # 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 0248f7156..89b961bec 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-20250504163942-4b6a6c18584a +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce diff --git a/kubewatch/go.sum b/kubewatch/go.sum index 4a6178eec..6bca32628 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-20250504163942-4b6a6c18584a h1:2vokYnB5dWRaDxCJbp+WKO+lwEQGtxMBi/qkUkWQH70= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce h1:U/TOmo1tqQVliypXwEtVStpzZo19hjNm4SEUR9FrTXM= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce/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/modules.txt b/kubewatch/vendor/modules.txt index baa069fb6..a51d34045 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-20250504163942-4b6a6c18584a +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce ## 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-20250504163942-4b6a6c18584a +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce diff --git a/lens/go.mod b/lens/go.mod index 9598ca08a..828e59f64 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-20250504163942-4b6a6c18584a +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce diff --git a/lens/go.sum b/lens/go.sum index 0cf0e3b6d..203d83cc7 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-20250504163942-4b6a6c18584a h1:2vokYnB5dWRaDxCJbp+WKO+lwEQGtxMBi/qkUkWQH70= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504163942-4b6a6c18584a/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce h1:U/TOmo1tqQVliypXwEtVStpzZo19hjNm4SEUR9FrTXM= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce/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/modules.txt b/lens/vendor/modules.txt index b2641678b..e2aaaec73 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-20250504163942-4b6a6c18584a +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce ## 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-20250504163942-4b6a6c18584a +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce From ca8718cf80756c7e7216cd9c552e237e9ad425b8 Mon Sep 17 00:00:00 2001 From: Ash-exp Date: Wed, 7 May 2025 11:13:43 +0530 Subject: [PATCH 4/5] fix: Docker login condition for devtron job --- ci-runner/helper/DockerHelper.go | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/ci-runner/helper/DockerHelper.go b/ci-runner/helper/DockerHelper.go index 611fb34fc..fb2a50bd9 100644 --- a/ci-runner/helper/DockerHelper.go +++ b/ci-runner/helper/DockerHelper.go @@ -167,17 +167,20 @@ func (impl *DockerHelperImpl) StartDockerDaemonAndDockerLogin(commonWorkflowRequ util.PrintFileContent(DOCKERD_OUTPUT_FILE_PATH) return err } - ciContext := cicxt.BuildCiContext(context.Background(), commonWorkflowRequest.EnableSecretMasking) - err = impl.DockerLogin(ciContext, &DockerCredentials{ - DockerUsername: commonWorkflowRequest.DockerUsername, - DockerPassword: commonWorkflowRequest.DockerPassword, - AwsRegion: commonWorkflowRequest.AwsRegion, - AccessKey: commonWorkflowRequest.AccessKey, - SecretKey: commonWorkflowRequest.SecretKey, - DockerRegistryURL: commonWorkflowRequest.IntermediateDockerRegistryUrl, - DockerRegistryType: commonWorkflowRequest.DockerRegistryType, - CredentialsType: commonWorkflowRequest.CredentialsType, - }) + shouldDockerLogin := len(commonWorkflowRequest.IntermediateDockerRegistryUrl) != 0 + if shouldDockerLogin { + ciContext := cicxt.BuildCiContext(context.Background(), commonWorkflowRequest.EnableSecretMasking) + err = impl.DockerLogin(ciContext, &DockerCredentials{ + DockerUsername: commonWorkflowRequest.DockerUsername, + DockerPassword: commonWorkflowRequest.DockerPassword, + AwsRegion: commonWorkflowRequest.AwsRegion, + AccessKey: commonWorkflowRequest.AccessKey, + SecretKey: commonWorkflowRequest.SecretKey, + DockerRegistryURL: commonWorkflowRequest.IntermediateDockerRegistryUrl, + DockerRegistryType: commonWorkflowRequest.DockerRegistryType, + CredentialsType: commonWorkflowRequest.CredentialsType, + }) + } if err != nil { return err } From 625ee4514393bd31303ca19b79b21e662757793d Mon Sep 17 00:00:00 2001 From: Vikram Singh Date: Thu, 8 May 2025 11:28:50 +0530 Subject: [PATCH 5/5] vendor update RC --- chart-sync/go.mod | 2 +- chart-sync/go.sum | 4 ++-- chart-sync/vendor/modules.txt | 4 ++-- ci-runner/go.mod | 2 +- ci-runner/go.sum | 4 ++-- ci-runner/vendor/modules.txt | 4 ++-- git-sensor/go.mod | 2 +- git-sensor/go.sum | 4 ++-- git-sensor/vendor/modules.txt | 4 ++-- image-scanner/go.mod | 2 +- image-scanner/go.sum | 4 ++-- image-scanner/vendor/modules.txt | 4 ++-- kubelink/go.mod | 2 +- kubelink/go.sum | 4 ++-- kubelink/vendor/modules.txt | 4 ++-- kubewatch/go.mod | 2 +- kubewatch/go.sum | 4 ++-- kubewatch/vendor/modules.txt | 4 ++-- lens/go.mod | 2 +- lens/go.sum | 4 ++-- lens/vendor/modules.txt | 4 ++-- 21 files changed, 35 insertions(+), 35 deletions(-) diff --git a/chart-sync/go.mod b/chart-sync/go.mod index 4b05229cd..2aea083bc 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-20250504171511-cdbe7937e3ce + github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 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 d28e1d5e7..964554885 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-20250504171511-cdbe7937e3ce h1:U/TOmo1tqQVliypXwEtVStpzZo19hjNm4SEUR9FrTXM= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 h1:2JMHVB3eYBeukA0qIw7L9bvRn3o8vmxcVtQGAr94rxE= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87/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/modules.txt b/chart-sync/vendor/modules.txt index c708fa01d..3869f70f1 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-20250504171511-cdbe7937e3ce +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 ## 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-20250504171511-cdbe7937e3ce +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 diff --git a/ci-runner/go.mod b/ci-runner/go.mod index f29dbc802..bf0204384 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-20250504171511-cdbe7937e3ce +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 require ( github.com/Knetic/govaluate v3.0.0+incompatible diff --git a/ci-runner/go.sum b/ci-runner/go.sum index c37ba4458..eb2679629 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-20250504171511-cdbe7937e3ce h1:U/TOmo1tqQVliypXwEtVStpzZo19hjNm4SEUR9FrTXM= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 h1:2JMHVB3eYBeukA0qIw7L9bvRn3o8vmxcVtQGAr94rxE= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87/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/modules.txt b/ci-runner/vendor/modules.txt index 3096ed883..4c130f4f1 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-20250504171511-cdbe7937e3ce +# github.com/devtron-labs/common-lib v0.19.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 ## 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-20250504171511-cdbe7937e3ce +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 diff --git a/git-sensor/go.mod b/git-sensor/go.mod index 64ff60b4e..05ec9a96d 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-20250504171511-cdbe7937e3ce +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 require ( github.com/caarlos0/env v3.5.0+incompatible diff --git a/git-sensor/go.sum b/git-sensor/go.sum index 516671f80..b529da04d 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-20250504171511-cdbe7937e3ce h1:U/TOmo1tqQVliypXwEtVStpzZo19hjNm4SEUR9FrTXM= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 h1:2JMHVB3eYBeukA0qIw7L9bvRn3o8vmxcVtQGAr94rxE= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87/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/modules.txt b/git-sensor/vendor/modules.txt index b22db275c..f61058e2c 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-20250504171511-cdbe7937e3ce +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 ## 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-20250504171511-cdbe7937e3ce +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 diff --git a/image-scanner/go.mod b/image-scanner/go.mod index 420932a93..0ccde8065 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-20250504171511-cdbe7937e3ce +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 diff --git a/image-scanner/go.sum b/image-scanner/go.sum index c50d511ad..8f0defe0a 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-20250504171511-cdbe7937e3ce h1:U/TOmo1tqQVliypXwEtVStpzZo19hjNm4SEUR9FrTXM= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 h1:2JMHVB3eYBeukA0qIw7L9bvRn3o8vmxcVtQGAr94rxE= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87/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/modules.txt b/image-scanner/vendor/modules.txt index 87224f949..161d17135 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-20250504171511-cdbe7937e3ce +# github.com/devtron-labs/common-lib v0.19.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 ## 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-20250504171511-cdbe7937e3ce +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 diff --git a/kubelink/go.mod b/kubelink/go.mod index 5efb85ac3..3da3ad874 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-20250504171511-cdbe7937e3ce + github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 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 09611fa01..bc72897a3 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-20250504171511-cdbe7937e3ce h1:U/TOmo1tqQVliypXwEtVStpzZo19hjNm4SEUR9FrTXM= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 h1:2JMHVB3eYBeukA0qIw7L9bvRn3o8vmxcVtQGAr94rxE= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87/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/modules.txt b/kubelink/vendor/modules.txt index eb170532f..fa098810c 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-20250504171511-cdbe7937e3ce +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 ## 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-20250504171511-cdbe7937e3ce +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 # 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 89b961bec..bfbba6c8c 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-20250504171511-cdbe7937e3ce +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 diff --git a/kubewatch/go.sum b/kubewatch/go.sum index 6bca32628..418798b15 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-20250504171511-cdbe7937e3ce h1:U/TOmo1tqQVliypXwEtVStpzZo19hjNm4SEUR9FrTXM= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 h1:2JMHVB3eYBeukA0qIw7L9bvRn3o8vmxcVtQGAr94rxE= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87/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/modules.txt b/kubewatch/vendor/modules.txt index a51d34045..fdbf331b6 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-20250504171511-cdbe7937e3ce +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 ## 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-20250504171511-cdbe7937e3ce +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 diff --git a/lens/go.mod b/lens/go.mod index 828e59f64..926ffab0f 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-20250504171511-cdbe7937e3ce +replace github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 diff --git a/lens/go.sum b/lens/go.sum index 203d83cc7..b6fa57096 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-20250504171511-cdbe7937e3ce h1:U/TOmo1tqQVliypXwEtVStpzZo19hjNm4SEUR9FrTXM= -github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250504171511-cdbe7937e3ce/go.mod h1:zkNShlkcHxsmnL0gKNbs0uyRL8lZonGKr5Km63uTLI0= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 h1:2JMHVB3eYBeukA0qIw7L9bvRn3o8vmxcVtQGAr94rxE= +github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87/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/modules.txt b/lens/vendor/modules.txt index e2aaaec73..9e7e7d50a 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-20250504171511-cdbe7937e3ce +# github.com/devtron-labs/common-lib v0.0.0 => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87 ## 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-20250504171511-cdbe7937e3ce +# github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250507060105-0a50d1fb1d87