Documentation ¶
Index ¶
- Constants
- func InitSubprobes(enabled []string, subprobeHandlers map[string]SubprobeHandler, ...) map[string]Subprobe
- func MetadataField(field string) string
- func MetadataFields(fields ...string) []string
- func NewConfig(kubeConfig string) (*rest.Config, error)
- func NewMetadata(manager, ty string, kubeMeta graph.Metadata, extra interface{}, name string) graph.Metadata
- func NewMetadataFields(meta *metav1.ObjectMeta) graph.Metadata
- type KubeCache
- type PolicyPoint
- type PolicyTarget
- type PolicyType
- type Probe
- type ResourceCache
- type ResourceHandler
- type Subprobe
- type SubprobeHandler
Constants ¶
const ( // Manager is the manager value for Kubernetes Manager = "k8s" // KubeKey is the metadata area for k8s specific fields KubeKey = "K8s" // ExtraKey is the metadata area for k8s extra fields ExtraKey = "K8s.Extra" )
const ClusterName = "cluster"
ClusterName is the name of the k8s cluster
Variables ¶
This section is empty.
Functions ¶
func InitSubprobes ¶ added in v0.21.0
func InitSubprobes(enabled []string, subprobeHandlers map[string]SubprobeHandler, client interface{}, g *graph.Graph) map[string]Subprobe
InitSubprobes returns only the subprobes which are enabled
func MetadataField ¶ added in v0.21.0
MetadataField is generates full path of a k8s specific field
func MetadataFields ¶ added in v0.21.0
MetadataFields generates full path of a list of k8s specific fields
func NewMetadata ¶ added in v0.21.0
func NewMetadata(manager, ty string, kubeMeta graph.Metadata, extra interface{}, name string) graph.Metadata
NewMetadata creates a k8s node base metadata struct
func NewMetadataFields ¶ added in v0.21.0
func NewMetadataFields(meta *metav1.ObjectMeta) graph.Metadata
NewMetadataFields creates internal k8s node metadata struct
Types ¶
type KubeCache ¶ added in v0.21.0
type KubeCache struct {
// contains filtered or unexported fields
}
KubeCache describes a generic cache for Kubernetes resources.
func NewKubeCache ¶ added in v0.21.0
NewKubeCache returns a new cache using the associed Kubernetes client.
func RegisterKubeCache ¶ added in v0.21.0
func RegisterKubeCache(restClient rest.Interface, objType runtime.Object, resources string, handler k8sHandler) *KubeCache
RegisterKubeCache registers resource handler to kubernetes events.
type PolicyPoint ¶ added in v0.19.1
type PolicyPoint string
PolicyPoint defines whether a policy applies to a of pods or if it restricts access from a set of pods
const ( PolicyPointBegin PolicyPoint = "begin" PolicyPointEnd PolicyPoint = "end" )
PolicyPoint values
func (PolicyPoint) String ¶ added in v0.19.1
func (val PolicyPoint) String() string
String returns the string representation of a PolicyPoint
type PolicyTarget ¶ added in v0.19.0
type PolicyTarget string
PolicyTarget defines whether traffic is allowed or denied
const ( PolicyTargetDeny PolicyTarget = "deny" PolicyTargetAllow PolicyTarget = "allow" )
Policy targets
func (PolicyTarget) String ¶ added in v0.19.0
func (val PolicyTarget) String() string
String returns the string representation of a policy target
type PolicyType ¶ added in v0.19.0
type PolicyType string
PolicyType defines the policy type (ingress or egress)
const ( PolicyTypeIngress PolicyType = "ingress" PolicyTypeEgress PolicyType = "egress" )
Policy types
func (PolicyType) String ¶ added in v0.19.0
func (val PolicyType) String() string
String returns the string representation of a policy type
type Probe ¶
type Probe struct {
// contains filtered or unexported fields
}
Probe for tracking k8s events
func NewK8sProbe ¶ added in v0.20.0
NewK8sProbe returns a new Kubernetes probe
func NewProbe ¶
func NewProbe(g *graph.Graph, manager string, subprobes map[string]Subprobe, linkers []probe.Probe) *Probe
NewProbe creates the probe for tracking k8s events
func (*Probe) AppendClusterLinkers ¶ added in v0.21.0
AppendClusterLinkers appends newly created cluster linker per type
func (*Probe) AppendNamespaceLinkers ¶ added in v0.21.0
AppendNamespaceLinkers appends newly created namespace linker per type
type ResourceCache ¶ added in v0.20.0
type ResourceCache struct { *graph.EventHandler *KubeCache // contains filtered or unexported fields }
ResourceCache describes a cache for a specific kind of Kubernetes resource. It is in charge of listening to Kubernetes events and creating the according resource in the graph with the informations returned by the associated resource handler
func NewResourceCache ¶ added in v0.20.0
func NewResourceCache(restClient rest.Interface, objType runtime.Object, resources string, g *graph.Graph, handler ResourceHandler, optionalEventHandler ...*graph.EventHandler) *ResourceCache
NewResourceCache returns a new cache using the associed Kubernetes client and with the handler for the resource that this cache manages.
func (*ResourceCache) OnAdd ¶ added in v0.20.0
func (c *ResourceCache) OnAdd(obj interface{})
OnAdd is called when a new Kubernetes resource has been created
func (*ResourceCache) OnDelete ¶ added in v0.20.0
func (c *ResourceCache) OnDelete(obj interface{})
OnDelete is called when a Kubernetes resource has been deleted
func (*ResourceCache) OnUpdate ¶ added in v0.20.0
func (c *ResourceCache) OnUpdate(oldObj, newObj interface{})
OnUpdate is called when a Kubernetes resource has been updated
type ResourceHandler ¶ added in v0.20.0
type ResourceHandler interface { Map(obj interface{}) (graph.Identifier, graph.Metadata) Dump(obj interface{}) string }
ResourceHandler is used to map Kubernetes resources to objets in the graph
type Subprobe ¶ added in v0.20.0
type Subprobe interface { probe.Probe graph.ListenerHandler }
Subprobe describes a probe for a specific Kubernetes resource It must implement the ListenerHandler interface so that you listen for creation/update/removal of a resource
type SubprobeHandler ¶ added in v0.21.0
SubprobeHandler the signiture of ctor of a subprobe