diff --git a/cmd/config/delete.go b/cmd/config/delete.go index a4b63944..b0fcc629 100644 --- a/cmd/config/delete.go +++ b/cmd/config/delete.go @@ -3,7 +3,7 @@ package config import ( "context" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/kubescape/v3/core/meta" v1 "github.com/kubescape/kubescape/v3/core/meta/datastructures/v1" "github.com/spf13/cobra" diff --git a/cmd/config/set.go b/cmd/config/set.go index d91fd1c2..8b55f0a3 100644 --- a/cmd/config/set.go +++ b/cmd/config/set.go @@ -5,7 +5,7 @@ import ( "sort" "strings" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/kubescape/v3/core/meta" metav1 "github.com/kubescape/kubescape/v3/core/meta/datastructures/v1" "github.com/spf13/cobra" diff --git a/cmd/config/view.go b/cmd/config/view.go index a220f4b8..a6490594 100644 --- a/cmd/config/view.go +++ b/cmd/config/view.go @@ -3,7 +3,7 @@ package config import ( "os" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/kubescape/v3/core/meta" v1 "github.com/kubescape/kubescape/v3/core/meta/datastructures/v1" "github.com/spf13/cobra" diff --git a/cmd/download/download.go b/cmd/download/download.go index 0b1c4212..41aa9214 100644 --- a/cmd/download/download.go +++ b/cmd/download/download.go @@ -6,7 +6,7 @@ import ( "path/filepath" "strings" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/core" "github.com/kubescape/kubescape/v3/core/meta" diff --git a/cmd/list/list.go b/cmd/list/list.go index aca06ed7..d2dc31b8 100644 --- a/cmd/list/list.go +++ b/cmd/list/list.go @@ -6,7 +6,7 @@ import ( "fmt" "strings" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/core" "github.com/kubescape/kubescape/v3/core/meta" diff --git a/cmd/rootutils.go b/cmd/rootutils.go index 6191a682..2fbc6d8e 100644 --- a/cmd/rootutils.go +++ b/cmd/rootutils.go @@ -8,7 +8,7 @@ import ( v1 "github.com/kubescape/backend/pkg/client/v1" "github.com/kubescape/backend/pkg/servicediscovery" sdClientV2 "github.com/kubescape/backend/pkg/servicediscovery/v2" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/go-logger/iconlogger" "github.com/kubescape/go-logger/zaplogger" diff --git a/cmd/scan/control.go b/cmd/scan/control.go index 9b775713..bf424438 100644 --- a/cmd/scan/control.go +++ b/cmd/scan/control.go @@ -9,7 +9,7 @@ import ( apisv1 "github.com/kubescape/opa-utils/httpserver/apis/v1" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/cmd/shared" "github.com/kubescape/kubescape/v3/core/cautils" diff --git a/cmd/scan/framework.go b/cmd/scan/framework.go index 30552698..9d7976bf 100644 --- a/cmd/scan/framework.go +++ b/cmd/scan/framework.go @@ -13,7 +13,7 @@ import ( "github.com/kubescape/opa-utils/reporthandling/results/v1/reportsummary" "golang.org/x/exp/slices" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/cmd/shared" "github.com/kubescape/kubescape/v3/core/cautils" diff --git a/cmd/scan/image.go b/cmd/scan/image.go index 9730998a..bacd07bd 100644 --- a/cmd/scan/image.go +++ b/cmd/scan/image.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/kubescape/v3/cmd/shared" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/meta" diff --git a/cmd/scan/scan.go b/cmd/scan/scan.go index 978a4f08..1093eb2b 100644 --- a/cmd/scan/scan.go +++ b/cmd/scan/scan.go @@ -6,7 +6,7 @@ import ( "fmt" "strings" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/cautils/getter" "github.com/kubescape/kubescape/v3/core/meta" diff --git a/cmd/scan/workload.go b/cmd/scan/workload.go index be77dbd6..ab7e3fc3 100644 --- a/cmd/scan/workload.go +++ b/cmd/scan/workload.go @@ -6,7 +6,7 @@ import ( "fmt" "strings" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/meta" v1 "github.com/kubescape/opa-utils/httpserver/apis/v1" diff --git a/cmd/update/update.go b/cmd/update/update.go index b34e45c6..4275fce2 100644 --- a/cmd/update/update.go +++ b/cmd/update/update.go @@ -10,7 +10,7 @@ import ( "strings" "github.com/kubescape/backend/pkg/versioncheck" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/spf13/cobra" diff --git a/core/cautils/customerloader.go b/core/cautils/customerloader.go index f2a77480..49b6ffef 100644 --- a/core/cautils/customerloader.go +++ b/core/cautils/customerloader.go @@ -14,7 +14,7 @@ import ( "github.com/kubescape/backend/pkg/servicediscovery" servicediscoveryv1 "github.com/kubescape/backend/pkg/servicediscovery/v1" servicediscoveryv2 "github.com/kubescape/backend/pkg/servicediscovery/v2" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/k8s-interface/k8sinterface" "github.com/kubescape/kubescape/v3/core/cautils/getter" diff --git a/core/cautils/display.go b/core/cautils/display.go index 26f302af..61fe0dfc 100644 --- a/core/cautils/display.go +++ b/core/cautils/display.go @@ -9,7 +9,7 @@ import ( spinnerpkg "github.com/briandowns/spinner" "github.com/jwalton/gchalk" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/mattn/go-isatty" "github.com/schollz/progressbar/v3" diff --git a/core/cautils/fileutils.go b/core/cautils/fileutils.go index a503bfac..0c3881a4 100644 --- a/core/cautils/fileutils.go +++ b/core/cautils/fileutils.go @@ -13,7 +13,7 @@ import ( "github.com/kubescape/k8s-interface/workloadinterface" "golang.org/x/exp/slices" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/opa-utils/objectsenvelopes" "github.com/kubescape/opa-utils/objectsenvelopes/localworkload" diff --git a/core/cautils/helmchart.go b/core/cautils/helmchart.go index 28458163..bec1d369 100644 --- a/core/cautils/helmchart.go +++ b/core/cautils/helmchart.go @@ -5,7 +5,7 @@ import ( "strconv" "strings" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/k8s-interface/workloadinterface" "github.com/kubescape/opa-utils/objectsenvelopes/localworkload" diff --git a/core/cautils/kustomizedirectory.go b/core/cautils/kustomizedirectory.go index 6a9c9713..c85a4d10 100644 --- a/core/cautils/kustomizedirectory.go +++ b/core/cautils/kustomizedirectory.go @@ -4,7 +4,7 @@ import ( "os" "path/filepath" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/k8s-interface/workloadinterface" "github.com/kubescape/opa-utils/objectsenvelopes/localworkload" diff --git a/core/cautils/parseFile.go b/core/cautils/parseFile.go index 0051c5dc..03b3ad1a 100644 --- a/core/cautils/parseFile.go +++ b/core/cautils/parseFile.go @@ -6,7 +6,7 @@ import ( "strconv" "strings" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/mikefarah/yq/v4/pkg/yqlib" "gopkg.in/op/go-logging.v1" ) diff --git a/core/core/download.go b/core/core/download.go index 459bd18e..07ff38dc 100644 --- a/core/core/download.go +++ b/core/core/download.go @@ -8,7 +8,7 @@ import ( "sort" "strings" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/cautils/getter" diff --git a/core/core/fix.go b/core/core/fix.go index d9c0ebd1..a6c19f40 100644 --- a/core/core/fix.go +++ b/core/core/fix.go @@ -5,7 +5,7 @@ import ( "fmt" "strings" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" metav1 "github.com/kubescape/kubescape/v3/core/meta/datastructures/v1" "github.com/kubescape/kubescape/v3/core/pkg/fixhandler" diff --git a/core/core/image_scan.go b/core/core/image_scan.go index e0f317ab..bc965894 100644 --- a/core/core/image_scan.go +++ b/core/core/image_scan.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/anchore/grype/grype/presenter/models" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/kubescape/v3/core/cautils" ksmetav1 "github.com/kubescape/kubescape/v3/core/meta/datastructures/v1" "github.com/kubescape/kubescape/v3/core/pkg/resultshandling" diff --git a/core/core/patch.go b/core/core/patch.go index b94ac36a..d99ea333 100644 --- a/core/core/patch.go +++ b/core/core/patch.go @@ -9,7 +9,7 @@ import ( "github.com/anchore/grype/grype/presenter" "github.com/anchore/grype/grype/presenter/models" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/core/cautils" diff --git a/core/core/scan.go b/core/core/scan.go index f4d8513a..dc57f4af 100644 --- a/core/core/scan.go +++ b/core/core/scan.go @@ -169,7 +169,7 @@ func (ks *Kubescape) Scan(ctx context.Context, scanInfo *cautils.ScanInfo) (*res // ===================== resources ===================== ctxResources, spanResources := otel.Tracer("").Start(ctxInit, "resources") - err = resourcehandler.CollectResources(ctxResources, interfaces.resourceHandler, scanInfo.PolicyIdentifier, scanData, cautils.NewProgressHandler(""), scanInfo) + err = resourcehandler.CollectResources(ctxResources, interfaces.resourceHandler, scanData, scanInfo) if err != nil { spanInit.End() return resultsHandling, err diff --git a/core/pkg/fixhandler/fixhandler.go b/core/pkg/fixhandler/fixhandler.go index 44c75ec1..b62f7b6e 100644 --- a/core/pkg/fixhandler/fixhandler.go +++ b/core/pkg/fixhandler/fixhandler.go @@ -15,7 +15,7 @@ import ( "github.com/armosec/armoapi-go/armotypes" metav1 "github.com/kubescape/kubescape/v3/core/meta/datastructures/v1" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/opa-utils/objectsenvelopes" "github.com/kubescape/opa-utils/objectsenvelopes/localworkload" "github.com/kubescape/opa-utils/reporthandling" diff --git a/core/pkg/fixhandler/fixhandler_test.go b/core/pkg/fixhandler/fixhandler_test.go index 04609790..f2123e9d 100644 --- a/core/pkg/fixhandler/fixhandler_test.go +++ b/core/pkg/fixhandler/fixhandler_test.go @@ -8,7 +8,7 @@ import ( "testing" "github.com/armosec/armoapi-go/armotypes" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" metav1 "github.com/kubescape/kubescape/v3/core/meta/datastructures/v1" "github.com/kubescape/kubescape/v3/internal/testutils" reporthandlingv2 "github.com/kubescape/opa-utils/reporthandling/v2" diff --git a/core/pkg/fixhandler/yamlhelper.go b/core/pkg/fixhandler/yamlhelper.go index f8e4904d..c8ac919c 100644 --- a/core/pkg/fixhandler/yamlhelper.go +++ b/core/pkg/fixhandler/yamlhelper.go @@ -12,7 +12,7 @@ import ( "os" "strings" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/mikefarah/yq/v4/pkg/yqlib" "gopkg.in/yaml.v3" ) diff --git a/core/pkg/hostsensorutils/hostsensordeploy.go b/core/pkg/hostsensorutils/hostsensordeploy.go index 09e4ff91..708d34eb 100644 --- a/core/pkg/hostsensorutils/hostsensordeploy.go +++ b/core/pkg/hostsensorutils/hostsensordeploy.go @@ -8,7 +8,7 @@ import ( "sync" "time" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/k8s-interface/k8sinterface" "github.com/kubescape/k8s-interface/workloadinterface" diff --git a/core/pkg/hostsensorutils/hostsensorgetfrompod.go b/core/pkg/hostsensorutils/hostsensorgetfrompod.go index 749e2e77..361c116f 100644 --- a/core/pkg/hostsensorutils/hostsensorgetfrompod.go +++ b/core/pkg/hostsensorutils/hostsensorgetfrompod.go @@ -9,7 +9,7 @@ import ( "strings" "sync" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/k8s-interface/k8sinterface" "github.com/kubescape/opa-utils/objectsenvelopes/hostsensor" "github.com/kubescape/opa-utils/reporthandling/apis" diff --git a/core/pkg/hostsensorutils/hostsensorworkerpool.go b/core/pkg/hostsensorutils/hostsensorworkerpool.go index 5d9fba69..22b94e1d 100644 --- a/core/pkg/hostsensorutils/hostsensorworkerpool.go +++ b/core/pkg/hostsensorutils/hostsensorworkerpool.go @@ -4,7 +4,7 @@ import ( "context" "sync" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/opa-utils/objectsenvelopes/hostsensor" ) diff --git a/core/pkg/opaprocessor/processorhandler.go b/core/pkg/opaprocessor/processorhandler.go index 9e5a4939..5a786d59 100644 --- a/core/pkg/opaprocessor/processorhandler.go +++ b/core/pkg/opaprocessor/processorhandler.go @@ -6,7 +6,7 @@ import ( "sync" "github.com/armosec/armoapi-go/armotypes" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/k8s-interface/workloadinterface" "github.com/kubescape/kubescape/v3/core/cautils" diff --git a/core/pkg/opaprocessor/processorhandlerutils.go b/core/pkg/opaprocessor/processorhandlerutils.go index 1d544f4a..5d098765 100644 --- a/core/pkg/opaprocessor/processorhandlerutils.go +++ b/core/pkg/opaprocessor/processorhandlerutils.go @@ -5,7 +5,7 @@ import ( corev1 "k8s.io/api/core/v1" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/k8s-interface/k8sinterface" "github.com/kubescape/k8s-interface/workloadinterface" "github.com/kubescape/kubescape/v3/core/cautils" diff --git a/core/pkg/opaprocessor/utils.go b/core/pkg/opaprocessor/utils.go index 275d0910..6a0adf1a 100644 --- a/core/pkg/opaprocessor/utils.go +++ b/core/pkg/opaprocessor/utils.go @@ -4,7 +4,7 @@ import ( "fmt" "strings" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/opa-utils/reporthandling" diff --git a/core/pkg/policyhandler/handlepullpolicies.go b/core/pkg/policyhandler/handlepullpolicies.go index 0ffb70f2..c55ba033 100644 --- a/core/pkg/policyhandler/handlepullpolicies.go +++ b/core/pkg/policyhandler/handlepullpolicies.go @@ -7,7 +7,7 @@ import ( "strings" "github.com/armosec/armoapi-go/armotypes" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/cautils/getter" diff --git a/core/pkg/resourcehandler/filesloader.go b/core/pkg/resourcehandler/filesloader.go index 2046e6df..4d48e779 100644 --- a/core/pkg/resourcehandler/filesloader.go +++ b/core/pkg/resourcehandler/filesloader.go @@ -14,7 +14,6 @@ import ( "github.com/kubescape/go-logger/helpers" "github.com/kubescape/k8s-interface/k8sinterface" "github.com/kubescape/kubescape/v3/core/cautils" - "github.com/kubescape/kubescape/v3/core/pkg/opaprocessor" ) // FileResourceHandler handle resources from files and URLs @@ -25,7 +24,7 @@ func NewFileResourceHandler() *FileResourceHandler { return &FileResourceHandler{} } -func (fileHandler *FileResourceHandler) GetResources(ctx context.Context, sessionObj *cautils.OPASessionObj, _ opaprocessor.IJobProgressNotificationClient, scanInfo *cautils.ScanInfo) (cautils.K8SResources, map[string]workloadinterface.IMetadata, cautils.ExternalResources, map[string]bool, error) { +func (fileHandler *FileResourceHandler) GetResources(ctx context.Context, sessionObj *cautils.OPASessionObj, scanInfo *cautils.ScanInfo) (cautils.K8SResources, map[string]workloadinterface.IMetadata, cautils.ExternalResources, map[string]bool, error) { allResources := map[string]workloadinterface.IMetadata{} externalResources := cautils.ExternalResources{} @@ -44,10 +43,7 @@ func (fileHandler *FileResourceHandler) GetResources(ctx context.Context, sessio var err error if scanInfo.ChartPath != "" && scanInfo.FilePath != "" { - workloadIDToSource, workloads, workloadIDToMappingNodes, err = getWorkloadFromHelmChart(ctx, scanInfo.InputPatterns[path], scanInfo.ChartPath, scanInfo.FilePath) - if err != nil { - // We should probably ignore the error so we can continue scanning other charts - } + workloadIDToSource, workloads, workloadIDToMappingNodes, _ = getWorkloadFromHelmChart(ctx, scanInfo.InputPatterns[path], scanInfo.ChartPath, scanInfo.FilePath) } else { workloadIDToSource, workloads, workloadIDToMappingNodes, err = getResourcesFromPath(ctx, scanInfo.InputPatterns[path]) if err != nil { diff --git a/core/pkg/resourcehandler/handlepullresources_test.go b/core/pkg/resourcehandler/handlepullresources_test.go index db4cb8f0..d7648016 100644 --- a/core/pkg/resourcehandler/handlepullresources_test.go +++ b/core/pkg/resourcehandler/handlepullresources_test.go @@ -100,12 +100,12 @@ func Test_CollectResources(t *testing.T) { } assert.NotPanics(t, func() { - CollectResources(context.TODO(), resourceHandler, []cautils.PolicyIdentifier{}, objSession, cautils.NewProgressHandler(""), &cautils.ScanInfo{}) + CollectResources(context.TODO(), resourceHandler, objSession, &cautils.ScanInfo{}) }, "Cluster named .*eks.* without a cloud config panics on cluster scan !") assert.NotPanics(t, func() { objSession.Metadata.ScanMetadata.ScanningTarget = reportv2.File - CollectResources(context.TODO(), resourceHandler, []cautils.PolicyIdentifier{}, objSession, cautils.NewProgressHandler(""), &cautils.ScanInfo{}) + CollectResources(context.TODO(), resourceHandler, objSession, &cautils.ScanInfo{}) }, "Cluster named .*eks.* without a cloud config panics on non-cluster scan !") } diff --git a/core/pkg/resourcehandler/handlerpullresources.go b/core/pkg/resourcehandler/handlerpullresources.go index a2628e86..831426b4 100644 --- a/core/pkg/resourcehandler/handlerpullresources.go +++ b/core/pkg/resourcehandler/handlerpullresources.go @@ -4,19 +4,18 @@ import ( "context" "fmt" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" cloudsupportv1 "github.com/kubescape/k8s-interface/cloudsupport/v1" "github.com/kubescape/k8s-interface/k8sinterface" "github.com/kubescape/kubescape/v3/core/cautils" - "github.com/kubescape/kubescape/v3/core/pkg/opaprocessor" "github.com/kubescape/opa-utils/reporthandling/apis" helpersv1 "github.com/kubescape/opa-utils/reporthandling/helpers/v1" reportv2 "github.com/kubescape/opa-utils/reporthandling/v2" "go.opentelemetry.io/otel" ) -func CollectResources(ctx context.Context, rsrcHandler IResourceHandler, policyIdentifier []cautils.PolicyIdentifier, opaSessionObj *cautils.OPASessionObj, progressListener opaprocessor.IJobProgressNotificationClient, scanInfo *cautils.ScanInfo) error { +func CollectResources(ctx context.Context, rsrcHandler IResourceHandler, opaSessionObj *cautils.OPASessionObj, scanInfo *cautils.ScanInfo) error { ctx, span := otel.Tracer("").Start(ctx, "resourcehandler.CollectResources") defer span.End() opaSessionObj.Report.ClusterAPIServerInfo = rsrcHandler.GetClusterAPIServerInfo(ctx) @@ -26,7 +25,7 @@ func CollectResources(ctx context.Context, rsrcHandler IResourceHandler, policyI setCloudMetadata(opaSessionObj, rsrcHandler.GetCloudProvider()) } - resourcesMap, allResources, externalResources, excludedRulesMap, err := rsrcHandler.GetResources(ctx, opaSessionObj, progressListener, scanInfo) + resourcesMap, allResources, externalResources, excludedRulesMap, err := rsrcHandler.GetResources(ctx, opaSessionObj, scanInfo) if err != nil { return err } diff --git a/core/pkg/resourcehandler/interface.go b/core/pkg/resourcehandler/interface.go index 36e30a59..c5171622 100644 --- a/core/pkg/resourcehandler/interface.go +++ b/core/pkg/resourcehandler/interface.go @@ -5,12 +5,11 @@ import ( "github.com/kubescape/k8s-interface/workloadinterface" "github.com/kubescape/kubescape/v3/core/cautils" - "github.com/kubescape/kubescape/v3/core/pkg/opaprocessor" "k8s.io/apimachinery/pkg/version" ) type IResourceHandler interface { - GetResources(context.Context, *cautils.OPASessionObj, opaprocessor.IJobProgressNotificationClient, *cautils.ScanInfo) (cautils.K8SResources, map[string]workloadinterface.IMetadata, cautils.ExternalResources, map[string]bool, error) + GetResources(context.Context, *cautils.OPASessionObj, *cautils.ScanInfo) (cautils.K8SResources, map[string]workloadinterface.IMetadata, cautils.ExternalResources, map[string]bool, error) GetClusterAPIServerInfo(ctx context.Context) *version.Info GetCloudProvider() string } diff --git a/core/pkg/resourcehandler/k8sresources.go b/core/pkg/resourcehandler/k8sresources.go index 6d917e0e..d5c4be2a 100644 --- a/core/pkg/resourcehandler/k8sresources.go +++ b/core/pkg/resourcehandler/k8sresources.go @@ -5,14 +5,15 @@ import ( "fmt" "strings" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/metrics" "github.com/kubescape/kubescape/v3/core/pkg/hostsensorutils" - "github.com/kubescape/kubescape/v3/core/pkg/opaprocessor" "github.com/kubescape/opa-utils/objectsenvelopes" "github.com/kubescape/opa-utils/reporthandling/apis" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/tools/pager" "github.com/kubescape/k8s-interface/cloudsupport" cloudapis "github.com/kubescape/k8s-interface/cloudsupport/apis" @@ -60,7 +61,7 @@ func NewK8sResourceHandler(k8s *k8sinterface.KubernetesApi, hostSensorHandler ho return k8sHandler } -func (k8sHandler *K8sResourceHandler) GetResources(ctx context.Context, sessionObj *cautils.OPASessionObj, progressListener opaprocessor.IJobProgressNotificationClient, scanInfo *cautils.ScanInfo) (cautils.K8SResources, map[string]workloadinterface.IMetadata, cautils.ExternalResources, map[string]bool, error) { +func (k8sHandler *K8sResourceHandler) GetResources(ctx context.Context, sessionObj *cautils.OPASessionObj, scanInfo *cautils.ScanInfo) (cautils.K8SResources, map[string]workloadinterface.IMetadata, cautils.ExternalResources, map[string]bool, error) { logger.L().Start("Accessing Kubernetes objects...") var err error @@ -145,7 +146,7 @@ func (k8sHandler *K8sResourceHandler) GetResources(ctx context.Context, sessionO // check that controls use cloud resources if len(cloudResources) > 0 { - err := k8sHandler.collectCloudResources(ctx, sessionObj, allResources, ksResourceMap, cloudResources, progressListener) + err := k8sHandler.collectCloudResources(ctx, sessionObj, allResources, ksResourceMap, cloudResources) if err != nil { cautils.SetInfoMapForResources(err.Error(), cloudResources, sessionObj.InfoMap) logger.L().Debug("failed to collect cloud data", helpers.Error(err)) @@ -173,9 +174,9 @@ func (k8sHandler *K8sResourceHandler) findScanObjectResource(resource *objectsen } if resource.GetApiVersion() != "" { - group, version := k8sinterface.SplitApiVersion(resource.GetApiVersion()) - gvr.Group = group - gvr.Version = version + g, v := k8sinterface.SplitApiVersion(resource.GetApiVersion()) + gvr.Group = g + gvr.Version = v } fieldSelectors := getNameFieldSelectorString(resource.GetName(), FieldSelectorsEqualsOperator) @@ -208,7 +209,7 @@ func (k8sHandler *K8sResourceHandler) findScanObjectResource(resource *objectsen return wl, nil } -func (k8sHandler *K8sResourceHandler) collectCloudResources(ctx context.Context, sessionObj *cautils.OPASessionObj, allResources map[string]workloadinterface.IMetadata, externalResourceMap cautils.ExternalResources, cloudResources []string, progressListener opaprocessor.IJobProgressNotificationClient) error { +func (k8sHandler *K8sResourceHandler) collectCloudResources(ctx context.Context, sessionObj *cautils.OPASessionObj, allResources map[string]workloadinterface.IMetadata, externalResourceMap cautils.ExternalResources, cloudResources []string) error { if k8sHandler.cloudProvider == "" { return fmt.Errorf("failed to get cloud provider, cluster: %s", k8sHandler.clusterName) @@ -356,7 +357,7 @@ func (k8sHandler *K8sResourceHandler) pullResources(queryableResources Queryable } func (k8sHandler *K8sResourceHandler) pullSingleResource(resource *schema.GroupVersionResource, labels map[string]string, fields string, fieldSelector IFieldSelector) ([]unstructured.Unstructured, error) { - resourceList := []unstructured.Unstructured{} + var resourceList []unstructured.Unstructured // set labels listOptions := metav1.ListOptions{} fieldSelectors := fieldSelector.GetNamespacesSelectors(resource) @@ -376,30 +377,29 @@ func (k8sHandler *K8sResourceHandler) pullSingleResource(resource *schema.GroupV clientResource := k8sHandler.k8s.DynamicClient.Resource(*resource) // list resources - result, err := clientResource.List(context.Background(), listOptions) - if err != nil || result == nil { - return nil, fmt.Errorf("failed to get resource: %v, labelSelector: %v, fieldSelector: %v, reason: %v", resource, listOptions.LabelSelector, listOptions.FieldSelector, err) + if err := pager.New(func(ctx context.Context, opts metav1.ListOptions) (runtime.Object, error) { + return clientResource.List(context.Background(), opts) + }).EachListItem(context.TODO(), listOptions, func(obj runtime.Object) error { + uObject := obj.(*unstructured.Unstructured) + if k8sinterface.IsTypeWorkload(uObject.Object) && k8sinterface.WorkloadHasParent(workloadinterface.NewWorkloadObj(uObject.Object)) { + logger.L().Debug("Skipping resource with parent", helpers.String("kind", uObject.GetKind()), helpers.String("name", uObject.GetName())) + return nil + } + resourceList = append(resourceList, *obj.(*unstructured.Unstructured)) + return nil + }); err != nil { + return nil, fmt.Errorf("failed to get resource: %v, labelSelector: %v, fieldSelector: %v, reason: %w", resource, listOptions.LabelSelector, listOptions.FieldSelector, err) } - resourceList = append(resourceList, result.Items...) - } return resourceList, nil } func ConvertMapListToMeta(resourceMap []map[string]interface{}) []workloadinterface.IMetadata { - workloads := []workloadinterface.IMetadata{} + var workloads []workloadinterface.IMetadata for i := range resourceMap { r := resourceMap[i] - - // skip workloads with parents. e.g. Pod with a ReplicaSet ownerReference. This will not skip resources with CRDs asa parents - if k8sinterface.IsTypeWorkload(r) { - if k8sinterface.WorkloadHasParent(workloadinterface.NewWorkloadObj(r)) { - continue - } - } - if w := objectsenvelopes.NewObject(r); w != nil { workloads = append(workloads, w) } @@ -415,8 +415,8 @@ func (k8sHandler *K8sResourceHandler) collectHostResources(ctx context.Context, } for rscIdx := range hostResources { - group, version := getGroupNVersion(hostResources[rscIdx].GetApiVersion()) - groupResource := k8sinterface.JoinResourceTriplets(group, version, hostResources[rscIdx].GetKind()) + g, v := getGroupNVersion(hostResources[rscIdx].GetApiVersion()) + groupResource := k8sinterface.JoinResourceTriplets(g, v, hostResources[rscIdx].GetKind()) allResources[hostResources[rscIdx].GetID()] = &hostResources[rscIdx] grpResourceList, ok := externalResourceMap[groupResource] diff --git a/core/pkg/resourcesprioritization/prioritizationhandler.go b/core/pkg/resourcesprioritization/prioritizationhandler.go index 8706c8eb..b6e71b7c 100644 --- a/core/pkg/resourcesprioritization/prioritizationhandler.go +++ b/core/pkg/resourcesprioritization/prioritizationhandler.go @@ -5,7 +5,7 @@ import ( "encoding/json" "fmt" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/k8s-interface/workloadinterface" "github.com/kubescape/kubescape/v3/core/cautils" diff --git a/core/pkg/resultshandling/printer/printresults.go b/core/pkg/resultshandling/printer/printresults.go index d6388bba..d0da5cd0 100644 --- a/core/pkg/resultshandling/printer/printresults.go +++ b/core/pkg/resultshandling/printer/printresults.go @@ -6,7 +6,7 @@ import ( "os" "path/filepath" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/core/cautils" ) diff --git a/core/pkg/resultshandling/printer/v1/jsonprinter.go b/core/pkg/resultshandling/printer/v1/jsonprinter.go index df00adb3..2c939f2d 100644 --- a/core/pkg/resultshandling/printer/v1/jsonprinter.go +++ b/core/pkg/resultshandling/printer/v1/jsonprinter.go @@ -8,7 +8,7 @@ import ( "path/filepath" "strings" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/pkg/resultshandling/printer" ) diff --git a/core/pkg/resultshandling/printer/v1/prometheusprinter.go b/core/pkg/resultshandling/printer/v1/prometheusprinter.go index d17d0c8b..378ed3ff 100644 --- a/core/pkg/resultshandling/printer/v1/prometheusprinter.go +++ b/core/pkg/resultshandling/printer/v1/prometheusprinter.go @@ -5,7 +5,7 @@ import ( "fmt" "os" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/k8s-interface/workloadinterface" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/pkg/resultshandling/printer" diff --git a/core/pkg/resultshandling/printer/v2/htmlprinter.go b/core/pkg/resultshandling/printer/v2/htmlprinter.go index da1f36c9..7263ba24 100644 --- a/core/pkg/resultshandling/printer/v2/htmlprinter.go +++ b/core/pkg/resultshandling/printer/v2/htmlprinter.go @@ -9,7 +9,7 @@ import ( "sort" "strings" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/pkg/resultshandling/printer" diff --git a/core/pkg/resultshandling/printer/v2/jsonprinter.go b/core/pkg/resultshandling/printer/v2/jsonprinter.go index ab857cc7..93bf8795 100644 --- a/core/pkg/resultshandling/printer/v2/jsonprinter.go +++ b/core/pkg/resultshandling/printer/v2/jsonprinter.go @@ -11,7 +11,7 @@ import ( "github.com/anchore/clio" "github.com/anchore/grype/grype/presenter" "github.com/anchore/grype/grype/presenter/models" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/pkg/resultshandling/printer" diff --git a/core/pkg/resultshandling/printer/v2/junit.go b/core/pkg/resultshandling/printer/v2/junit.go index b769868b..ddd1d02f 100644 --- a/core/pkg/resultshandling/printer/v2/junit.go +++ b/core/pkg/resultshandling/printer/v2/junit.go @@ -9,7 +9,7 @@ import ( "sort" "strings" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/k8s-interface/workloadinterface" "github.com/kubescape/kubescape/v3/core/cautils" diff --git a/core/pkg/resultshandling/printer/v2/pdf.go b/core/pkg/resultshandling/printer/v2/pdf.go index c05c72d9..2ea6268c 100644 --- a/core/pkg/resultshandling/printer/v2/pdf.go +++ b/core/pkg/resultshandling/printer/v2/pdf.go @@ -10,7 +10,7 @@ import ( "strings" "time" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/pkg/resultshandling/printer" diff --git a/core/pkg/resultshandling/printer/v2/prettyprinter.go b/core/pkg/resultshandling/printer/v2/prettyprinter.go index f26ab524..3ef9a5db 100644 --- a/core/pkg/resultshandling/printer/v2/prettyprinter.go +++ b/core/pkg/resultshandling/printer/v2/prettyprinter.go @@ -11,7 +11,7 @@ import ( "github.com/anchore/grype/grype/presenter/models" "github.com/enescakir/emoji" "github.com/jwalton/gchalk" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/k8s-interface/workloadinterface" "github.com/kubescape/kubescape/v3/core/cautils" diff --git a/core/pkg/resultshandling/printer/v2/prometheus.go b/core/pkg/resultshandling/printer/v2/prometheus.go index 8729fdb2..1de08349 100644 --- a/core/pkg/resultshandling/printer/v2/prometheus.go +++ b/core/pkg/resultshandling/printer/v2/prometheus.go @@ -6,7 +6,7 @@ import ( "os" "github.com/anchore/grype/grype/presenter/models" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/k8s-interface/workloadinterface" "github.com/kubescape/kubescape/v3/core/cautils" diff --git a/core/pkg/resultshandling/printer/v2/sarifprinter.go b/core/pkg/resultshandling/printer/v2/sarifprinter.go index 2d5fd5fe..56d4d0c8 100644 --- a/core/pkg/resultshandling/printer/v2/sarifprinter.go +++ b/core/pkg/resultshandling/printer/v2/sarifprinter.go @@ -14,7 +14,7 @@ import ( "github.com/anchore/grype/grype/presenter" "github.com/anchore/grype/grype/presenter/models" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/pkg/fixhandler" diff --git a/core/pkg/resultshandling/reporter/v2/reporteventreceiver.go b/core/pkg/resultshandling/reporter/v2/reporteventreceiver.go index ece4e2d6..95020e1a 100644 --- a/core/pkg/resultshandling/reporter/v2/reporteventreceiver.go +++ b/core/pkg/resultshandling/reporter/v2/reporteventreceiver.go @@ -10,7 +10,7 @@ import ( "github.com/armosec/armoapi-go/apis" client "github.com/kubescape/backend/pkg/client/v1" v1 "github.com/kubescape/backend/pkg/server/v1" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/k8s-interface/workloadinterface" "github.com/kubescape/kubescape/v3/core/cautils" diff --git a/core/pkg/resultshandling/reporter/v2/reporteventreceiver_test.go b/core/pkg/resultshandling/reporter/v2/reporteventreceiver_test.go index 5d8c9712..df5ee398 100644 --- a/core/pkg/resultshandling/reporter/v2/reporteventreceiver_test.go +++ b/core/pkg/resultshandling/reporter/v2/reporteventreceiver_test.go @@ -9,7 +9,7 @@ import ( "testing" v1 "github.com/kubescape/backend/pkg/client/v1" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/prettylogger" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/cautils/getter" diff --git a/core/pkg/resultshandling/results.go b/core/pkg/resultshandling/results.go index 4211da55..cdec8554 100644 --- a/core/pkg/resultshandling/results.go +++ b/core/pkg/resultshandling/results.go @@ -5,7 +5,7 @@ import ( "encoding/json" "fmt" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/pkg/resultshandling/printer" diff --git a/httphandler/docs/server.go b/httphandler/docs/server.go index 729c8ae8..da2d3a7d 100644 --- a/httphandler/docs/server.go +++ b/httphandler/docs/server.go @@ -7,7 +7,7 @@ import ( _ "embed" "github.com/go-openapi/runtime/middleware" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" ) const ( diff --git a/httphandler/handlerequests/v1/prometheus.go b/httphandler/handlerequests/v1/prometheus.go index 3058e1c3..c09cf019 100644 --- a/httphandler/handlerequests/v1/prometheus.go +++ b/httphandler/handlerequests/v1/prometheus.go @@ -7,7 +7,7 @@ import ( "os" "path/filepath" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/cautils/getter" diff --git a/httphandler/handlerequests/v1/requestparser.go b/httphandler/handlerequests/v1/requestparser.go index 0f67c58e..78753023 100644 --- a/httphandler/handlerequests/v1/requestparser.go +++ b/httphandler/handlerequests/v1/requestparser.go @@ -8,7 +8,7 @@ import ( "net/http" "sync" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/core/cautils" utilsmetav1 "github.com/kubescape/opa-utils/httpserver/meta/v1" diff --git a/httphandler/handlerequests/v1/requestshandler.go b/httphandler/handlerequests/v1/requestshandler.go index 9d3bd659..01952b77 100644 --- a/httphandler/handlerequests/v1/requestshandler.go +++ b/httphandler/handlerequests/v1/requestshandler.go @@ -13,7 +13,7 @@ import ( "github.com/gorilla/schema" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/google/uuid" ) diff --git a/httphandler/handlerequests/v1/requestshandlerutils.go b/httphandler/handlerequests/v1/requestshandlerutils.go index 0d77bf39..d081930d 100644 --- a/httphandler/handlerequests/v1/requestshandlerutils.go +++ b/httphandler/handlerequests/v1/requestshandlerutils.go @@ -10,7 +10,7 @@ import ( "github.com/armosec/utils-go/boolutils" "github.com/kubescape/backend/pkg/versioncheck" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/core/cautils" "github.com/kubescape/kubescape/v3/core/cautils/getter" diff --git a/httphandler/listener/helpers.go b/httphandler/listener/helpers.go index b0fdea21..f118fb95 100644 --- a/httphandler/listener/helpers.go +++ b/httphandler/listener/helpers.go @@ -5,7 +5,7 @@ import ( "fmt" "net/http" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" ) diff --git a/httphandler/listener/setup.go b/httphandler/listener/setup.go index 3737f7f0..51fc250d 100644 --- a/httphandler/listener/setup.go +++ b/httphandler/listener/setup.go @@ -7,7 +7,7 @@ import ( "os" "github.com/kubescape/backend/pkg/versioncheck" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/kubescape/v3/core/metrics" "github.com/kubescape/kubescape/v3/httphandler/docs" diff --git a/httphandler/main.go b/httphandler/main.go index b2c27ec5..3e0f7ee0 100644 --- a/httphandler/main.go +++ b/httphandler/main.go @@ -10,7 +10,7 @@ import ( servicediscoveryv2 "github.com/kubescape/backend/pkg/servicediscovery/v2" "github.com/kubescape/backend/pkg/utils" "github.com/kubescape/backend/pkg/versioncheck" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/go-logger/helpers" "github.com/kubescape/go-logger/zaplogger" "github.com/kubescape/k8s-interface/k8sinterface" diff --git a/main.go b/main.go index ed1ea641..e5e49763 100644 --- a/main.go +++ b/main.go @@ -5,7 +5,7 @@ import ( "os/signal" "syscall" - logger "github.com/kubescape/go-logger" + "github.com/kubescape/go-logger" "github.com/kubescape/kubescape/v3/cmd" )