runtime

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 17, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PodNameLabel                 = "io.kubernetes.pod.name"
	PodNamespaceLabel            = "io.kubernetes.pod.namespace"
	PodUIDLabel                  = "io.kubernetes.pod.uid"
	ContainerNameLabel           = "io.kubernetes.container.name"
	ContainerTypeDockerLabel     = "io.kubernetes.docker.type"
	ContainerTypeContainerdLabel = "io.cri-containerd.kind"
	ContainerTypeCrioAnnotation  = "io.kubernetes.cri-o.ContainerType"
)

These labels are injected by kubelet on container creation, we can use them to gather additional data in a k8s context

Variables

This section is empty.

Functions

This section is empty.

Types

type ContainerEnricher

type ContainerEnricher interface {
	Get(ctx context.Context, containerId string) (ContainerMetadata, error)
}

func ContainerdEnricher

func ContainerdEnricher(socket string) (ContainerEnricher, error)

func CrioEnricher

func CrioEnricher(socket string) (ContainerEnricher, error)

func DockerEnricher

func DockerEnricher(socket string) (ContainerEnricher, error)

type ContainerMetadata

type ContainerMetadata struct {
	ContainerId string
	Name        string
	Image       string
	ImageDigest string
	Pod         PodMetadata
}

type PodMetadata

type PodMetadata struct {
	Name      string
	Namespace string
	UID       string
	Sandbox   bool
}

type RuntimeId

type RuntimeId int

Represents the internal ID of a container runtime

const (
	Unknown RuntimeId = iota
	Docker
	Containerd
	Crio
	Podman
	Garden
)

func FromString

func FromString(str string) RuntimeId

func (RuntimeId) String

func (runtime RuntimeId) String() string

type Sockets

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

Sockets represent existing container runtime connections

func Autodiscover

func Autodiscover(onRegisterFail func(err error, runtime RuntimeId, socket string)) Sockets

check default paths for all supported container runtimes and aggregate them

func (*Sockets) Register

func (s *Sockets) Register(runtime RuntimeId, socket string) error

Register attempts to associate a file path with a container runtime, if the path doesn't exist registration will fail

func (*Sockets) Socket

func (s *Sockets) Socket(runtime RuntimeId) string

Socket returns the relevant socket for the runtime if one was registered

func (*Sockets) Supports

func (s *Sockets) Supports(runtime RuntimeId) bool

Supports check if the runtime was registered in the Sockets struct

Jump to

Keyboard shortcuts

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