controller

package
v0.0.1 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type HttpChecker

type HttpChecker interface {
	ServerHealthy(serverURL string) error
}

HttpChecker check health with http server

func NewHttpChecker

func NewHttpChecker() HttpChecker

type ScanJobController

ScanJobController watches Kubernetes workloads and generates v1alpha1.VulnerabilityReport instances using vulnerability scanner that that implements the Plugin interface.

func (*ScanJobController) SetupWithManager

func (r *ScanJobController) SetupWithManager(mgr ctrl.Manager) error

type ScanJobRequest

type ScanJobRequest struct {
	Workload client.Object
	Context  context.Context
}

ScanJobRequest encapsulate workload and context for processing

type ScanJobResult

type ScanJobResult struct {
	Result ctrl.Result
	Error  error
}

ScanJobResult encapsulate processing result and error

type ServerHealthChecker

type ServerHealthChecker interface {
	VulServerAvaliable(serverURL string) (bool, error)
}

func NewVulServerChecker

func NewVulServerChecker(expiration *time.Duration, cache gcache.Cache, httpChecker HttpChecker) ServerHealthChecker

type WorkloadController

type WorkloadController struct {
	logr.Logger
	etc.Config
	kube.ObjectResolver
	client.Client
	jobs.LimitChecker
	vulnerabilityreport.Plugin
	vuloperator.PluginContext
	kube.SecretsReader
	vuloperator.ConfigData
	ServerHealthChecker     ServerHealthChecker
	VulnerabilityReadWriter vulnerabilityreport.ReadWriter
	ExposedSecretReadWriter exposedsecretreport.ReadWriter
	SbomReadWriter          sbomreport.ReadWriter
	SubmitScanJobChan       chan ScanJobRequest
	ResultScanJobChan       chan ScanJobResult
	CacheSyncTimeout        time.Duration
}

WorkloadController watches Kubernetes workloads and generates v1alpha1.VulnerabilityReport instances using vulnerability scanner that that implements the Plugin interface.

func (*WorkloadController) ProcessScanJob

func (r *WorkloadController) ProcessScanJob()

func (*WorkloadController) SetupWithManager

func (r *WorkloadController) SetupWithManager(mgr ctrl.Manager) error

Jump to

Keyboard shortcuts

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