Documentation ¶
Index ¶
- Variables
- type B2PUpdater
- type DiskCreator
- type Driver
- func (d *Driver) Create() error
- func (d *Driver) CreateVM() error
- func (d *Driver) DriverName() string
- func (d *Driver) GetCreateFlags() []mcnflag.Flag
- func (d *Driver) GetIP() (string, error)
- func (d *Driver) GetSSHHostname() (string, error)
- func (d *Driver) GetSSHUsername() string
- func (d *Driver) GetState() (state.State, error)
- func (d *Driver) GetURL() (string, error)
- func (d *Driver) IsVTXDisabled() bool
- func (d *Driver) IsVTXDisabledInTheVM() (bool, error)
- func (d *Driver) Kill() error
- func (d *Driver) PreCreateCheck() error
- func (d *Driver) Remove() error
- func (d *Driver) Restart() error
- func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error
- func (d *Driver) Start() error
- func (d *Driver) Stop() error
- type HostInterfaces
- type IPWaiter
- type LogsReader
- type RandomInter
- type SSHKeyGenerator
- type Sleeper
- type VBoxCmdManager
- type VBoxManager
- type VM
- type VirtualDisk
Constants ¶
This section is empty.
Variables ¶
var ( ErrMachineNotExist = errors.New("machine does not exist") ErrVBMNotFound = errors.New("VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path") )
var ( ErrUnableToGenerateRandomIP = errors.New("unable to generate random IP") ErrMustEnableVTX = errors.New("This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory") ErrNotCompatibleWithHyperV = errors.New("This computer is running Hyper-V. VirtualBox won't boot a 64bits VM when Hyper-V is activated. Either use Hyper-V as a driver, or disable the Hyper-V hypervisor. (To skip this check, use --virtualbox-no-vtx-check)") ErrNetworkAddrCidr = errors.New("host-only cidr must be specified with a host address, not a network address") ErrNetworkAddrCollision = errors.New("host-only cidr conflicts with the network address of a host interface") )
Functions ¶
This section is empty.
Types ¶
type B2PUpdater ¶
type B2PUpdater interface { UpdateISOCache(storePath, isoURL string) error CopyIsoToMachineDir(storePath, machineName, isoURL string) error }
B2PUpdater describes the interactions with b2p.
func NewB2PUpdater ¶
func NewB2PUpdater() B2PUpdater
type DiskCreator ¶
func NewDiskCreator ¶
func NewDiskCreator() DiskCreator
type Driver ¶
type Driver struct { *drivers.BaseDriver VBoxManager HostInterfaces CPU int Memory int DiskSize int NatNicType string Boot2PodmanURL string HostDNSResolver bool HostOnlyCIDR string HostOnlyNicType string HostOnlyPromiscMode string UIType string HostOnlyNoDHCP bool DNSProxy bool NoVTXCheck bool // contains filtered or unexported fields }
func (*Driver) DriverName ¶
DriverName returns the name of the driver
func (*Driver) GetCreateFlags ¶
GetCreateFlags registers the flags this driver adds
func (*Driver) GetSSHHostname ¶
func (*Driver) GetSSHUsername ¶
func (*Driver) IsVTXDisabled ¶
IsVTXDisabled checks if VT-X is disabled in the BIOS. If it is, the vm will fail to start. If we can't be sure it is disabled, we carry on and will check the vm logs after it's started. We want to check that either vmx or svm flags are present in /proc/cpuinfo.
func (*Driver) IsVTXDisabledInTheVM ¶
IsVTXDisabledInTheVM checks if VT-X is disabled in the started vm.
func (*Driver) PreCreateCheck ¶
PreCreateCheck checks that VBoxManage exists and works
func (*Driver) SetConfigFromFlags ¶
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error
type HostInterfaces ¶
type HostInterfaces interface { Interfaces() ([]net.Interface, error) Addrs(iface *net.Interface) ([]net.Addr, error) }
HostInterfaces returns host network interface info. By default delegates to net.Interfaces()
func NewHostInterfaces ¶
func NewHostInterfaces() HostInterfaces
type IPWaiter ¶
IPWaiter waits for an IP to be configured.
func NewIPWaiter ¶
func NewIPWaiter() IPWaiter
type LogsReader ¶
LogsReader describes the reading of VBox.log
func NewLogsReader ¶
func NewLogsReader() LogsReader
type RandomInter ¶
RandomInter returns random int values.
func NewRandomInter ¶
func NewRandomInter() RandomInter
type SSHKeyGenerator ¶
SSHKeyGenerator describes the generation of ssh keys.
func NewSSHKeyGenerator ¶
func NewSSHKeyGenerator() SSHKeyGenerator
type VBoxCmdManager ¶
type VBoxCmdManager struct {
// contains filtered or unexported fields
}
VBoxCmdManager communicates with VirtualBox through the commandline using `VBoxManage`.
func NewVBoxManager ¶
func NewVBoxManager() *VBoxCmdManager
NewVBoxManager creates a VBoxManager instance.
type VBoxManager ¶
type VBoxManager interface {
// contains filtered or unexported methods
}
VBoxManager defines the interface to communicate to VirtualBox.