Documentation
¶
Index ¶
- Constants
- Variables
- func NewIncusProvider(configFile, controllerID string) (execution.ExternalProvider, error)
- type GetCloudConfigFunc
- type Incus
- func (l *Incus) CreateInstance(ctx context.Context, bootstrapParams commonParams.BootstrapInstance) (commonParams.ProviderInstance, error)
- func (l *Incus) DeleteInstance(ctx context.Context, instance string) error
- func (l *Incus) GetInstance(ctx context.Context, instanceName string) (commonParams.ProviderInstance, error)
- func (l *Incus) ListInstances(ctx context.Context, poolID string) ([]commonParams.ProviderInstance, error)
- func (l *Incus) RemoveAllInstances(ctx context.Context) error
- func (l *Incus) Start(ctx context.Context, instance string) error
- func (l *Incus) Stop(ctx context.Context, instance string, force bool) error
- type InstanceServerInterface
- type MockIncusServer
- func (m *MockIncusServer) CreateInstance(instance api.InstancesPost) (op incus.Operation, err error)
- func (m *MockIncusServer) DeleteInstance(name string) (op incus.Operation, err error)
- func (m *MockIncusServer) GetImage(name string) (image *api.Image, ETag string, err error)
- func (m *MockIncusServer) GetImageAliasArchitectures(imageType string, name string) (entries map[string]*api.ImageAliasesEntry, err error)
- func (m *MockIncusServer) GetInstanceFull(name string) (instance *api.InstanceFull, ETag string, err error)
- func (m *MockIncusServer) GetInstancesFull(instanceType api.InstanceType) (instances []api.InstanceFull, err error)
- func (m *MockIncusServer) GetProfileNames() (profiles []string, err error)
- func (m *MockIncusServer) GetProject(name string) (project *api.Project, ETag string, err error)
- func (m *MockIncusServer) UpdateInstanceState(name string, state api.InstanceStatePut, ETag string) (op incus.Operation, err error)
- func (m *MockIncusServer) UseProject(name string) (client incus.InstanceServer)
- type MockOperation
- func (m *MockOperation) AddHandler(handler func(api.Operation)) (target *incus.EventTarget, err error)
- func (m *MockOperation) Cancel() error
- func (m *MockOperation) Get() api.Operation
- func (m *MockOperation) GetWebsocket(secret string) (conn *websocket.Conn, err error)
- func (m *MockOperation) Refresh() error
- func (m *MockOperation) RemoveHandler(target *incus.EventTarget) error
- func (o *MockOperation) Wait() error
- func (m *MockOperation) WaitContext(ctx context.Context) error
- type ToolFetchFunc
Constants ¶
View Source
const ( DefaultProjectDescription = "This project was created automatically by garm to be used for github ephemeral action runners." DefaultProjectName = "garm-project" )
Variables ¶
View Source
var ( DefaultToolFetch ToolFetchFunc = util.GetTools DefaultGetCloudconfig GetCloudConfigFunc = cloudconfig.GetCloudConfig )
Functions ¶
func NewIncusProvider ¶
func NewIncusProvider(configFile, controllerID string) (execution.ExternalProvider, error)
Types ¶
type GetCloudConfigFunc ¶
type GetCloudConfigFunc func(bootstrapParams commonParams.BootstrapInstance, tools commonParams.RunnerApplicationDownload, runnerName string) (string, error)
type Incus ¶
type Incus struct {
// contains filtered or unexported fields
}
func (*Incus) CreateInstance ¶
func (l *Incus) CreateInstance(ctx context.Context, bootstrapParams commonParams.BootstrapInstance) (commonParams.ProviderInstance, error)
CreateInstance creates a new compute instance in the provider.
func (*Incus) DeleteInstance ¶
Delete instance will delete the instance in a provider.
func (*Incus) GetInstance ¶
func (l *Incus) GetInstance(ctx context.Context, instanceName string) (commonParams.ProviderInstance, error)
GetInstance will return details about one instance.
func (*Incus) ListInstances ¶
func (l *Incus) ListInstances(ctx context.Context, poolID string) ([]commonParams.ProviderInstance, error)
ListInstances will list all instances for a provider.
func (*Incus) RemoveAllInstances ¶
RemoveAllInstances will remove all instances created by this provider.
type InstanceServerInterface ¶
type InstanceServerInterface interface { GetProject(string) (*api.Project, string, error) UseProject(string) incus.InstanceServer GetProfileNames() ([]string, error) CreateInstance(api.InstancesPost) (incus.Operation, error) UpdateInstanceState(string, api.InstanceStatePut, string) (incus.Operation, error) GetInstanceFull(string) (*api.InstanceFull, string, error) DeleteInstance(string) (incus.Operation, error) GetInstancesFull(api.InstanceType) ([]api.InstanceFull, error) GetImageAliasArchitectures(string, string) (map[string]*api.ImageAliasesEntry, error) GetImage(string) (*api.Image, string, error) }
type MockIncusServer ¶
func (*MockIncusServer) CreateInstance ¶
func (m *MockIncusServer) CreateInstance(instance api.InstancesPost) (op incus.Operation, err error)
func (*MockIncusServer) DeleteInstance ¶
func (m *MockIncusServer) DeleteInstance(name string) (op incus.Operation, err error)
func (*MockIncusServer) GetImageAliasArchitectures ¶
func (m *MockIncusServer) GetImageAliasArchitectures(imageType string, name string) (entries map[string]*api.ImageAliasesEntry, err error)
func (*MockIncusServer) GetInstanceFull ¶
func (m *MockIncusServer) GetInstanceFull(name string) (instance *api.InstanceFull, ETag string, err error)
func (*MockIncusServer) GetInstancesFull ¶
func (m *MockIncusServer) GetInstancesFull(instanceType api.InstanceType) (instances []api.InstanceFull, err error)
func (*MockIncusServer) GetProfileNames ¶
func (m *MockIncusServer) GetProfileNames() (profiles []string, err error)
func (*MockIncusServer) GetProject ¶
func (*MockIncusServer) UpdateInstanceState ¶
func (m *MockIncusServer) UpdateInstanceState(name string, state api.InstanceStatePut, ETag string) (op incus.Operation, err error)
func (*MockIncusServer) UseProject ¶
func (m *MockIncusServer) UseProject(name string) (client incus.InstanceServer)
type MockOperation ¶
func (*MockOperation) AddHandler ¶
func (m *MockOperation) AddHandler(handler func(api.Operation)) (target *incus.EventTarget, err error)
func (*MockOperation) Cancel ¶
func (m *MockOperation) Cancel() error
func (*MockOperation) Get ¶
func (m *MockOperation) Get() api.Operation
func (*MockOperation) GetWebsocket ¶
func (m *MockOperation) GetWebsocket(secret string) (conn *websocket.Conn, err error)
func (*MockOperation) Refresh ¶
func (m *MockOperation) Refresh() error
func (*MockOperation) RemoveHandler ¶
func (m *MockOperation) RemoveHandler(target *incus.EventTarget) error
func (*MockOperation) Wait ¶
func (o *MockOperation) Wait() error
func (*MockOperation) WaitContext ¶
func (m *MockOperation) WaitContext(ctx context.Context) error
type ToolFetchFunc ¶
type ToolFetchFunc func(osType commonParams.OSType, osArch commonParams.OSArch, tools []commonParams.RunnerApplicationDownload) (commonParams.RunnerApplicationDownload, error)
Click to show internal directories.
Click to hide internal directories.