Documentation ¶
Index ¶
- Variables
- func AddAllMessages(at *models.SecurityCheck, isSucceeded bool) []*models.SecurityCheck
- func AddFailedMessages(at *models.SecurityCheck, isSucceeded bool) []*models.SecurityCheck
- func FilterAuditTests(predicates []filters.Predicate, predicateParams []string, ...) *models.SubCategory
- func RunPredicateChain(predicates []filters.Predicate, predicateParams []string, size int, ...) *models.SubCategory
- type AuditTestLoader
- type CmdEvaluator
- type MeshCheck
- type ResultProcessor
- type TestLoader
Constants ¶
This section is empty.
Variables ¶
var ClassicOutputGenerator ui.OutputGenerator = func(at []*models.SubCategory, log *logger.MeshKridikLogger) { grandTotal := make([]models.CheckTotals, 0) for _, a := range at { categoryTotal := calculateTotals(a.Checks) grandTotal = append(grandTotal, categoryTotal) } log.Console(printFinalResults(grandTotal)) }
ClassicOutputGenerator print audit tests to stdout in classic view
var ConsoleOutputGenerator ui.OutputGenerator = func(at []*models.SubCategory, log *logger.MeshKridikLogger) { grandTotal := make([]models.CheckTotals, 0) table := tablewriter.NewWriter(os.Stdout) table.SetHeader([]string{"Category", "Status", "Type", "Check Test Description"}) table.SetAutoWrapText(false) table.SetBorder(true) for _, a := range at { categoryTotal := printTestResults(a.Checks, table, a.Name) grandTotal = append(grandTotal, categoryTotal) } table.SetAutoMergeCellsByColumnIndex([]int{0}) table.SetRowLine(true) table.Render() log.Console(printFinalResults(grandTotal)) }
ConsoleOutputGenerator print audit tests to stdout
var ReportOutputGenerator ui.OutputGenerator = func(at []*models.SubCategory, log *logger.MeshKridikLogger) { log.Console((ui.RemediationReport)) s := spinner.New(spinner.CharSets[9], 100*time.Millisecond) s.Prefix = "[Generating Remediation Report] " s.Start() time.Sleep(time.Second * 3) s.Stop() log.Console("\n") for _, a := range at { log.Table(reports.GenerateAuditReport(a.Checks)) } }
ReportOutputGenerator print failed audit test to human report
Functions ¶
func AddAllMessages ¶
func AddAllMessages(at *models.SecurityCheck, isSucceeded bool) []*models.SecurityCheck
AddAllMessages add all audit test to report data
func AddFailedMessages ¶
func AddFailedMessages(at *models.SecurityCheck, isSucceeded bool) []*models.SecurityCheck
AddFailedMessages add failed audit test to report data
func FilterAuditTests ¶
func FilterAuditTests(predicates []filters.Predicate, predicateParams []string, at *models.SubCategory) *models.SubCategory
FilterAuditTests filter audit tests by predicate chain
func RunPredicateChain ¶
func RunPredicateChain(predicates []filters.Predicate, predicateParams []string, size int, at *models.SubCategory) *models.SubCategory
RunPredicateChain call every predicate in chain and filter tests
Types ¶
type AuditTestLoader ¶
type AuditTestLoader struct { }
AuditTestLoader object
func (AuditTestLoader) LoadSecurityChecks ¶
func (tl AuditTestLoader) LoadSecurityChecks(auditFiles []utils.FilesInfo) []*models.SubCategory
LoadSecurityChecks load audit test from benchmark folder
type CmdEvaluator ¶
type CmdEvaluator interface { EvalCommand(commands []string, evalExpr string) eval.CmdEvalResult EvalCommandPolicy(commands []string, evalExpr string, policy string) eval.CmdEvalResult }
CmdEvaluator interface expose one method to evaluate command with evalExpr mesh-check.go
type MeshCheck ¶
type MeshCheck struct { ResultProcessor ResultProcessor OutputGenerator ui.OutputGenerator FileLoader TestLoader PredicateChain []filters.Predicate PredicateParams []string PlChan chan m2.MeshCheckResults CompletedChan chan bool FilesInfo []utils.FilesInfo Evaluator eval.CmdEvaluator // contains filtered or unexported fields }
MeshCheck lxd benchmark object
func NewMeshCheck ¶
func NewMeshCheck(filters []string, plChan chan m2.MeshCheckResults, completedChan chan bool, fi []utils.FilesInfo, evaluator CmdEvaluator) *MeshCheck
NewMeshCheck new audit object
type ResultProcessor ¶
type ResultProcessor func(at *models.SecurityCheck, isSucceeded bool) []*models.SecurityCheck
ResultProcessor process audit results
func GetResultProcessingFunction ¶
func GetResultProcessingFunction(args []string) ResultProcessor
GetResultProcessingFunction return processing function by specificTests
type TestLoader ¶
type TestLoader interface {
LoadSecurityChecks(fi []utils.FilesInfo) []*models.SubCategory
}
TestLoader load tests from filesystem command-helper.go