mirror of
https://github.com/kubescape/kubescape.git
synced 2026-04-15 06:58:11 +00:00
Adding pagination to report
This commit is contained in:
@@ -23,6 +23,7 @@ func getKubernetesObjects(k8sResources *cautils.K8SResources, match []reporthand
|
||||
for _, groupResource := range groupResources {
|
||||
if k8sObj, ok := (*k8sResources)[groupResource]; ok {
|
||||
if k8sObj == nil {
|
||||
continue
|
||||
// glog.Errorf("Resource '%s' is nil, probably failed to pull the resource", groupResource)
|
||||
}
|
||||
k8sObjects = append(k8sObjects, k8sObj...)
|
||||
@@ -98,3 +99,53 @@ func isRuleKubescapeVersionCompatible(rule *reporthandling.PolicyRule) bool {
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func removeData(obj workloadinterface.IMetadata) {
|
||||
if !workloadinterface.IsTypeWorkload(obj.GetObject()) {
|
||||
return // remove data only from kubernetes objects
|
||||
}
|
||||
workload := workloadinterface.NewWorkloadObj(obj.GetObject())
|
||||
switch workload.GetKind() {
|
||||
case "Secret":
|
||||
removeSecretData(obj)
|
||||
case "ConfigMap":
|
||||
removeConfigMapData(obj)
|
||||
default:
|
||||
removePodData(obj)
|
||||
}
|
||||
}
|
||||
|
||||
func removeConfigMapData(obj workloadinterface.IMetadata) {
|
||||
if !workloadinterface.IsTypeWorkload(obj.GetObject()) {
|
||||
return // remove data only from kubernetes objects
|
||||
}
|
||||
workload := workloadinterface.NewWorkloadObj(obj.GetObject())
|
||||
workload.RemoveAnnotation("kubectl.kubernetes.io/last-applied-configuration")
|
||||
workloadinterface.RemoveFromMap(workload.GetObject(), "data")
|
||||
|
||||
}
|
||||
func removeSecretData(obj workloadinterface.IMetadata) {
|
||||
if !workloadinterface.IsTypeWorkload(obj.GetObject()) {
|
||||
return // remove data only from kubernetes objects
|
||||
}
|
||||
workloadinterface.NewWorkloadObj(obj.GetObject()).RemoveSecretData()
|
||||
|
||||
}
|
||||
func removePodData(obj workloadinterface.IMetadata) {
|
||||
if !workloadinterface.IsTypeWorkload(obj.GetObject()) {
|
||||
return // remove data only from kubernetes objects
|
||||
}
|
||||
workload := workloadinterface.NewWorkloadObj(obj.GetObject())
|
||||
workload.RemoveAnnotation("kubectl.kubernetes.io/last-applied-configuration")
|
||||
|
||||
containers, err := workload.GetContainers()
|
||||
if err != nil || len(containers) == 0 {
|
||||
return
|
||||
}
|
||||
for i := range containers {
|
||||
for j := range containers[i].Env {
|
||||
containers[i].Env[j].Value = ""
|
||||
}
|
||||
}
|
||||
workloadinterface.SetInMap(workload.GetObject(), workloadinterface.PodSpec(workload.GetKind()), "containers", containers)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user