nodes

package
v0.1.10 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2026 License: AGPL-3.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const LinuxDriverID common.NodeDriverID = "linux"
View Source
const VMDriverID common.NodeDriverID = "vm"
View Source
const WindowsDriverID common.NodeDriverID = "windows"

Variables

This section is empty.

Functions

func NewLinuxDriverFromConfig

func NewLinuxDriverFromConfig(c *any) (common.NodeDriver, error)

func NewVMDriverFromConfig added in v0.1.10

func NewVMDriverFromConfig(c *any) (common.NodeDriver, error)

func NewWindowsDriverFromConfig added in v0.1.2

func NewWindowsDriverFromConfig(c *any) (common.NodeDriver, error)

Types

type LinuxConfig

type LinuxConfig struct {
	WakeOnLan bool   `json:"wol"`
	MAC       string `json:"MAC"`
}

type LinuxDriver

type LinuxDriver struct {
	Config LinuxConfig
}

func (*LinuxDriver) Deprovision added in v0.1.2

func (l *LinuxDriver) Deprovision(_ *string, repository common.NodesRepository) error

func (*LinuxDriver) DriverInfo

func (l *LinuxDriver) DriverInfo() (common.NodeDriverInfo, error)

func (*LinuxDriver) GetCapabilities added in v0.1.2

func (l *LinuxDriver) GetCapabilities() (common.Capabilities, error)

func (*LinuxDriver) GetDriverConfig

func (l *LinuxDriver) GetDriverConfig() common.NodeDriverConfig

func (*LinuxDriver) GetNodeDriverID

func (l *LinuxDriver) GetNodeDriverID() common.NodeDriverID

func (*LinuxDriver) GetState added in v0.1.8

func (*LinuxDriver) MarshalJSON

func (l *LinuxDriver) MarshalJSON() ([]byte, error)

func (*LinuxDriver) Provision added in v0.1.2

func (l *LinuxDriver) Provision(nodeName string, cloudInit *cloudinit.CloudInit, repository common.NodesRepository) error

func (*LinuxDriver) Restart

func (l *LinuxDriver) Restart(_ *string, message string, time uint32, repository common.NodesRepository) error

func (*LinuxDriver) Start added in v0.1.5

func (l *LinuxDriver) Start(_ *string, repository common.NodesRepository) error

func (*LinuxDriver) Stop added in v0.1.5

func (l *LinuxDriver) Stop(_ *string, message string, time uint32, repository common.NodesRepository, _ bool) error

func (*LinuxDriver) UnmarshalJSON

func (l *LinuxDriver) UnmarshalJSON(data []byte) error

func (*LinuxDriver) UpdateStatus added in v0.1.2

func (l *LinuxDriver) UpdateStatus(_ *string, repository common.NodesRepository) (common.NodeStatus, error)

type OverlayImage added in v0.1.9

type OverlayImage struct {
	ID       uuid.UUID
	FilePath string
}

func CreateOverlay added in v0.1.9

func CreateOverlay(nodeName, imagePath string) (*OverlayImage, error)

func (OverlayImage) Cleanup added in v0.1.9

func (o OverlayImage) Cleanup()

type VMConfig added in v0.1.10

type VMConfig struct {
	Machine string     `json:"machine,omitempty"`
	Accel   []string   `json:"accel,omitempty"`
	CPU     string     `json:"cpu,omitempty"`
	Memory  int        `json:"memory,omitempty"`
	SMP     string     `json:"smp,omitempty"`
	Serial  string     `json:"serial,omitempty"`
	Drives  []VMDrive  `json:"drives,omitempty"`
	Netdevs []VMNetdev `json:"netdevs,omitempty"`
}

type VMDrive added in v0.1.10

type VMDrive struct {
	File   string `json:"file,omitempty"`
	Format string `json:"format,omitempty"`
	If     string `json:"if,omitempty"`
	Media  string `json:"media,omitempty"`
	Index  string `json:"index,omitempty"`
}

type VMDriver added in v0.1.10

type VMDriver struct {
	Config VMConfig
}

func (*VMDriver) Deprovision added in v0.1.10

func (q *VMDriver) Deprovision(nodeName *string, repository common.NodesRepository) error

func (*VMDriver) DriverInfo added in v0.1.10

func (q *VMDriver) DriverInfo() (common.NodeDriverInfo, error)

func (*VMDriver) GetCapabilities added in v0.1.10

func (q *VMDriver) GetCapabilities() (common.Capabilities, error)

func (*VMDriver) GetDriverConfig added in v0.1.10

func (q *VMDriver) GetDriverConfig() common.NodeDriverConfig

