nodes

package
v0.1.9 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const LinuxDriverID common.NodeDriverID = "linux"
View Source
const QemuDriverID common.NodeDriverID = "qemu"
View Source
const WindowsDriverID common.NodeDriverID = "windows"

Variables

View Source
var (
	QmpErrConnectionFailed = errors.New("qmp: failed to connect")
)

Functions

func NewLinuxDriverFromConfig

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

func NewQemuDriverFromConfig added in v0.1.2

func NewQemuDriverFromConfig(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 (l *LinuxDriver) GetState() (common.NodeState, error)

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 QemuConfig added in v0.1.2

type QemuConfig struct {
	Emulator string       `json:"emulator"`
	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"`
	Params   []string     `json:"params,omitempty"`
	Drives   []QemuDrive  `json:"drives,omitempty"`
	Netdevs  []QemuNetdev `json:"netdevs,omitempty"`
	QMPPort  int          `json:"qmp_port"`
}

type QemuDrive added in v0.1.2

type QemuDrive 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 QemuDriver added in v0.1.2

type QemuDriver struct {
	Config QemuConfig
}

func (*QemuDriver) Deprovision added in v0.1.2

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

func (*QemuDriver) DriverInfo added in v0.1.2

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

func (*QemuDriver) GetCapabilities added in v0.1.2

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

func (*QemuDriver) GetDriverConfig added in v0.1.2

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

func (*QemuDriver) GetNodeDriverID added in v0.1.2

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

func (*QemuDriver) GetState added in v0.1.8

func (q *QemuDriver) GetState() (common.NodeState, error)

func (*QemuDriver) MarshalJSON added in v0.1.2

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

func (*QemuDriver) Provision added in v0.1.2

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

func (*QemuDriver) Restart added in v0.1.2

func (q *QemuDriver) Restart(nodeName *string, message string, time uint32, repository common.NodesRepository) error

func (*QemuDriver) Start added in v0.1.5

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

func (*QemuDriver) Stop added in v0.1.5

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

func (*QemuDriver) UnmarshalJSON added in v0.1.2

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

func (*QemuDriver) UpdateStatus added in v0.1.2

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

type QemuNetdev added in v0.1.2

type QemuNetdev 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 QemuNodeMetadata added in v0.1.2

type QemuNodeMetadata struct {
	Pid      int                  `json:"pid,omitempty"`
	QMPPort  int                  `json:"qmp_port,omitempty"`
	QemuPath string               `json:"qemu_path"`
	QemuArgs []string             `json:"qemu_args"`
	Drives   map[int]OverlayImage `json:"overlay_drives"`
}

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 (l *WindowsDriver) GetState() (common.NodeState, error)

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