Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BMCMachine ¶
type DHCP ¶
type DHCP struct {
MACAddress net.HardwareAddr // chaddr DHCP header.
IPAddress netip.Addr // yiaddr DHCP header.
SubnetMask net.IPMask // DHCP option 1.
DefaultGateway netip.Addr // DHCP option 3.
NameServers []net.IP // DHCP option 6.
Hostname string // DHCP option 12.
DomainName string // DHCP option 15.
BroadcastAddress netip.Addr // DHCP option 28.
NTPServers []net.IP // DHCP option 42.
VLANID string // DHCP option 43.116.
LeaseTime uint32 // DHCP option 51.
Arch string // DHCP option 93.
DomainSearch []string // DHCP option 119.
Disabled bool // If true, no DHCP response should be sent.
}
DHCP holds the DHCP headers and options to be set in a DHCP handler response. This is the API between a DHCP handler and a backend.
func (*DHCP) EncodeToAttributes ¶
EncodeToAttributes returns a slice of opentelemetry attributes that can be used to set span.SetAttributes.
type Ec2Instance ¶
Ec2Instance is a struct that contains the hardware data exposed from the EC2 API endpoints. For an explanation of the endpoints refer to the AWS EC2 Ec2Instance Metadata documentation.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html
Note not all AWS EC2 Ec2Instance Metadata categories are supported as some are not applicable. Deviations from the AWS EC2 Ec2Instance Metadata should be documented here.
type HackInstance ¶
type HackInstance struct {
Metadata struct {
Instance struct {
Storage struct {
Disks []struct {
Device string `json:"device"`
Partitions []struct {
Label string `json:"label"`
Number int `json:"number"`
Size uint64 `json:"size"`
} `json:"partitions"`
WipeTable bool `json:"wipe_table"`
} `json:"disks"`
Filesystems []struct {
Mount struct {
Create struct {
Options []string `json:"options"`
} `json:"create"`
Device string `json:"device"`
Format string `json:"format"`
Point string `json:"point"`
} `json:"mount"`
} `json:"filesystems"`
} `json:"storage"`
} `json:"instance"`
} `json:"metadata"`
}
Instance is a representation of the instance metadata. Its based on the rooitio hub action and should have just enough information for it to work.
type LicenseActivation ¶
type LicenseActivation struct {
State string
}
LicenseActivation is part of OperatingSystem.
type Metadata ¶
type Metadata struct {
InstanceID string
Hostname string
LocalHostname string
IQN string
Plan string
Facility string
Tags []string
PublicKeys []string
PublicIPv4 string
PublicIPv6 string
LocalIPv4 string
OperatingSystem OperatingSystem
}
Metadata is a part of Instance.
type Netboot ¶
type Netboot struct {
AllowNetboot bool // If true, the client will be provided netboot options in the DHCP offer/ack.
IPXEScriptURL *url.URL // Overrides a default value that is passed into DHCP on startup.
IPXEScript string // Overrides a default value that is passed into DHCP on startup.
Console string
Facility string
OSIE OSIE
}
Netboot holds info used in netbooting a client.
func (*Netboot) EncodeToAttributes ¶
EncodeToAttributes returns a slice of opentelemetry attributes that can be used to set span.SetAttributes.
type OSIE ¶
type OSIE struct {
// BaseURL is the URL where the OSIE parts are located.
BaseURL *url.URL
// Kernel is the name of the kernel file.
Kernel string
// Initrd is the name of the initrd file.
Initrd string
}
OSIE or OS Installation Environment is the data about where the OSIE parts are located.
type OperatingSystem ¶
type OperatingSystem struct {
Slug string
Distro string
Version string
ImageTag string
LicenseActivation LicenseActivation
}
OperatingSystem is part of Metadata.