diff --git a/go.mod b/go.mod index 95236d8f..92f5c1a7 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.17 require ( github.com/armosec/armoapi-go v0.0.23 - github.com/armosec/k8s-interface v0.0.21 + github.com/armosec/k8s-interface v0.0.24 github.com/armosec/opa-utils v0.0.53 github.com/armosec/rbac-utils v0.0.1 github.com/armosec/utils-go v0.0.3 diff --git a/go.sum b/go.sum index 6145b571..291193e1 100644 --- a/go.sum +++ b/go.sum @@ -88,8 +88,8 @@ github.com/armosec/armoapi-go v0.0.23 h1:jqoLIWM5CR7DCD9fpFgN0ePqtHvOCoZv/XzCwsU github.com/armosec/armoapi-go v0.0.23/go.mod h1:iaVVGyc23QGGzAdv4n+szGQg3Rbpixn9yQTU3qWRpaw= github.com/armosec/k8s-interface v0.0.8/go.mod h1:xxS+V5QT3gVQTwZyAMMDrYLWGrfKOpiJ7Jfhfa0w9sM= github.com/armosec/k8s-interface v0.0.19/go.mod h1:0ztwEWLez2lpMMKHbs0DoZV64S0YIA4s72vCs9iAAiE= -github.com/armosec/k8s-interface v0.0.21 h1:x+UCdU7SEKU1E4fPkPQbGneC4BQljMmUcFdyRNAUry4= -github.com/armosec/k8s-interface v0.0.21/go.mod h1:0ztwEWLez2lpMMKHbs0DoZV64S0YIA4s72vCs9iAAiE= +github.com/armosec/k8s-interface v0.0.24 h1:rVFPpx/WqWFbFWDudBjKOhIMIon1Cd/fGFJtE2RBivU= +github.com/armosec/k8s-interface v0.0.24/go.mod h1:0ztwEWLez2lpMMKHbs0DoZV64S0YIA4s72vCs9iAAiE= github.com/armosec/opa-utils v0.0.53 h1:ibmKPK15kEcm53ddFIu8ZcL+hks1l/3ujMDYL1EXz2Q= github.com/armosec/opa-utils v0.0.53/go.mod h1:9uMk9NbbJydxVztXcwhSgX307xMdGRD2R4pYwzSPi28= github.com/armosec/rbac-utils v0.0.1 h1:N2MI98F/0zbDjmRZ29CNElU1AXkFLk5csd/qAHOBdXY= diff --git a/opaprocessor/processorhandlerutils.go b/opaprocessor/processorhandlerutils.go index 77fa8795..e8eb2664 100644 --- a/opaprocessor/processorhandlerutils.go +++ b/opaprocessor/processorhandlerutils.go @@ -119,6 +119,7 @@ func removeConfigMapData(obj workloadinterface.IMetadata) { workload := workloadinterface.NewWorkloadObj(obj.GetObject()) workload.RemoveAnnotation("kubectl.kubernetes.io/last-applied-configuration") workloadinterface.RemoveFromMap(workload.GetObject(), "data") + workloadinterface.RemoveFromMap(workload.GetObject(), "metadata", "managedFields") } func removeSecretData(obj workloadinterface.IMetadata) { @@ -126,7 +127,7 @@ func removeSecretData(obj workloadinterface.IMetadata) { return // remove data only from kubernetes objects } workloadinterface.NewWorkloadObj(obj.GetObject()).RemoveSecretData() - + workloadinterface.RemoveFromMap(obj.GetObject(), "metadata", "managedFields") } func removePodData(obj workloadinterface.IMetadata) { if !workloadinterface.IsTypeWorkload(obj.GetObject()) { @@ -134,6 +135,7 @@ func removePodData(obj workloadinterface.IMetadata) { } workload := workloadinterface.NewWorkloadObj(obj.GetObject()) workload.RemoveAnnotation("kubectl.kubernetes.io/last-applied-configuration") + workloadinterface.RemoveFromMap(workload.GetObject(), "metadata", "managedFields") containers, err := workload.GetContainers() if err != nil || len(containers) == 0 { diff --git a/resourcehandler/fieldselector.go b/resourcehandler/fieldselector.go index fec72d4e..6dd977cc 100644 --- a/resourcehandler/fieldselector.go +++ b/resourcehandler/fieldselector.go @@ -47,7 +47,7 @@ func getNamespacesSelector(resource *schema.GroupVersionResource, ns, operator s fieldSelector := "metadata." if resource.Resource == "namespaces" { fieldSelector += "name" - } else if k8sinterface.IsNamespaceScope(resource.Group, resource.Resource) { + } else if k8sinterface.IsNamespaceScope(resource) { fieldSelector += "namespace" } else { return "" diff --git a/resourcehandler/k8sresources.go b/resourcehandler/k8sresources.go index f413f8f4..dbc27220 100644 --- a/resourcehandler/k8sresources.go +++ b/resourcehandler/k8sresources.go @@ -95,7 +95,7 @@ func (k8sHandler *K8sResourceHandler) pullSingleResource(resource *schema.GroupV // set dynamic object var clientResource dynamic.ResourceInterface - if namespace != "" && k8sinterface.IsNamespaceScope(resource.Group, resource.Resource) { + if namespace != "" && k8sinterface.IsNamespaceScope(resource) { clientResource = k8sHandler.k8s.DynamicClient.Resource(*resource).Namespace(namespace) } else { clientResource = k8sHandler.k8s.DynamicClient.Resource(*resource)