Merge pull request #3 from dwertent/master

Update description display
This commit is contained in:
David Wertenteil
2021-08-17 16:27:53 +03:00
committed by GitHub
7 changed files with 20 additions and 12 deletions

View File

@@ -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"`

View File

@@ -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
}

View File

@@ -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,

View File

@@ -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

View File

@@ -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

View File

@@ -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) {

View File

@@ -14,7 +14,7 @@ type ControlSummery struct {
TotalResources int
TotalFailed int
Description string
WorkloadSummery map[string][]WorkloadSummery
WorkloadSummery map[string][]WorkloadSummery // <namespace>:[<WorkloadSummery>]
}
type WorkloadSummery struct {