From d484aeb62ce6064ef2edbbe8d962a46646d0ff8c Mon Sep 17 00:00:00 2001 From: dwertent Date: Tue, 17 Aug 2021 16:24:23 +0300 Subject: [PATCH] update description --- cautils/opapolicy/datastructures.go | 10 +++++----- cautils/opapolicy/datastructuresmethods.go | 5 ++++- inputhandler/clihandler/flaghandler.go | 4 +++- opaprocessor/processorhandler.go | 2 +- policyhandler/k8sresources.go | 3 +++ printer/printresults.go | 6 +++--- printer/summery.go | 2 +- 7 files changed, 20 insertions(+), 12 deletions(-) diff --git a/cautils/opapolicy/datastructures.go b/cautils/opapolicy/datastructures.go index 2f8de4d8..3c508f9f 100644 --- a/cautils/opapolicy/datastructures.go +++ b/cautils/opapolicy/datastructures.go @@ -42,11 +42,11 @@ type ControlReport struct { Description string `json:"description"` } type RuleReport struct { - Name string `json:"name"` - Remediation string `json:"remediation"` - RuleStatus RuleStatus `json:"ruleStatus"` - RuleResponses []RuleResponse `json:"ruleResponses"` - NumOfResources int + Name string `json:"name"` + Remediation string `json:"remediation"` + RuleStatus RuleStatus `json:"ruleStatus"` + RuleResponses []RuleResponse `json:"ruleResponses"` + ListInputResources []map[string]interface{} `json:"-"` } type RuleStatus struct { Status string `json:"status"` diff --git a/cautils/opapolicy/datastructuresmethods.go b/cautils/opapolicy/datastructuresmethods.go index e685c427..6f48bab1 100644 --- a/cautils/opapolicy/datastructuresmethods.go +++ b/cautils/opapolicy/datastructuresmethods.go @@ -70,7 +70,10 @@ func ParseRegoResult(regoResult *rego.ResultSet) ([]RuleResponse, error) { func (controlReport *ControlReport) GetNumberOfResources() int { sum := 0 for i := range controlReport.RuleReports { - sum += controlReport.RuleReports[i].NumOfResources + if controlReport.RuleReports[i].ListInputResources == nil { + continue + } + sum += len(controlReport.RuleReports[i].ListInputResources) } return sum } diff --git a/inputhandler/clihandler/flaghandler.go b/inputhandler/clihandler/flaghandler.go index df2521c8..2c53abea 100644 --- a/inputhandler/clihandler/flaghandler.go +++ b/inputhandler/clihandler/flaghandler.go @@ -45,7 +45,7 @@ func (flagHandler *FlagHandler) Help() { } func (flagHandler *FlagHandler) Version() { - fmt.Println("bla.bla.bla") + fmt.Println("") } func (flagHandler *FlagHandler) Scan() { @@ -71,6 +71,8 @@ func (flagHandler *FlagHandler) ScanFramework() { // fmt.Printf("framework %s not supported, supported frameworks: %v", frameworkName, SupportedFrameworks()) // return // } + // excludeSystem := false + // flag.BoolVar(&excludeSystem, "exclude-system", false, "") flagHandler.policyIdentifier = &opapolicy.PolicyIdentifier{ Kind: opapolicy.KindFramework, Name: frameworkName, diff --git a/opaprocessor/processorhandler.go b/opaprocessor/processorhandler.go index 54ef4c6f..b3fc2bda 100644 --- a/opaprocessor/processorhandler.go +++ b/opaprocessor/processorhandler.go @@ -87,7 +87,7 @@ func (opap *OPAProcessor) ProcessRulesHandler(opaSessionObj *cautils.OPASessionO } else { ruleReport.RuleStatus.Status = "success" } - ruleReport.NumOfResources = len(k8sObjects) + ruleReport.ListInputResources = k8sObjects ruleReports = append(ruleReports, ruleReport) } controlReport.RuleReports = ruleReports diff --git a/policyhandler/k8sresources.go b/policyhandler/k8sresources.go index b28cf412..88f1bb90 100644 --- a/policyhandler/k8sresources.go +++ b/policyhandler/k8sresources.go @@ -62,6 +62,9 @@ func (policyHandler *PolicyHandler) pullSingleResource(resource *schema.GroupVer if labels != nil && len(labels) > 0 { set := k8slabels.Set(labels) listOptions.LabelSelector = set.AsSelector().String() + // if excludeSystem{ + // listOptions.FieldSelector = "metadata.namespace!=kube-system,metadata.namespace!=cyberarmor-system" + // } } // set dynamic object diff --git a/printer/printresults.go b/printer/printresults.go index 9b180e08..a6e7cad5 100644 --- a/printer/printresults.go +++ b/printer/printresults.go @@ -4,7 +4,6 @@ import ( "fmt" "kube-escape/cautils" "os" - "strings" "kube-escape/cautils/k8sinterface" "kube-escape/cautils/opapolicy" @@ -62,7 +61,7 @@ func (printer *Printer) SummerySetup(postureReport *opapolicy.PostureReport) { TotalResources: cr.GetNumberOfResources(), TotalFailed: len(workloadsSummery), WorkloadSummery: mapResources, - Description: strings.ReplaceAll(cr.Description, ". ", fmt.Sprintf(".\n%s%s", INDENT, INDENT)), + Description: cr.Description, } } } @@ -72,6 +71,7 @@ func (printer *Printer) PrintResults() { for control, controlSummery := range printer.summery { printer.printTitle(control, &controlSummery) printer.printResult(control, &controlSummery) + // printer.printSummery(control, &controlSummery) } } @@ -85,7 +85,7 @@ func (printer *Printer) printTitle(controlName string, controlSummery *ControlSu cautils.FailureDisplay(os.Stdout, "failed %v\n", emoji.SadButRelievedFace) } - cautils.SimpleDisplay(os.Stdout, "%sDescription: %s\n", INDENT, controlSummery.Description) + cautils.SimpleDisplay(os.Stdout, "Description: %s\n", controlSummery.Description) } func (printer *Printer) printResult(controlName string, controlSummery *ControlSummery) { diff --git a/printer/summery.go b/printer/summery.go index b69f24d2..ad54ff23 100644 --- a/printer/summery.go +++ b/printer/summery.go @@ -14,7 +14,7 @@ type ControlSummery struct { TotalResources int TotalFailed int Description string - WorkloadSummery map[string][]WorkloadSummery + WorkloadSummery map[string][]WorkloadSummery // :[] } type WorkloadSummery struct {