Documentation
¶
Index ¶
- Constants
- func NewMicroVMDriver(c any) (common.LoadDriver, error)
- type BootPlan
- type FCBalloon
- type FCConfig
- type FCDrive
- type FCNetdev
- type FCNodeMetadata
- type FCVsock
- type MicroVMConfig
- type MicroVMDriver
- func (m *MicroVMDriver) Config() common.LoadDriverConfig
- func (m *MicroVMDriver) Deprovision(repository common.DeploymentsRepository, deployment common.Deployment) error
- func (m *MicroVMDriver) ID() common.LoadDriverID
- func (m *MicroVMDriver) Info() common.LoadDriverInfo
- func (m *MicroVMDriver) Kill(repository common.DeploymentsRepository, deployment common.Deployment) error
- func (m *MicroVMDriver) Provision(nodeDriver common.NodeDriver, repository common.DeploymentsRepository, ...) (common.DeploymentID, error)
- func (m *MicroVMDriver) ReadStderr(repository common.DeploymentsRepository, deployment common.Deployment, ...) ([]byte, int64, error)
- func (m *MicroVMDriver) ReadStdout(repository common.DeploymentsRepository, deployment common.Deployment, ...) ([]byte, int64, error)
- func (m *MicroVMDriver) Start(repository common.DeploymentsRepository, deployment common.Deployment) error
- func (m *MicroVMDriver) Stop(repository common.DeploymentsRepository, deployment common.Deployment) error
- func (m *MicroVMDriver) StreamStderr(repository common.DeploymentsRepository, deployment common.Deployment, ...) error
- func (m *MicroVMDriver) StreamStdout(repository common.DeploymentsRepository, deployment common.Deployment, ...) error
- func (m *MicroVMDriver) UpdateStatus(r common.DeploymentsRepository, d common.Deployment) (common.DeploymentStatus, error)
- type MicroVMEntryMetadata
- type OverlayImage
Constants ¶
View Source
const MicroVMDriverID common.LoadDriverID = "microvm"
Variables ¶
This section is empty.
Functions ¶
func NewMicroVMDriver ¶
func NewMicroVMDriver(c any) (common.LoadDriver, error)
Types ¶
type BootPlan ¶
type BootPlan struct {
KernelPath string
InitrdPath string
BootArgs string
Drives map[int]OverlayImage
}
type FCConfig ¶
type FCConfig struct {
Binary string `json:"binary,omitempty"`
Kernel string `json:"kernel,omitempty"`
Initrd string `json:"initrd,omitempty"`
BootArgs string `json:"boot_args,omitempty"`
Memory int `json:"memory,omitempty"`
VCPUs int `json:"vcpus,omitempty"`
SMT bool `json:"smt,omitempty"`
Drives []FCDrive `json:"drives,omitempty"`
Netdev []FCNetdev `json:"netdev,omitempty"`
Vsock *FCVsock `json:"vsock,omitempty"`
Balloon *FCBalloon `json:"balloon,omitempty"`
APISocket string `json:"api_socket,omitempty"`
}
type FCNodeMetadata ¶
type MicroVMConfig ¶
type MicroVMConfig struct {
Binary string `json:"binary,omitempty"`
Kernel string `json:"kernel,omitempty"`
Initrd string `json:"initrd,omitempty"`
BootArgs string `json:"boot_args,omitempty"`
Memory int `json:"memory,omitempty"`
VCPUs int `json:"vcpus,omitempty"`
SMT bool `json:"smt,omitempty"`
Drives []FCDrive `json:"drives,omitempty"`
Netdev []FCNetdev `json:"netdev,omitempty"`
Balloon *FCBalloon `json:"balloon,omitempty"`
}
type MicroVMDriver ¶
type MicroVMDriver struct {
// contains filtered or unexported fields
}
func (*MicroVMDriver) Config ¶
func (m *MicroVMDriver) Config() common.LoadDriverConfig
func (*MicroVMDriver) Deprovision ¶
func (m *MicroVMDriver) Deprovision(repository common.DeploymentsRepository, deployment common.Deployment) error
func (*MicroVMDriver) ID ¶
func (m *MicroVMDriver) ID() common.LoadDriverID
func (*MicroVMDriver) Info ¶
func (m *MicroVMDriver) Info() common.LoadDriverInfo
func (*MicroVMDriver) Kill ¶
func (m *MicroVMDriver) Kill(repository common.DeploymentsRepository, deployment common.Deployment) error
func (*MicroVMDriver) Provision ¶
func (m *MicroVMDriver) Provision(nodeDriver common.NodeDriver, repository common.DeploymentsRepository, loadName string) (common.DeploymentID, error)
func (*MicroVMDriver) ReadStderr ¶
func (m *MicroVMDriver) ReadStderr(repository common.DeploymentsRepository, deployment common.Deployment, offset int64) ([]byte, int64, error)
func (*MicroVMDriver) ReadStdout ¶
func (m *MicroVMDriver) ReadStdout(repository common.DeploymentsRepository, deployment common.Deployment, offset int64) ([]byte, int64, error)
func (*MicroVMDriver) Start ¶
func (m *MicroVMDriver) Start(repository common.DeploymentsRepository, deployment common.Deployment) error
func (*MicroVMDriver) Stop ¶
func (m *MicroVMDriver) Stop(repository common.DeploymentsRepository, deployment common.Deployment) error
func (*MicroVMDriver) StreamStderr ¶
func (m *MicroVMDriver) StreamStderr(repository common.DeploymentsRepository, deployment common.Deployment, w io.Writer) error
func (*MicroVMDriver) StreamStdout ¶
func (m *MicroVMDriver) StreamStdout(repository common.DeploymentsRepository, deployment common.Deployment, w io.Writer) error
func (*MicroVMDriver) UpdateStatus ¶
func (m *MicroVMDriver) UpdateStatus(r common.DeploymentsRepository, d common.Deployment) (common.DeploymentStatus, error)
type MicroVMEntryMetadata ¶
type MicroVMEntryMetadata struct {
VMName string `json:"vm_name"`
PID int `json:"pid"`
APISocket string `json:"api_socket"`
KernelPath string `json:"kernel_path"`
InitrdPath string `json:"initrd_path,omitempty"`
BootPlan BootPlan `json:"boot_plan"`
Drives map[int]OverlayImage `json:"overlay_drives"`
StdoutPath string `json:"stdout_path,omitempty"`
StderrPath string `json:"stderr_path,omitempty"`
}
type OverlayImage ¶
OverlayImage is a per-load writable copy of a base image, so a cached base image is never mutated by a running microVM.
func CreateOverlay ¶
func CreateOverlay(loadName, imagePath string) (*OverlayImage, error)
func (*OverlayImage) Cleanup ¶
func (o *OverlayImage) Cleanup()
Click to show internal directories.
Click to hide internal directories.