virtualmachine

package
v0.0.1-alpha-old Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2023 License: GPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var STATES = map[libvirt.ConnectListAllDomainsFlags]string{libvirt.ConnectListDomainsRunning: "Running", libvirt.ConnectListDomainsPaused: "Paused", libvirt.ConnectListDomainsShutoff: "Shutoff"}

Functions

func CopyFileFromVirtualMachineToHost

func CopyFileFromVirtualMachineToHost(sshClient *ssh.Client, remoteFilePath string, localFilePath string) (err error)

Copy file from vm to host

func CreateVirtualmachineSSHKeyPair

func CreateVirtualmachineSSHKeyPair(outputKeyPath string) (err error)

Create ssh key for a virtual machine

func DeleteVirtualMachine

func DeleteVirtualMachine(vmName string) (err error)

Delete defined vm

func GetConnectionDetails

func GetConnectionDetails(vmName string, mykubeAssetsDir string) (err error)

Print cluster connection details

func GetVirtualMachine

func GetVirtualMachine(vmName string) (dom *libvirt.Domain)

func GetVirtualMachineIP

func GetVirtualMachineIP(vmName string) (vmIPAddress string, err error)

Get virtual machine public IP

func GetVirtualMachineSSHConnection

func GetVirtualMachineSSHConnection(vmName string, vmPubKeyPath string) (shhClient *ssh.Client, err error)

Get ssh client for a virtaul machine

func InjectSSHKeyIntoUserDataYamlFile

func InjectSSHKeyIntoUserDataYamlFile(userDataYamlFile []byte, sshPubKey string) (newUserDataYamlFile []byte)

func ListAllVirtualmachines

func ListAllVirtualmachines()

func LoadPrivateKeyFromFile

func LoadPrivateKeyFromFile(filePath string) (ssh.Signer, error)

func ModifyXML

func ModifyXML(assetFilePath string, vmName string, vmBaseImagePath string, vmCloudConfigIsoPath string) (output []byte)

func StartVirtualMachine

func StartVirtualMachine(vmName string)

Start defined vm

Types

type CloudConfig

type CloudConfig struct {
	Users      []User `yaml:"users"`
	WriteFiles []struct {
		Encoding   string `yaml:"encoding"`
		Content    string `yaml:"content"`
		Path       string `yaml:"path"`
		Permission string `yaml:"permissions"`
	} `yaml:"write_files"`
	RunCmd []string `yaml:"runcmd"`
}

type User

type User struct {
	Name              string   `yaml:"name"`
	SSHAuthorizedKeys []string `yaml:"ssh_authorized_keys"`
	Sudo              string   `yaml:"sudo"`
	Groups            string   `yaml:"groups"`
	Shell             string   `yaml:"shell"`
}

type Virtualmachine

type Virtualmachine struct {
	// contains filtered or unexported fields
}

func NewVirtualmachine

func NewVirtualmachine(os_name string, os_path string, cloudconfig_path string, vcpu_amount int, memory_amount int, name string) *Virtualmachine

Create virtual machine object

func (Virtualmachine) CreateVirtualmachine

func (vm Virtualmachine) CreateVirtualmachine()

Jump to

Keyboard shortcuts

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