Documentation ¶
Index ¶
- func EventString(i interface{}) string
- func Init(nodeName string)
- func MustAddVirtualL3EndpointColumn[Event any](cols *columns.Columns[Event], attr columns.Attributes, ...)
- func MustAddVirtualL4EndpointColumn[Event any](cols *columns.Columns[Event], attr columns.Attributes, ...)
- type BasicK8sMetadata
- type BasicRuntimeMetadata
- type CommonData
- func (c *CommonData) GetContainer() string
- func (c *CommonData) GetContainerImageName() string
- func (c *CommonData) GetNamespace() string
- func (c *CommonData) GetNode() string
- func (c *CommonData) GetPod() string
- func (c *CommonData) SetContainerMetadata(container Container)
- func (c *CommonData) SetNode(node string)
- func (c *CommonData) SetPodMetadata(container Container)
- type Container
- type EndpointKind
- type Event
- type EventType
- type K8sMetadata
- type L3Endpoint
- type L4Endpoint
- type RuntimeName
- type Time
- type WithMountNsID
- type WithNetNsID
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EventString ¶
func EventString(i interface{}) string
func MustAddVirtualL3EndpointColumn ¶ added in v0.18.0
func MustAddVirtualL3EndpointColumn[Event any]( cols *columns.Columns[Event], attr columns.Attributes, getEndpoint func(*Event) L3Endpoint, )
func MustAddVirtualL4EndpointColumn ¶ added in v0.18.0
func MustAddVirtualL4EndpointColumn[Event any]( cols *columns.Columns[Event], attr columns.Attributes, getEndpoint func(*Event) L4Endpoint, )
Types ¶
type BasicK8sMetadata ¶ added in v0.19.0
type BasicK8sMetadata struct { Namespace string `json:"namespace,omitempty" column:"namespace,template:namespace"` PodName string `json:"podName,omitempty" column:"podName,template:pod"` PodLabels map[string]string `json:"podLabels,omitempty" column:"labels,hide"` ContainerName string `json:"containerName,omitempty" column:"containerName,template:container"` }
func (*BasicK8sMetadata) IsEnriched ¶ added in v0.19.0
func (b *BasicK8sMetadata) IsEnriched() bool
type BasicRuntimeMetadata ¶ added in v0.19.0
type BasicRuntimeMetadata struct { // RuntimeName is the name of the container runtime. It is useful to distinguish // who is the "owner" of each container in a list of containers collected // from multiple runtimes. RuntimeName RuntimeName `json:"runtimeName,omitempty" column:"runtimeName,width:19,fixed,hide"` // ContainerID is the container ContainerID without the container runtime prefix. For // instance, without the "cri-o://" for CRI-O. ContainerID string `json:"containerId,omitempty" column:"containerId,width:13,maxWidth:64,hide"` // ContainerName is the container name. In the case the container runtime // response with multiple containers, ContainerName contains only the first element. ContainerName string `json:"containerName,omitempty" column:"containerName,template:container"` // ContainerImageName is the name of the container image where the event comes from // i.e. docker.io/library/busybox:latest // Sometimes the image name is not provided by the runtime (i.e. Docker), then ContainerImageName // is the imageID // i.e. sha256:6e38f40d628db3002f5617342c8872c935de530d867d0f709a2fbda1a302a562 // OR // i.e. 6e38f40d628d, when truncated ContainerImageName string `json:"containerImageName,omitempty" column:"containerImageName,hide"` // ContainerImageDigest is the (repo) digest of the container image where the event comes from // containerd: events from both initial and new containers are enriched // crio: events from initial containers are enriched ContainerImageDigest string `json:"containerImageDigest,omitempty" column:"containerImageDigest,hide"` }
func (*BasicRuntimeMetadata) IsEnriched ¶ added in v0.19.0
func (b *BasicRuntimeMetadata) IsEnriched() bool
type CommonData ¶
type CommonData struct { // Runtime contains the container runtime metadata of the container // that generated the event Runtime BasicRuntimeMetadata `json:"runtime,omitempty" column:"runtime" columnTags:"runtime"` // K8s contains the Kubernetes metadata of the object that generated the // event K8s K8sMetadata `json:"k8s,omitempty" column:"k8s" columnTags:"kubernetes"` }
func (*CommonData) GetContainer ¶ added in v0.15.0
func (c *CommonData) GetContainer() string
func (*CommonData) GetContainerImageName ¶ added in v0.19.0
func (c *CommonData) GetContainerImageName() string
func (*CommonData) GetNamespace ¶ added in v0.15.0
func (c *CommonData) GetNamespace() string
func (*CommonData) GetNode ¶ added in v0.15.0
func (c *CommonData) GetNode() string
func (*CommonData) GetPod ¶ added in v0.15.0
func (c *CommonData) GetPod() string
func (*CommonData) SetContainerMetadata ¶ added in v0.19.0
func (c *CommonData) SetContainerMetadata(container Container)
func (*CommonData) SetNode ¶ added in v0.14.0
func (c *CommonData) SetNode(node string)
func (*CommonData) SetPodMetadata ¶ added in v0.19.0
func (c *CommonData) SetPodMetadata(container Container)
type Container ¶ added in v0.28.0
type Container interface { K8sMetadata() *BasicK8sMetadata RuntimeMetadata() *BasicRuntimeMetadata UsesHostNetwork() bool }
type EndpointKind ¶ added in v0.18.0
type EndpointKind string
const ( EndpointKindPod EndpointKind = "pod" EndpointKindService EndpointKind = "svc" EndpointKindRaw EndpointKind = "raw" )
type Event ¶
type Event struct { CommonData // Timestamp in nanoseconds since January 1, 1970 UTC. An int64 is big // enough to represent time between the year 1678 and 2262. Timestamp Time `json:"timestamp,omitempty" column:"timestamp,template:timestamp,stringer"` // Type indicates the kind of this event Type EventType `json:"type"` // Message when Type is ERR, WARN, DEBUG or INFO Message string `json:"message,omitempty"` }
func (Event) GetBaseEvent ¶ added in v0.11.0
GetBaseEvent is needed to implement commonutils.BaseElement and snapshot.SnapshotEvent interfaces.
func (*Event) GetMessage ¶ added in v0.15.0
type EventType ¶
type EventType string
const ( // Indicates a generic event produced by a gadget. Gadgets extend // the base event to contain the specific data the gadget provides NORMAL EventType = "normal" // Event is an error message ERR EventType = "err" // Event is a warning message WARN EventType = "warn" // Event is a debug message DEBUG EventType = "debug" // Event is a info message INFO EventType = "info" // Indicates the tracer in the node is now is able to produce events READY EventType = "ready" )
type K8sMetadata ¶ added in v0.19.0
type K8sMetadata struct { Node string `json:"node,omitempty" column:"node,template:node"` BasicK8sMetadata `json:",inline"` // HostNetwork is true if the container uses the host network namespace HostNetwork bool `json:"hostNetwork,omitempty" column:"hostnetwork,hide"` }
type L3Endpoint ¶ added in v0.18.0
type L3Endpoint struct { // Addr is filled by the gadget Addr string `json:"addr,omitempty" column:"addr,hide,template:ipaddr"` Version uint8 `json:"version,omitempty" column:"v,hide,template:ipversion"` // Namespace, Name, Kind and PodLabels get populated by the KubeIPResolver operator Namespace string `json:"namespace,omitempty" column:"ns,template:namespace,hide"` Name string `json:"podname,omitempty" column:"name,hide"` Kind EndpointKind `json:"kind,omitempty" column:"kind,hide"` PodLabels map[string]string `json:"podlabels,omitempty" column:"podLabels,hide"` }
func (*L3Endpoint) String ¶ added in v0.18.0
func (e *L3Endpoint) String() string
type L4Endpoint ¶ added in v0.18.0
type L4Endpoint struct { L3Endpoint // Port and Proto are filled by the gadget Port uint16 `json:"port" column:"port,hide,template:ipport"` Proto uint16 `json:"proto,omitempty" column:"proto,hide,width:4"` }
func (*L4Endpoint) String ¶ added in v0.18.0
func (e *L4Endpoint) String() string
type RuntimeName ¶ added in v0.19.0
type RuntimeName string
const ( RuntimeNameDocker RuntimeName = "docker" RuntimeNameContainerd RuntimeName = "containerd" RuntimeNameCrio RuntimeName = "cri-o" RuntimeNamePodman RuntimeName = "podman" RuntimeNameUnknown RuntimeName = "unknown" )
func String2RuntimeName ¶ added in v0.19.0
func String2RuntimeName(name string) RuntimeName
func (RuntimeName) String ¶ added in v0.19.0
func (r RuntimeName) String() string
type WithMountNsID ¶ added in v0.14.0
type WithMountNsID struct {
MountNsID uint64 `json:"mountnsid,omitempty" column:"mntns,template:ns"`
}
func (*WithMountNsID) GetMountNSID ¶ added in v0.14.0
func (e *WithMountNsID) GetMountNSID() uint64
type WithNetNsID ¶ added in v0.14.0
type WithNetNsID struct {
NetNsID uint64 `json:"netnsid,omitempty" column:"netns,template:ns"`
}
func (*WithNetNsID) GetNetNSID ¶ added in v0.14.0
func (e *WithNetNsID) GetNetNSID() uint64
Click to show internal directories.
Click to hide internal directories.