daemon

package
v0.7.1 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Daemon

type Daemon interface {
	CreateInstance(ctx context.Context, opt InstanceOptions) (*instance.Instance, error)
	GetInstance(ctx context.Context, id string) (*instance.Instance, error)
	ListInstances(ctx context.Context) ([]instance.Instance, error)
	DestroyInstance(ctx context.Context, id string) error
	StartInstance(ctx context.Context, id string) error
	StopInstance(ctx context.Context, id string, opt *api.StopConfig) error
	InstanceExec(ctx context.Context, id string, cmd []string, timeout time.Duration) (*api.ExecResult, error)
	GetInstanceLogs(ctx context.Context, id string) ([]*api.LogEntry, error)
	SubscribeToInstanceLogs(ctx context.Context, id string) ([]*api.LogEntry, <-chan *api.LogEntry, error)

	DeleteImage(ctx context.Context, ref string) error
	ListImages(ctx context.Context) ([]images.Image, error)
	PullImage(ctx context.Context, opt ImagePullOptions) (*images.Image, error)

	CreateDisk(ctx context.Context, opt DiskOptions) (*disks.Disk, error)
	GetDisk(ctx context.Context, id string) (*disks.Disk, error)
	ListDisks(ctx context.Context) ([]disks.Disk, error)
	DestroyDisk(ctx context.Context, id string) error
}

type DiskOptions added in v0.7.0

type DiskOptions struct {
	Id     string `json:"id"`
	SizeMB uint64 `json:"size_mb"`
}

type Image

type Image = images.Image

type ImagePullOptions

type ImagePullOptions struct {
	Ref  string                    `json:"ref"`
	Auth registry.RegistriesConfig `json:"auth,omitempty"`
}

type InstanceOptions

type InstanceOptions struct {
	Id     string                  `json:"id"`
	Config instance.InstanceConfig `json:"config"`
}

func (*InstanceOptions) Validate

func (i *InstanceOptions) Validate() error

type Runtime

type Runtime interface {
	CreateInstance(ctx context.Context, opt instance.InstanceOptions) (*instance.Instance, error)
	GetInstance(id string) (*instance.Instance, error)
	ListInstances() []instance.Instance
	StartInstance(ctx context.Context, id string) error
	StopInstance(ctx context.Context, id string, opt *api.StopConfig) error
	GetInstanceLogs(id string) ([]*api.LogEntry, error)
	SubscribeToInstanceLogs(ctx context.Context, id string) ([]*api.LogEntry, <-chan *api.LogEntry, error)
	WatchInstanceState(ctx context.Context, id string) (<-chan instance.State, error)

	DeleteImage(ctx context.Context, ref string) error
	DestroyInstance(ctx context.Context, id string) error
	InstanceExec(ctx context.Context, id string, cmd []string, timeout time.Duration) (*api.ExecResult, error)
	ListImages(ctx context.Context) ([]images.Image, error)
	PruneImages(ctx context.Context) error
	PullImage(ctx context.Context, opt ImagePullOptions) (*images.Image, error)
}

Jump to

Keyboard shortcuts

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