clusterinfo

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package clusterinfo collects node OS, kernel, container runtime, kubelet and kube-proxy versions and reports drift within a single cluster. The fleet comparison naturally surfaces drift across clusters; this scanner surfaces it inside a cluster, which is where mid-upgrade and rolling-AMI issues hide.

Index

Constants

View Source
const Name = "cluster-info"

Name is the registry key for this scanner.

Variables

This section is empty.

Functions

func NewScanner

func NewScanner() scanner.Scanner

NewScanner returns a scanner that aggregates platform identity for every node in the cluster and exposes intra-cluster drift.

Types

type Data

type Data struct {
	// NodeCount is the number of nodes inspected.
	NodeCount int `json:"node_count"`
	// OSImages lists distinct OS images across the cluster.
	OSImages []string `json:"os_images"`
	// KernelVersions lists distinct kernel versions across the cluster.
	KernelVersions []string `json:"kernel_versions"`
	// RuntimeVersions lists distinct container runtimes across the cluster.
	RuntimeVersions []string `json:"runtime_versions"`
	// KubeletVersions lists distinct kubelet versions across the cluster.
	KubeletVersions []string `json:"kubelet_versions"`
	// HasDrift is true when any of the above lists has more than one entry.
	HasDrift bool `json:"has_drift"`
	// Nodes is the per-node detail, capped at 200 entries.
	Nodes []NodeInfo `json:"nodes"`
}

Data holds platform drift information for one cluster.

type NodeInfo

type NodeInfo struct {
	// Name is the node name.
	Name string `json:"name"`
	// OSImage is the OS image identifier from node.status.nodeInfo.
	OSImage string `json:"os_image"`
	// KernelVersion is the kernel version string.
	KernelVersion string `json:"kernel_version"`
	// ContainerRuntimeVersion is the runtime + version (for example "containerd://1.7").
	ContainerRuntimeVersion string `json:"container_runtime_version"`
	// KubeletVersion is the kubelet version reported by the node.
	KubeletVersion string `json:"kubelet_version"`
	// KubeProxyVersion is the kube-proxy version reported by the node.
	KubeProxyVersion string `json:"kube_proxy_version"`
}

NodeInfo describes the platform identity of a single node.

Jump to

Keyboard shortcuts

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