kube

package
v1.48.4 Latest Latest
Warning

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

Go to latest
Published: Jan 20, 2026 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewServer added in v1.7.0

func NewServer(client *Client) kubepb.KubeAPIServer

Types

type AddListener added in v1.7.0

type AddListener interface {
	OnAdd(obj Object)
}

type Client

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

func NewClient

func NewClient(
	log *logging.Logger,
	podName, kvisorNamespace string,
	version Version,
	client kubernetes.Interface,
) *Client

func (*Client) GetClusterInfo added in v1.7.0

func (c *Client) GetClusterInfo(ctx context.Context) (*ClusterInfo, error)

func (*Client) GetIPInfo added in v1.7.0

func (c *Client) GetIPInfo(ip netip.Addr) (IPInfo, bool)

func (*Client) GetKvisorAgentImageDetails

func (c *Client) GetKvisorAgentImageDetails() (ImageDetails, error)

GetKvisorAgentImageDetails returns kvisor agent image details. This is used for image analyzer and kube-bench dynamic jobs to schedule using the same image.

func (*Client) GetNodeInfo added in v1.43.1

func (c *Client) GetNodeInfo(name string) (*corev1.Node, bool)

func (*Client) GetNodeStatsSummary added in v1.46.0

func (c *Client) GetNodeStatsSummary(ctx context.Context, nodeName string) (*kubepb.GetNodeStatsSummaryResponse, error)

GetNodeStatsSummary retrieves stats summary for a given node from the kubelet stats API.

func (*Client) GetOwnerUID

func (c *Client) GetOwnerUID(obj Object) string

func (*Client) GetPVByName added in v1.48.4

func (c *Client) GetPVByName(name string) (*corev1.PersistentVolume, bool)

func (*Client) GetPVCByName added in v1.48.4

func (c *Client) GetPVCByName(namespace, name string) (*corev1.PersistentVolumeClaim, bool)

func (*Client) GetPodInfo added in v1.9.2

func (c *Client) GetPodInfo(uid string) (*PodInfo, bool)

func (*Client) GetPodsOnNode added in v1.48.4

func (c *Client) GetPodsOnNode(nodeName string) []*PodInfo

func (*Client) GetVPCIndex added in v1.48.4

func (c *Client) GetVPCIndex() *VPCIndex

GetVPCIndex returns the VPC index if available.

func (*Client) RegisterHandlers

func (c *Client) RegisterHandlers(factory informers.SharedInformerFactory)

func (*Client) RegisterKubernetesChangeListener

func (c *Client) RegisterKubernetesChangeListener(l KubernetesChangeEventListener)

func (*Client) RegisterPodsHandlers

func (c *Client) RegisterPodsHandlers(factory informers.SharedInformerFactory)

func (*Client) Run

func (c *Client) Run(ctx context.Context) error

func (*Client) SetVPCIndex added in v1.48.4

func (c *Client) SetVPCIndex(vpcIndex *VPCIndex)

SetVPCIndex sets the VPC index for enriching external IPs with VPC metadata.

func (*Client) UnregisterKubernetesChangeListener added in v1.7.0

func (c *Client) UnregisterKubernetesChangeListener(l KubernetesChangeEventListener)

type ClusterInfo added in v1.7.0

type ClusterInfo struct {
	PodCidr     []string
	ServiceCidr []string
	NodeCidr    []string
}

type DeleteListener added in v1.7.0

type DeleteListener interface {
	OnDelete(obj Object)
}

type EventType

type EventType string
const (
	EventAdd    EventType = "add"
	EventUpdate EventType = "update"
	EventDelete EventType = "delete"
)

type IPEndpoint added in v1.7.0

type IPEndpoint struct {
	ID        string
	Name      string
	Namespace string
	Labels    map[string]string
}

type IPInfo added in v1.7.0

type IPInfo struct {
	PodInfo  *PodInfo
	Service  *corev1.Service
	Node     *corev1.Node
	Endpoint *IPEndpoint
	// contains filtered or unexported fields
}

type IPVPCInfo added in v1.48.4

type IPVPCInfo struct {
	Zone        string // filled only for AWS
	Region      string
	CloudDomain string // filled when IP is public cloud service
}

IPVPCInfo contains network metadata for a specific IP address.

type ImageDetails

type ImageDetails struct {
	ScannerImageName string
	ImagePullSecrets []corev1.LocalObjectReference
}

type Index added in v1.7.0

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

func NewIndex added in v1.7.0

func NewIndex() *Index

func (*Index) GetPVByName added in v1.48.4

func (i *Index) GetPVByName(name string) (*corev1.PersistentVolume, bool)

func (*Index) GetPVCByName added in v1.48.4

func (i *Index) GetPVCByName(namespace, name string) (*corev1.PersistentVolumeClaim, bool)

func (*Index) GetPodsOnNode added in v1.48.4

func (i *Index) GetPodsOnNode(nodeName string) []*PodInfo

type KubernetesChangeEventListener

type KubernetesChangeEventListener interface {
	RequiredTypes() []reflect.Type
}

type NodeStatsSummary added in v1.46.0

type NodeStatsSummary struct {
	Node nodeStatsJSON `json:"node"`
}

NodeStatsSummary represents the summary API response from kubelet. This matches the structure returned by /api/v1/nodes/{name}/proxy/stats/summary

type Object

type Object interface {
	runtime.Object
	metav1.Object
}

type PodInfo added in v1.9.2

type PodInfo struct {
	Pod    *corev1.Pod
	Owner  metav1.OwnerReference
	Zone   string
	Region string
}

type PodLogProvider

type PodLogProvider interface {
	GetLogReader(ctx context.Context, podNs, podName string) (io.ReadCloser, error)
}

func NewPodLogReader

func NewPodLogReader(client kubernetes.Interface) PodLogProvider

type Server added in v1.7.0

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

func (*Server) GetClusterInfo added in v1.7.0

func (*Server) GetIPInfo added in v1.7.0

func (*Server) GetIPsInfo added in v1.45.0

func (*Server) GetNode added in v1.43.1

func (*Server) GetNodeStatsSummary added in v1.46.0

func (*Server) GetPod added in v1.7.0

func (*Server) GetPodVolumes added in v1.48.4

type UpdateListener added in v1.7.0

type UpdateListener interface {
	OnUpdate(obj Object)
}

type VPCIndex added in v1.48.4

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

func NewVPCIndex added in v1.48.4

func NewVPCIndex(log *logging.Logger, refreshInterval time.Duration, cacheSize uint32) *VPCIndex

NewVPCIndex creates a new VPC index.

func (*VPCIndex) CloudServiceCIDRs added in v1.48.4

func (vi *VPCIndex) CloudServiceCIDRs() []string

func (*VPCIndex) LookupIP added in v1.48.4

func (vi *VPCIndex) LookupIP(ip netip.Addr) (*IPVPCInfo, bool)

LookupIP looks up VPC metadata for an IP address.

func (*VPCIndex) Update added in v1.48.4

func (vi *VPCIndex) Update(metadata *cloudtypes.Metadata) error

Update updates the VPC metadata and rebuilds the CIDR tree.

func (*VPCIndex) VpcCIDRs added in v1.48.4

func (vi *VPCIndex) VpcCIDRs() []string

type Version

type Version struct {
	Full     string
	MinorInt int
}

func GetVersion

func GetVersion(clientset kubernetes.Interface) (Version, error)

Jump to

Keyboard shortcuts

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