Versions in this module Expand all Collapse all v0 v0.1.0 Oct 25, 2024 Changes in this version + const MachineFinalizer + var ErrAttachedVolumeAlreadyExists = errors.New("volume already exists") + var ErrAttachedVolumeNotFound = errors.New("volume not found") + var ErrMountedVolumeNotFound = errors.New("mounted volume not found") + func GetUniqueVolumeName(pluginName, backingVolumeID string) string + type AttachVolume struct + Device string + Name string + Spec providervolume.Volume + type DomainExecutor interface + ApplySecret func(secret *libvirtxml.Secret, data []byte) error + AttachDisk func(disk *libvirtxml.DomainDisk) error + DeleteSecret func(secretUUID string) error + DetachDisk func(disk *libvirtxml.DomainDisk) error + ResizeDisk func(device string, size int64) error + func NewCreateDomainExecutor(lv *libvirt.Libvirt) DomainExecutor + func NewRunningDomainExecutor(lv *libvirt.Libvirt, machineID string) DomainExecutor + type MachineReconciler struct + func NewMachineReconciler(log logr.Logger, libvirt *libvirt.Libvirt, machines store.Store[*api.Machine], ...) (*MachineReconciler, error) + func (r *MachineReconciler) Start(ctx context.Context) error + type MachineReconcilerOptions struct + EnableHugepages bool + GCVMGracefulShutdownTimeout time.Duration + GuestCapabilities guest.Capabilities + Host providerhost.Host + ImageCache providerimage.Cache + NetworkInterfacePlugin providernetworkinterface.Plugin + Raw raw.Raw + ResyncIntervalGarbageCollector time.Duration + ResyncIntervalVolumeSize time.Duration + TCMallocLibPath string + VolumeCachePolicy string + VolumeEvents event.Source[*api.Machine] + VolumePluginManager *providervolume.PluginManager + type MountVolume = providerhost.MachineVolume + type VolumeAttacher interface + AttachVolume func(volume *AttachVolume) error + DetachVolume func(name string) error + ForEachVolume func(f func(*AttachVolume) bool) error + GetVolume func(name string) (*AttachVolume, error) + ListVolumes func() ([]AttachVolume, error) + ResizeVolume func(volume *AttachVolume) error + func NewLibvirtVolumeAttacher(domainDesc *libvirtxml.Domain, executor DomainExecutor, policy string) (VolumeAttacher, error) + type VolumeMounter interface + ApplyVolume func(ctx context.Context, spec *api.VolumeSpec, onDelete func(*MountVolume) error) (string, *providervolume.Volume, error) + DeleteVolume func(ctx context.Context, computeVolumeName string) error + ForEachVolume func(f func(*MountVolume) bool) error + GetVolume func(computeVolumeName string) (*MountVolume, error) + ListVolumes func() ([]MountVolume, error) + PluginManager func() *providervolume.PluginManager