func (*VMDriver) GetNodeDriverID added in v0.1.10

func (q *VMDriver) GetNodeDriverID() common.NodeDriverID

func (*VMDriver) GetState added in v0.1.10

func (q *VMDriver) GetState(nodeName *string, repository common.NodesRepository) (common.NodeState, error)

func (*VMDriver) MarshalJSON added in v0.1.10

func (q *VMDriver) MarshalJSON() ([]byte, error)

func (*VMDriver) Provision added in v0.1.10

func (q *VMDriver) Provision(nodeName string, cloudInit *cloudinit.CloudInit, repository common.NodesRepository) error

func (*VMDriver) Restart added in v0.1.10

func (q *VMDriver) Restart(nodeName *string, _ string, _ uint32, repository common.NodesRepository) error

func (*VMDriver) Start added in v0.1.10

func (q *VMDriver) Start(nodeName *string, repository common.NodesRepository) error

func (*VMDriver) Stop added in v0.1.10

func (q *VMDriver) Stop(nodeName *string, _ string, _ uint32, repository common.NodesRepository, force bool) error

func (*VMDriver) UnmarshalJSON added in v0.1.10

func (q *VMDriver) UnmarshalJSON(data []byte) error

func (*VMDriver) UpdateStatus added in v0.1.10

func (q *VMDriver) UpdateStatus(nodeName *string, repository common.NodesRepository) (common.NodeStatus, error)

type VMNetdev added in v0.1.10

type VMNetdev struct {
	Type       string `json:"type,omitempty"`
	ID         string `json:"id,omitempty"`
	Ifname     string `json:"ifname,omitempty"`
	Script     string `json:"script,omitempty"`
	Downscript string `json:"downscript,omitempty"`
	BR         string `json:"br,omitempty"`
	Helper     string `json:"helper,omitempty"`
	Net        string `json:"net,omitempty"`
	DHCPStart  string `json:"dhcpstart,omitempty"`
	Hostfwd    string `json:"hostfwd,omitempty"`
}

type VMNodeMetadata added in v0.1.10

type VMNodeMetadata struct {
	DomainName string               `json:"domain_name"`
	DomainXML  string               `json:"domain_xml"`
	Drives     map[int]OverlayImage `json:"overlay_drives"`
}

VMNodeMetadata is persisted in the nodes repository and used to rehydrate the libvirt domain XML across daemon restarts.

type WindowsConfig added in v0.1.2

type WindowsConfig struct {
	WakeOnLan bool   `json:"wol"`
	MAC       string `json:"MAC"`
}

type WindowsDriver added in v0.1.2

type WindowsDriver struct {
	Config WindowsConfig
}

func (*WindowsDriver) Deprovision added in v0.1.2

func (w *WindowsDriver) Deprovision(_ *string, repository common.NodesRepository) error

func (*WindowsDriver) DriverInfo added in v0.1.2

func (w *WindowsDriver) DriverInfo() (common.NodeDriverInfo, error)

func (*WindowsDriver) GetCapabilities added in v0.1.2

func (w *WindowsDriver) GetCapabilities() (common.Capabilities, error)

func (*WindowsDriver) GetDriverConfig added in v0.1.2

func (w *WindowsDriver) GetDriverConfig() common.NodeDriverConfig

func (*WindowsDriver) GetNodeDriverID added in v0.1.2

func (w *WindowsDriver) GetNodeDriverID() common.NodeDriverID

func (*WindowsDriver) GetState added in v0.1.8

func (*WindowsDriver) MarshalJSON added in v0.1.2

func (w *WindowsDriver) MarshalJSON() ([]byte, error)

func (*WindowsDriver) Provision added in v0.1.2

func (w *WindowsDriver) Provision(nodeName string, cloudInit *cloudinit.CloudInit, repository common.NodesRepository) error

func (*WindowsDriver) Restart added in v0.1.2

func (w *WindowsDriver) Restart(_ *string, message string, time uint32, repository common.NodesRepository) error

func (*WindowsDriver) Start added in v0.1.5

func (w *WindowsDriver) Start(_ *string, repository common.NodesRepository) error

func (*WindowsDriver) Stop added in v0.1.5

func (w *WindowsDriver) Stop(_ *string, message string, time uint32, repository common.NodesRepository, _ bool) error

func (*WindowsDriver) UnmarshalJSON added in v0.1.2

func (w *WindowsDriver) UnmarshalJSON(data []byte) error

func (*WindowsDriver) UpdateStatus added in v0.1.2

func (w *WindowsDriver) UpdateStatus(_ *string, repository common.NodesRepository) (common.NodeStatus, error)

Jump to

Keyboard shortcuts

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