k8s

package
v0.21.0 Latest Latest
Warning

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

Go to latest
Published: Dec 3, 2018 License: Apache-2.0 Imports: 26 Imported by: 4

Documentation

Index

Constants

View Source
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"
)
View Source
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

func MetadataField(field string) string

MetadataField is generates full path of a k8s specific field

func MetadataFields added in v0.21.0

func MetadataFields(fields ...string) []string

MetadataFields generates full path of a list of k8s specific fields

func NewConfig added in v0.20.0

func NewConfig(kubeConfig string) (*rest.Config, error)

NewConfig returns a new Kubernetes configuration object

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

func NewKubeCache(restClient rest.Interface, objType runtime.Object, resources string) *KubeCache

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.

func (*KubeCache) Start added in v0.21.0

func (c *KubeCache) Start()

Start begin waiting on Kubernetes events

func (*KubeCache) Stop added in v0.21.0

func (c *KubeCache) Stop()

Stop end waiting on 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

func NewK8sProbe(g *graph.Graph) (*Probe, error)

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

func (p *Probe) AppendClusterLinkers(types ...string)

AppendClusterLinkers appends newly created cluster linker per type

func (*Probe) AppendNamespaceLinkers added in v0.21.0

func (p *Probe) AppendNamespaceLinkers(types ...string)

AppendNamespaceLinkers appends newly created namespace linker per type

func (*Probe) Start

func (p *Probe) Start()

Start k8s probe

func (*Probe) Stop

func (p *Probe) Stop()

Stop k8s probe

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

type SubprobeHandler func(client interface{}, g *graph.Graph) Subprobe

SubprobeHandler the signiture of ctor of a subprobe

Jump to

Keyboard shortcuts

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