registry

package
v0.2.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const BootStateReceivedCondition = "BootStateReceived"

BootStateReceivedCondition is the condition type for indicating a server has booted.

Variables

This section is empty.

Functions

This section is empty.

Types

type BIOSInformation added in v0.2.0

type BIOSInformation struct {
	Vendor  string `json:"vendor"`
	Version string `json:"version"`
	Date    string `json:"date"`
}

type BlockDevice added in v0.2.0

type BlockDevice struct {
	Path              string `json:"path"`
	Name              string `json:"name"`
	Rotational        bool   `json:"rotational"`
	Removable         bool   `json:"removable"`
	ReadOnly          bool   `json:"readOnly"`
	Vendor            string `json:"vendor"`
	Model             string `json:"model"`
	Serial            string `json:"serial"`
	WWID              string `json:"wwid"`
	PhysicalBlockSize uint64 `json:"physicalBlockSize"`
	LogicalBlockSize  uint64 `json:"logicalBlockSize"`
	HWSectorSize      uint64 `json:"hWSectorSize"`
	SizeBytes         uint64 `json:"sizeBytes"`
	NUMANodeID        int    `json:"numaNodeID"`
}

type BoardInformation added in v0.2.0

type BoardInformation struct {
	Manufacturer string `json:"manufacturer"`
	Product      string `json:"product"`
	Version      string `json:"version"`
	SerialNumber string `json:"serialNumber"`
	AssetTag     string `json:"assetTag"`
}

type BootstatePayload added in v0.2.0

type BootstatePayload struct {
	SystemUUID string `json:"systemUUID"`
	Booted     bool   `json:"booted"`
}

BootstatePayload represents the payload to send to the `/bootstate` endpoint, including the systemUUID and the booted state.

type CPUInfo added in v0.2.0

type CPUInfo struct {
	ID                   int      `json:"id"`
	TotalCores           uint32   `json:"totalCores"`
	TotalHardwareThreads uint32   `json:"totalHardwareThreads"`
	Vendor               string   `json:"vendor"`
	Model                string   `json:"model"`
	Capabilities         []string `json:"capabilities"`
}

type DMI added in v0.2.0

type DMI struct {
	BIOSInformation   BIOSInformation   `json:"biosInformation"`
	SystemInformation ServerInformation `json:"systemInformation"`
	BoardInformation  BoardInformation  `json:"boardInformation"`
}

type LLDP added in v0.2.0

type LLDP struct {
	Interfaces []LLDPInterface `json:"interfaces"`
}

LLDP is the normalized structure we expose.

func ParseLLDPCTL added in v0.2.0

func ParseLLDPCTL(data []byte) (LLDP, error)

ParseLLDPCTL converts raw lldpctl JSON (format: {"lldp":{"interface":[{iface:{...}},...]}}) into the normalized LLDP struct.

type LLDPInterface added in v0.2.0

type LLDPInterface struct {
	Name      string     `json:"name"`
	Neighbors []Neighbor `json:"neighbors"`
}

type MemoryDevice added in v0.2.0

type MemoryDevice struct {
	SizeBytes             int64  `json:"size"`
	DeviceSet             string `json:"deviceSet"`
	DeviceLocator         string `json:"deviceLocator"`
	BankLocator           string `json:"bankLocator"`
	MemoryType            string `json:"memoryType"`
	Speed                 string `json:"speed"`
	Vendor                string `json:"vendor"`
	SerialNumber          string `json:"serialNumber"`
	AssetTag              string `json:"assetTag"`
	PartNumber            string `json:"partNumber"`
	ConfiguredMemorySpeed string `json:"configuredMemorySpeed"`
	MinimumVoltage        string `json:"minimumVoltage"`
	MaximumVoltage        string `json:"maximumVoltage"`
	ConfiguredVoltage     string `json:"configuredVoltage"`
}

type NIC added in v0.2.0

type NIC struct {
	Name            string   `json:"name"`
	MAC             string   `json:"mac"`
	PCIAddress      string   `json:"pciAddress"`
	Speed           string   `json:"speed"`
	LinkModes       []string `json:"linkModes"`
	SupportedPorts  []string `json:"supportedPorts"`
	FirmwareVersion string   `json:"firmwareVersion"`
}

type Neighbor added in v0.2.0

type Neighbor struct {
	ChassisID         string   `json:"chassisId,omitempty"`
	PortID            string   `json:"portId,omitempty"`
	PortDescription   string   `json:"portDescription,omitempty"`
	SystemName        string   `json:"systemName,omitempty"`
	SystemDescription string   `json:"systemDescription,omitempty"`
	MgmtIP            string   `json:"mgmtIp,omitempty"`
	Capabilities      []string `json:"capabilities,omitempty"`
	VlanID            string   `json:"vlanId,omitempty"`
}

type NetworkInterface

type NetworkInterface struct {
	Name          string   `json:"name"`
	IPAddress     string   `json:"ipAddress,omitempty"` // Deprecated: kept for backward compatibility, always nil
	IPAddresses   []string `json:"ipAddresses"`
	MACAddress    string   `json:"macAddress"`
	CarrierStatus string   `json:"carrierStatus"`
}

NetworkInterface represents a network interface on a server, including its IP and MAC addresses.

type PCIDevice added in v0.2.0

type PCIDevice struct {
	Address    string `json:"address,omitempty"`
	Vendor     string `json:"vendor,omitempty"`
	VendorID   string `json:"vendorID,omitempty"`
	Product    string `json:"product,omitempty"`
	ProductID  string `json:"productID,omitempty"`
	NumaNodeID int    `json:"numaNodeID,omitempty"`
}

type RegistrationPayload

type RegistrationPayload struct {
	SystemUUID string `json:"systemUUID"`
	Data       Server `json:"data"`
}

RegistrationPayload represents the payload to send to the `/register` endpoint, including the systemUUID and the server details.

type Server

type Server struct {
	SystemInfo        DMI                `json:"systemInfo,omitempty"`
	CPU               []CPUInfo          `json:"cpu,omitempty"`
	NetworkInterfaces []NetworkInterface `json:"networkInterfaces,omitempty"`
	LLDP              []LLDPInterface    `json:"lldp,omitempty"`
	Storage           []BlockDevice      `json:"storage,omitempty"`
	Memory            []MemoryDevice     `json:"memory,omitempty"`
	NICs              []NIC              `json:"nics,omitempty"`
	PCIDevices        []PCIDevice        `json:"pciDevices,omitempty"`
}

Server represents a server with a list of network interfaces.

type ServerInformation added in v0.2.0

type ServerInformation struct {
	Manufacturer string `json:"manufacturer"`
	ProductName  string `json:"productName"`
	Version      string `json:"version"`
	SerialNumber string `json:"serialNumber"`
	UUID         string `json:"uuid"`
	SKUNumber    string `json:"skuNumber"`
	Family       string `json:"family"`
}

Jump to

Keyboard shortcuts

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