Documentation ¶
Overview ¶
Package kubebench provides primitives for working with CIS Kubernetes benchmarks.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type NodeController ¶
type NodeController struct { logr.Logger etc.Config client.Client kube.LogsReader controller.LimitChecker ReadWriter Plugin starboard.ConfigData }
NodeController reconciles corev1.Node and corev1.Job objects to check cluster nodes configuration with CIS Kubernetes Benchmark and saves results as v1alpha1.CISKubeBenchReport objects. Each v1alpha1.CISKubeBenchReport is controlled by the corev1.Node for which it was generated. Additionally, the CISKubeBenchReportReconciler.SetupWithManager method informs the ctrl.Manager that this controller reconciles nodes that own benchmark reports, so that it will automatically call the reconcile callback on the underlying corev1.Node when a v1alpha1.CISKubeBenchReport changes, is deleted, etc.
func (*NodeController) SetupWithManager ¶
func (r *NodeController) SetupWithManager(mgr ctrl.Manager) error
type Plugin ¶
type Plugin interface { // GetScanJobSpec describes the pod that will be created by Starboard when // it schedules a Kubernetes job to audit the configuration of the specified // node. GetScanJobSpec(node corev1.Node) (corev1.PodSpec, error) // ParseCISKubeBenchReportData is a callback to parse and convert logs of // the pod controlled by the scan job to v1alpha1.CISKubeBenchReportData. ParseCISKubeBenchReportData(logsStream io.ReadCloser) (v1alpha1.CISKubeBenchReportData, error) GetContainerName() string }
Plugin defines the interface between Starboard and Kubernetes configuration checker with CIS Kubernetes Benchmarks.
type ReadWriter ¶
func NewReadWriter ¶
func NewReadWriter(client client.Client) ReadWriter