commands

package
v0.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2021 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ConsoleOutputGenerator ui.OutputGenerator = func(at []*models.SubCategory, log *logger.BLogger) {
	grandTotal := make([]models.AuditTestTotals, 0)
	for _, a := range at {
		log.Console(fmt.Sprintf("%s %s\n", "[Category]", a.Name))
		categoryTotal := printTestResults(a.AuditTests, log)
		grandTotal = append(grandTotal, categoryTotal)
	}
	log.Console(printFinalResults(grandTotal))
}

ConsoleOutputGenerator print audit tests to stdout

View Source
var ReportOutputGenerator ui.OutputGenerator = func(at []*models.SubCategory, log *logger.BLogger) {
	for _, a := range at {
		log.Table(reports.GenerateAuditReport(a.AuditTests))
	}
}

ReportOutputGenerator print failed audit test to human report

Functions

func AddAllMessages

func AddAllMessages(at *models.AuditBench, match bool) []*models.AuditBench

AddAllMessages add all audit test to report data

func AddFailedMessages

func AddFailedMessages(at *models.AuditBench, match bool) []*models.AuditBench

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) LoadAuditTests

func (tl AuditTestLoader) LoadAuditTests(auditFiles []utils.FilesInfo) []*models.SubCategory

LoadAuditTests load audit test from benchmark folder

type CmdEvaluator added in v0.2.0

type CmdEvaluator interface {
	EvalCommand(commands []string, evalExpr string) eval.CmdEvalResult
}

CmdEvaluator interface expose one method to evaluate command with evalExpr k8s-audit.go

type K8sAudit

type K8sAudit struct {
	ResultProcessor ResultProcessor
	OutputGenerator ui.OutputGenerator
	FileLoader      TestLoader
	PredicateChain  []filters.Predicate
	PredicateParams []string
	PlChan          chan m2.KubeAuditResults
	CompletedChan   chan bool
	FilesInfo       []utils.FilesInfo
	Evaluator       eval.CmdEvaluator
	Log             *logger.BLogger
}

K8sAudit k8s benchmark object

func NewK8sAudit

func NewK8sAudit(filters []string, plChan chan m2.KubeAuditResults, completedChan chan bool, fi []utils.FilesInfo, log *logger.BLogger, evaluator CmdEvaluator) *K8sAudit

NewK8sAudit new audit object

func (K8sAudit) Help

func (bk K8sAudit) Help() string

Help return benchmark command help

func (*K8sAudit) Run

func (bk *K8sAudit) Run(args []string) int

Run execute the full k8s benchmark

func (*K8sAudit) Synopsis

func (bk *K8sAudit) Synopsis() string

Synopsis for help

type ResultProcessor

type ResultProcessor func(at *models.AuditBench, match bool) []*models.AuditBench

ResultProcessor process audit results

func GetResultProcessingFunction

func GetResultProcessingFunction(args []string) ResultProcessor

GetResultProcessingFunction return processing function by specificTests

type TestLoader

type TestLoader interface {
	LoadAuditTests(fi []utils.FilesInfo) []*models.SubCategory
}

TestLoader load tests from filesystem command-helper.go

func NewFileLoader

func NewFileLoader() TestLoader

NewFileLoader create new file loader

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL