Documentation ¶
Index ¶
- Constants
- Variables
- func ConvertInterfaceToPod(obj interface{}) (*v1.Pod, error)
- type ApplicationProfile
- type ApplicationProfileSpec
- type CapabilitiesCalls
- type CollectorManager
- func (cm *CollectorManager) CollectContainerEvents(id *ContainerId)
- func (cm *CollectorManager) ContainerStarted(id *ContainerId, attach bool)
- func (cm *CollectorManager) ContainerStopped(id *ContainerId)
- func (cm *CollectorManager) FinalizeApplicationProfile(id *ContainerId)
- func (cm *CollectorManager) MarkPodNotRecording(pod, namespace string)
- func (cm *CollectorManager) MarkPodRecording(pod, namespace string, attach bool)
- func (cm *CollectorManager) OnContainerActivityEvent(event *tracing.ContainerActivityEvent)
- func (cm *CollectorManager) StartFinalizerWatcher()
- func (cm *CollectorManager) StopCollectorManager() error
- func (cm *CollectorManager) StopFinalizerWatcher()
- type CollectorManagerConfig
- type ContainerId
- type ContainerProfile
- type ContainerState
- type DnsCalls
- type ExecCalls
- type NetworkActivity
- type NetworkCalls
- type OpenCalls
- type PodProfileFinalizerState
- type TotalEvents
Constants ¶
View Source
const ( RecordStrategyAlways = "always" RecordStrategyOnlyIfNotExists = "only-if-not-exists" )
View Source
const ( // ApplicationProfileKind is the kind of ApplicationProfile ApplicationProfileKind string = "ApplicationProfile" // ApplicationProfileGroup is the group of ApplicationProfile ApplicationProfileGroup string = "kubescape.io" // ApplicationProfileVersion is the version of ApplicationProfile ApplicationProfileVersion string = "v1" // ApplicationProfilePlural is the plural of ApplicationProfile ApplicationProfilePlural string = "applicationprofiles" // ApplicationProfileApiVersion is the api version of ApplicationProfile ApplicationProfileApiVersion string = ApplicationProfileGroup + "/" + ApplicationProfileVersion )
Variables ¶
View Source
var AppProfileGvr schema.GroupVersionResource = schema.GroupVersionResource{ Group: ApplicationProfileGroup, Version: ApplicationProfileVersion, Resource: ApplicationProfilePlural, }
Functions ¶
func ConvertInterfaceToPod ¶ added in v0.0.27
Types ¶
type ApplicationProfile ¶
type ApplicationProfile struct { v1.TypeMeta `json:",inline"` v1.ObjectMeta `json:"metadata,omitempty"` // Specification of the desired behavior of the ApplicationProfile. Spec ApplicationProfileSpec `json:"spec,omitempty"` }
type ApplicationProfileSpec ¶
type ApplicationProfileSpec struct {
Containers []ContainerProfile `json:"containers" yaml:"containers"`
}
type CapabilitiesCalls ¶
type CollectorManager ¶
type CollectorManager struct {
// contains filtered or unexported fields
}
func StartCollectorManager ¶
func StartCollectorManager(config *CollectorManagerConfig) (*CollectorManager, error)
func (*CollectorManager) CollectContainerEvents ¶
func (cm *CollectorManager) CollectContainerEvents(id *ContainerId)
func (*CollectorManager) ContainerStarted ¶
func (cm *CollectorManager) ContainerStarted(id *ContainerId, attach bool)
func (*CollectorManager) ContainerStopped ¶
func (cm *CollectorManager) ContainerStopped(id *ContainerId)
func (*CollectorManager) FinalizeApplicationProfile ¶ added in v0.0.18
func (cm *CollectorManager) FinalizeApplicationProfile(id *ContainerId)
func (*CollectorManager) MarkPodNotRecording ¶ added in v0.0.27
func (cm *CollectorManager) MarkPodNotRecording(pod, namespace string)
func (*CollectorManager) MarkPodRecording ¶ added in v0.0.27
func (cm *CollectorManager) MarkPodRecording(pod, namespace string, attach bool)
func (*CollectorManager) OnContainerActivityEvent ¶
func (cm *CollectorManager) OnContainerActivityEvent(event *tracing.ContainerActivityEvent)
func (*CollectorManager) StartFinalizerWatcher ¶ added in v0.0.27
func (cm *CollectorManager) StartFinalizerWatcher()
func (*CollectorManager) StopCollectorManager ¶
func (cm *CollectorManager) StopCollectorManager() error
func (*CollectorManager) StopFinalizerWatcher ¶ added in v0.0.27
func (cm *CollectorManager) StopFinalizerWatcher()
type CollectorManagerConfig ¶
type CollectorManagerConfig struct { // Event sink object EventSink *eventsink.EventSink // Interval in seconds for collecting data from containers Interval uint64 // Finalize application profiles time FinalizeTime uint64 // Kubernetes configuration K8sConfig *rest.Config // Tracer object Tracer tracing.ITracer // Record strategy RecordStrategy string // Node name NodeName string }
type ContainerId ¶
type ContainerProfile ¶
type ContainerProfile struct { Name string `json:"name" yaml:"name"` Execs []ExecCalls `json:"execs" yaml:"execs"` Opens []OpenCalls `json:"opens" yaml:"opens"` NetworkActivity NetworkActivity `json:"networkActivity" yaml:"networkActivity"` Capabilities []CapabilitiesCalls `json:"capabilities" yaml:"capabilities"` Dns []DnsCalls `json:"dns" yaml:"dns"` SysCalls []string `json:"syscalls" yaml:"syscalls"` }
type ContainerState ¶
type ContainerState struct {
// contains filtered or unexported fields
}
type ExecCalls ¶
type NetworkActivity ¶
type NetworkActivity struct { Incoming []NetworkCalls `json:"incoming" yaml:"incoming"` Outgoing []NetworkCalls `json:"outgoing" yaml:"outgoing"` }
type NetworkCalls ¶
type PodProfileFinalizerState ¶ added in v0.0.27
type TotalEvents ¶ added in v0.0.22
type TotalEvents struct { ExecEvents []*tracing.ExecveEvent OpenEvents []*tracing.OpenEvent SyscallEvents []string CapabilitiesEvents []*tracing.CapabilitiesEvent DnsEvents []*tracing.DnsEvent NetworkEvents []*tracing.NetworkEvent }
Click to show internal directories.
Click to hide internal directories.