check

package
v0.0.29 Latest Latest
Warning

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

Go to latest
Published: Jun 18, 2019 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// PASS check passed.
	PASS State = "PASS"
	// FAIL check failed.
	FAIL State = "FAIL"
	// WARN could not carry out check.
	WARN State = "WARN"
	// INFO informational message
	INFO State = "INFO"

	// MASTER a master node
	MASTER NodeType = "master"
	// NODE a node
	NODE NodeType = "node"
	// FEDERATED a federated deployment.
	FEDERATED NodeType = "federated"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Check

type Check struct {
	ID             string      `yaml:"id" json:"test_number"`
	Text           string      `json:"test_desc"`
	Audit          string      `json:"audit"`
	Type           string      `json:"type"`
	Commands       []*exec.Cmd `json:"omit"`
	Tests          *tests      `json:"omit"`
	Set            bool        `json:"omit"`
	Remediation    string      `json:"remediation"`
	TestInfo       []string    `json:"test_info"`
	State          `json:"status"`
	ActualValue    string `json:"actual_value"`
	Scored         bool   `json:"scored"`
	ExpectedResult string `json:"expected_result"`
}

Check contains information about a recommendation in the CIS Kubernetes 1.6+ document.

type Controls

type Controls struct {
	ID      string   `yaml:"id" json:"id"`
	Version string   `json:"version"`
	Text    string   `json:"text"`
	Type    NodeType `json:"node_type"`
	Groups  []*Group `json:"tests"`
	Summary
}

Controls holds all controls to check for master nodes.

func NewControls

func NewControls(t NodeType, in []byte) (*Controls, error)

NewControls instantiates a new master Controls object.

func (*Controls) JSON

func (controls *Controls) JSON() ([]byte, error)

JSON encodes the results of last run to JSON.

func (*Controls) RunChecks

func (controls *Controls) RunChecks(runner Runner, filter Predicate) Summary

RunChecks runs the checks with the given Runner. Only checks for which the filter Predicate returns `true` will run.

type Group

type Group struct {
	ID     string   `yaml:"id" json:"section"`
	Pass   int      `json:"pass"`
	Fail   int      `json:"fail"`
	Warn   int      `json:"warn"`
	Info   int      `json:"info"`
	Text   string   `json:"desc"`
	Checks []*Check `json:"results"`
}

Group is a collection of similar checks.

type NodeType

type NodeType string

NodeType indicates the type of node (master, node, federated).

type Predicate added in v0.0.27

type Predicate func(group *Group, check *Check) bool

Predicate a predicate on the given Group and Check arguments.

type Runner added in v0.0.27

type Runner interface {
	// Run runs a given check and returns the execution state.
	Run(c *Check) State
}

Runner wraps the basic Run method.

func NewRunner added in v0.0.27

func NewRunner() Runner

NewRunner constructs a default Runner.

type State

type State string

State is the state of a control check.

type Summary

type Summary struct {
	Pass int `json:"total_pass"`
	Fail int `json:"total_fail"`
	Warn int `json:"total_warn"`
	Info int `json:"total_info"`
}

Summary is a summary of the results of control checks run.

Jump to

Keyboard shortcuts

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