Documentation ¶
Index ¶
Constants ¶
const HammerBanner = `` /* 212-byte string literal not displayed */
HammerBanner our mighty logo.
Variables ¶
This section is empty.
Functions ¶
func Run ¶
func Run(log *slog.Logger, spec *Specification, hal hal.InBand) (*event.EventEmitter, error)
Run orchestrates the whole register/wipe/format/burn and reboot process
Types ¶
type Hammer ¶
type Hammer struct { Spec *Specification Hal hal.InBand MetalAPIClient *MetalAPIClient EventEmitter *event.EventEmitter LLDPClient *network.LLDPClient FilesystemLayout *models.V1FilesystemLayoutResponse // IPAddress is the ip of the eth0 interface during installation IPAddress string Started time.Time ChrootPrefix string OsImageDestination string // contains filtered or unexported fields }
Hammer is the machine which forms a bare metal to a working server
func (*Hammer) ConfigureBIOS ¶ added in v0.5.3
ConfigureBIOS ensures that UEFI boot is enabled and CSM-support is disabled. It then reboots the machine.
func (*Hammer) EnsureBootOrder ¶
EnsureBootOrder ensures that the BIOS boot order is properly set, i.e. first boot from OS image and then PXE boot
type MetalAPIClient ¶ added in v0.10.0
func NewMetalAPIClient ¶ added in v0.10.0
func NewMetalAPIClient(log *slog.Logger, pixieURL string) (*MetalAPIClient, error)
NewMetalAPIClient fetches the address,hmac and certificates from pixie needed to communicate with metal-api, and returns a new client that can be used to invoke all provided grpc and rest endpoints.
func (*MetalAPIClient) BootService ¶ added in v0.10.0
func (c *MetalAPIClient) BootService() v1.BootServiceClient
func (*MetalAPIClient) Event ¶ added in v0.10.0
func (c *MetalAPIClient) Event() v1.EventServiceClient
func (*MetalAPIClient) WaitForAllocation ¶ added in v0.10.0
func (c *MetalAPIClient) WaitForAllocation(e *event.EventEmitter, machineID string) error
type Specification ¶
type Specification struct { // Debug turn on debug log Debug bool // PixieAPIUrl is the endpoint URL where the pixie reside PixieAPIUrl string // BGPEnabled if set to true real bgp configuration is configured, otherwise dhcp will be used BGPEnabled bool // Cidr of BGP interface in DEV Mode Cidr string // ConsolePassword of the metal user valid for one day. ConsolePassword string // MachineUUID is the unique identifier of this machine MachineUUID string // IP of this instance IP string // contains filtered or unexported fields }
Specification defines configuration items of the application
func NewSpec ¶
func NewSpec(log *slog.Logger) *Specification
NewSpec fills Specification with configuration made by kernel commandline