Help us shape the future of Go! Take the 2026 Go Developer Survey

registry

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2025 License: BSD-3-Clause Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func List

func List() []string

List returns all registered VM names from the global registry

func Register

func Register(name string, factory VMFactory) error

Register registers a VM factory in the global registry

Types

type Registry

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

Registry manages VM factories

func New

func New() *Registry

New creates a new registry

func (*Registry) Get

func (r *Registry) Get(name string) (VMFactory, error)

Get retrieves a VM factory

func (*Registry) List

func (r *Registry) List() []string

List returns all registered VM names

func (*Registry) Register

func (r *Registry) Register(name string, factory VMFactory) error

Register registers a VM factory

type VMFactory

type VMFactory interface {
	New() (interface{}, error)
}

VMFactory creates VM instances

func Get

func Get(name string) (VMFactory, error)

Get retrieves a VM factory from the global registry

type VMGetter

type VMGetter interface {
	// Get fetches the VMs that are registered and the VMs that are not
	// registered but available to be installed on the node.
	Get() (
		registeredVMs map[ids.ID]vms.Factory,
		unregisteredVMs map[ids.ID]vms.Factory,
		err error,
	)
}

VMGetter defines functionality to get the plugins on the node.

func NewVMGetter

func NewVMGetter(config VMGetterConfig) VMGetter

NewVMGetter returns a new instance of a VMGetter

type VMGetterConfig

type VMGetterConfig struct {
	FileReader      filesystem.Reader
	Manager         vms.Manager
	PluginDirectory string
	CPUTracker      resource.ProcessTracker
	RuntimeTracker  runtime.Tracker
	MetricsGatherer metrics.MultiGatherer
}

VMGetterConfig defines settings for VMGetter

type VMRegistry

type VMRegistry interface {
	// Reload installs all non-installed vms on the node.
	Reload(ctx context.Context) ([]ids.ID, map[ids.ID]error, error)
}

VMRegistry defines functionality to get any new virtual machines on the node, and install them if they're not already installed.

func NewVMRegistry

func NewVMRegistry(config VMRegistryConfig) VMRegistry

NewVMRegistry returns a VMRegistry

type VMRegistryConfig

type VMRegistryConfig struct {
	VMGetter  VMGetter
	VMManager vms.Manager
}

VMRegistryConfig defines configurations for VMRegistry

Directories

Path Synopsis
Package registrymock is a generated GoMock package.
Package registrymock is a generated GoMock package.

Jump to

Keyboard shortcuts

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