Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Enabled bool `json:"enabled"` CastaiSecretRefName string `json:"castaiSecretRefName"` ScanInterval time.Duration `validate:"required" json:"scanInterval"` ScanTimeout time.Duration `json:"scanTimeout"` MaxConcurrentScans int64 `validate:"required" json:"maxConcurrentScans"` ScanJobImagePullPolicy string `json:"scanJobImagePullPolicy"` Mode string `json:"mode"` CPURequest string `json:"CPURequest"` CPULimit string `json:"CPULimit"` MemoryRequest string `json:"memoryRequest"` MemoryLimit string `json:"memoryLimit"` ProfileEnabled bool `json:"profileEnabled"` PhlareEnabled bool `json:"phlareEnabled"` PrivateRegistryPullSecret string `json:"privateRegistryPullSecret"` ServiceAccount string `json:"serviceAccount"` InitDelay time.Duration `json:"initDelay"` CastaiGRPCAddress string `json:"castaiGRPCAddress"` CastaiClusterID string `json:"castaiClusterID"` CastaiGrpcInsecure bool `json:"castaiGrpcInsecure"` ImageScanBlobsCacheURL string `json:"imageScanBlobsCacheURL"` CloudProvider string `json:"cloudProvider"` IgnoredNamespaces []string `json:"ignoredNamespaces"` DisabledAnalyzers []string `json:"disabledAnalyzers"` }
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
func NewController ¶
func NewController( log *logging.Logger, cfg Config, imageScanner imageScanner, client castaiClient, kubeController kubeClient, ) *Controller
func (*Controller) OnAdd ¶
func (c *Controller) OnAdd(obj kube.Object)
func (*Controller) OnDelete ¶
func (c *Controller) OnDelete(obj kube.Object)
func (*Controller) OnUpdate ¶
func (c *Controller) OnUpdate(obj kube.Object)
func (*Controller) RequiredTypes ¶
func (c *Controller) RequiredTypes() []reflect.Type
type ImageScanImage ¶
type ImageScanImage struct {
PullPolicy string `envconfig:"IMAGE_SCAN_IMAGE_PULL_POLICY" yaml:"pullPolicy"`
}
type ScanImageParams ¶
type ScanImageParams struct { ImageName string // Example: ghcr.io/castai/kvisor/kvisor:8889dc92d6c69420a811de4fc67e619a30c028e9 ImageID string // Example: ghcr.io/castai/kvisor/kvisor@sha256:2db087348c66274941013a3163036b1ca09da03ea64e9f9cdd79b8f647e4fe44 ContainerRuntime string Mode string NodeName string ResourceIDs []string DeleteFinishedJob bool WaitForCompletion bool WaitDurationAfterCompletion time.Duration Architecture string Os string ScanImageDetails kube.ImageDetails }
type Scanner ¶
type Scanner struct {
// contains filtered or unexported fields
}
func NewImageScanner ¶
func NewImageScanner(client kubernetes.Interface, cfg Config, podNamespace string) *Scanner
Click to show internal directories.
Click to hide internal directories.