From 5ccb858d7f19da949e8d7bc9a0d20c13c29df0ac Mon Sep 17 00:00:00 2001 From: Moshe-Rappaport-CA Date: Tue, 23 Aug 2022 14:42:12 +0300 Subject: [PATCH] Fix issue for scanning list obj --- core/cautils/fileutils.go | 20 ++++++++++---------- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/core/cautils/fileutils.go b/core/cautils/fileutils.go index 6d1fbc60..4f3cb6de 100644 --- a/core/cautils/fileutils.go +++ b/core/cautils/fileutils.go @@ -13,6 +13,7 @@ import ( logger "github.com/kubescape/go-logger" "github.com/kubescape/opa-utils/objectsenvelopes" + "github.com/kubescape/opa-utils/objectsenvelopes/listworkloads" "github.com/kubescape/opa-utils/objectsenvelopes/localworkload" "gopkg.in/yaml.v2" @@ -190,8 +191,8 @@ func readYamlFile(yamlFile []byte) ([]workloadinterface.IMetadata, error) { } if obj, ok := j.(map[string]interface{}); ok { if o := objectsenvelopes.NewObject(obj); o != nil { - if o.GetKind() == "List" { - yamlObjs = append(yamlObjs, handleListObject(o)...) + if list, ok := o.(*listworkloads.ListWorkloads); ok && list != nil { + yamlObjs = append(yamlObjs, handleListObject(list)...) } else { yamlObjs = append(yamlObjs, o) } @@ -325,15 +326,14 @@ func GetFileFormat(filePath string) FileFormat { } // handleListObject handle a List manifest -func handleListObject(obj workloadinterface.IMetadata) []workloadinterface.IMetadata { +func handleListObject(list *listworkloads.ListWorkloads) []workloadinterface.IMetadata { + yamlObjs := []workloadinterface.IMetadata{} - if i, ok := workloadinterface.InspectMap(obj.GetObject(), "items"); ok && i != nil { - if items, ok := i.([]interface{}); ok && items != nil { - for item := range items { - if m, ok := items[item].(map[string]interface{}); ok && m != nil { - if o := objectsenvelopes.NewObject(m); o != nil { - yamlObjs = append(yamlObjs, o) - } + if items := list.GetItems(); items != nil { + for item := range items { + if m, ok := items[item].(map[string]interface{}); ok && m != nil { + if o := objectsenvelopes.NewObject(m); o != nil { + yamlObjs = append(yamlObjs, o) } } } diff --git a/go.mod b/go.mod index 34ca07e1..3491b64b 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/johnfercher/maroto v0.37.0 github.com/kubescape/go-logger v0.0.5 github.com/kubescape/k8s-interface v0.0.82 - github.com/kubescape/opa-utils v0.0.171 + github.com/kubescape/opa-utils v0.0.173 github.com/kubescape/rbac-utils v0.0.17 github.com/libgit2/git2go/v33 v33.0.9 github.com/mattn/go-isatty v0.0.14 diff --git a/go.sum b/go.sum index 5074bdd5..0e657838 100644 --- a/go.sum +++ b/go.sum @@ -839,8 +839,8 @@ github.com/kubescape/go-logger v0.0.5 h1:lA25XvI4LT4JqwnNkIDUtwdYS4KVmnbWrVB7SRt github.com/kubescape/go-logger v0.0.5/go.mod h1:DnVWEvC90LFY1nNMaNo6nBVOcqkLMK3S0qzXP1fzRvI= github.com/kubescape/k8s-interface v0.0.82 h1:Gu09lQDG+Mw81OxA9MK1BSaqxV/FBRaMYX9jzVqOzzw= github.com/kubescape/k8s-interface v0.0.82/go.mod h1:ihX96yqar+xogHl45mFE8zT9DLI06iy7XQPAP+j5KJE= -github.com/kubescape/opa-utils v0.0.171 h1:P8ibowlUL2GQV15tvnjuAYKSSmxwnDn+57QXEBwQnFc= -github.com/kubescape/opa-utils v0.0.171/go.mod h1:aU4s1y+BWWxNwYw447TmHmNaKHxOWtYsFhZe5GyvOuE= +github.com/kubescape/opa-utils v0.0.173 h1:iL9unxmraS+UFqxd4rqNwEYsrthKD9GW4DLDIP0iGbw= +github.com/kubescape/opa-utils v0.0.173/go.mod h1:aU4s1y+BWWxNwYw447TmHmNaKHxOWtYsFhZe5GyvOuE= github.com/kubescape/rbac-utils v0.0.17 h1:B78kjlTKqjYK/PXwmi4GPysHsFxIwVz1KFb4+IGT29w= github.com/kubescape/rbac-utils v0.0.17/go.mod h1:pBwjpcrVeuH/no+DiCZWvlhYtCDzd3U0o/hEZKi+eM8= github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo=