vertex

package
v1.6.3 Latest Latest
Warning

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

Go to latest
Published: Dec 11, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ContainerLabel = "Container"
)
View Source
const (
	EndpointLabel = "Endpoint"
)
View Source
const (
	IdentityLabel = "Identity"
)
View Source
const (
	NodeLabel = "Node"
)
View Source
const (
	PermissionSetLabel = "PermissionSet"
)
View Source
const (
	PodLabel = "Pod"
)
View Source
const (
	VolumeLabel = "Volume"
)

Variables

View Source
var Column = gremlin.Column
View Source
var (
	// Labels is a list of all possible labels for a vertex in the graph.
	Labels = []string{
		ContainerLabel,
		EndpointLabel,
		IdentityLabel,
		NodeLabel,
		PermissionSetLabel,
		PodLabel,
		VolumeLabel,
	}
)

Functions

This section is empty.

Types

type BaseVertex

type BaseVertex struct {
	// contains filtered or unexported fields
}

func (*BaseVertex) BatchSize

func (v *BaseVertex) BatchSize() int

func (*BaseVertex) DefaultTraversal added in v1.2.0

func (v *BaseVertex) DefaultTraversal(label string) types.VertexTraversal

func (*BaseVertex) Initialize

func (v *BaseVertex) Initialize(cfg *config.KubehoundConfig) error

type Builder

type Builder interface {
	// Initialize intializes an edge builder from the application config
	Initialize(cfg *config.KubehoundConfig) error

	// Label returns the label for the vertex (convention is all camelcase i.e VertexName)
	Label() string

	// BatchSize returns the batch size of bulk inserts (and threshold for triggering a flush).
	BatchSize() int

	// Processor transforms an object queued for writing to a format suitable for consumption by the Traversal function.
	Processor(context.Context, any) (any, error)

	// Traversal returns a graph traversal function that enables creating vertices from an input array of TraversalInput objects.
	Traversal() types.VertexTraversal
}

Builder interface defines objects used to construct vertices within our graph database through processing data from an ingestion pipeline.

type Container

type Container struct {
	BaseVertex
}

func (*Container) Label

func (v *Container) Label() string

func (*Container) Processor

func (v *Container) Processor(ctx context.Context, entry any) (any, error)

func (*Container) Traversal

func (v *Container) Traversal() types.VertexTraversal

type Endpoint

type Endpoint struct {
	BaseVertex
}

func (*Endpoint) Label

func (v *Endpoint) Label() string

func (*Endpoint) Processor

func (v *Endpoint) Processor(ctx context.Context, entry any) (any, error)

func (*Endpoint) Traversal

func (v *Endpoint) Traversal() types.VertexTraversal

type Identity

type Identity struct {
	BaseVertex
}

func (*Identity) Label

func (v *Identity) Label() string

func (*Identity) Processor

func (v *Identity) Processor(ctx context.Context, entry any) (any, error)

func (*Identity) Traversal

func (v *Identity) Traversal() types.VertexTraversal

type Node

type Node struct {
	BaseVertex
}

func (*Node) Label

func (v *Node) Label() string

func (*Node) Processor

func (v *Node) Processor(ctx context.Context, entry any) (any, error)

func (*Node) Traversal

func (v *Node) Traversal() types.VertexTraversal

type PermissionSet

type PermissionSet struct {
	BaseVertex
}

func (*PermissionSet) BatchSize added in v0.2.0

func (v *PermissionSet) BatchSize() int

func (*PermissionSet) Label

func (v *PermissionSet) Label() string

func (*PermissionSet) Processor

func (v *PermissionSet) Processor(ctx context.Context, entry any) (any, error)

func (*PermissionSet) Traversal

func (v *PermissionSet) Traversal() types.VertexTraversal

type Pod

type Pod struct {
	BaseVertex
}

func (*Pod) Label

func (v *Pod) Label() string

func (*Pod) Processor

func (v *Pod) Processor(ctx context.Context, entry any) (any, error)

func (*Pod) Traversal

func (v *Pod) Traversal() types.VertexTraversal

type Volume

type Volume struct {
	BaseVertex
}

func (*Volume) Label

func (v *Volume) Label() string

func (*Volume) Processor

func (v *Volume) Processor(ctx context.Context, entry any) (any, error)

func (*Volume) Traversal

func (v *Volume) Traversal() types.VertexTraversal

Jump to

Keyboard shortcuts

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