containerd

package
v18.9.14+incompatible Latest Latest
Warning

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

Go to latest
Published: Apr 6, 2020 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const PluginNamespace = "plugins.moby"

PluginNamespace is the name used for the plugins namespace

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	Create(ctx context.Context, containerID string, spec *specs.Spec, runtimeOptions interface{}) error
	Restore(ctx context.Context, containerID string, attachStdio libcontainerd.StdioCallback) (alive bool, pid int, err error)
	Status(ctx context.Context, containerID string) (libcontainerd.Status, error)
	Delete(ctx context.Context, containerID string) error
	DeleteTask(ctx context.Context, containerID string) (uint32, time.Time, error)
	Start(ctx context.Context, containerID, checkpointDir string, withStdin bool, attachStdio libcontainerd.StdioCallback) (pid int, err error)
	SignalProcess(ctx context.Context, containerID, processID string, signal int) error
}

Client is used by the exector to perform operations. TODO(@cpuguy83): This should really just be based off the containerd client interface. However right now this whole package is tied to github.com/docker/docker/libcontainerd

type Executor

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

Executor is the containerd client implementation of a plugin executor

func New

func New(ctx context.Context, rootDir string, cli *containerd.Client, exitHandler ExitHandler) (*Executor, error)

New creates a new containerd plugin executor

func (*Executor) Create

func (e *Executor) Create(id string, spec specs.Spec, stdout, stderr io.WriteCloser) error

Create creates a new container

func (*Executor) IsRunning

func (e *Executor) IsRunning(id string) (bool, error)

IsRunning returns if the container with the given id is running

func (*Executor) ProcessEvent

func (e *Executor) ProcessEvent(id string, et libcontainerd.EventType, ei libcontainerd.EventInfo) error

ProcessEvent handles events from containerd All events are ignored except the exit event, which is sent of to the stored handler

func (*Executor) Restore

func (e *Executor) Restore(id string, stdout, stderr io.WriteCloser) (bool, error)

Restore restores a container

func (*Executor) Signal

func (e *Executor) Signal(id string, signal int) error

Signal sends the specified signal to the container

type ExitHandler

type ExitHandler interface {
	HandleExitEvent(id string) error
}

ExitHandler represents an object that is called when the exit event is received from containerd

Jump to

Keyboard shortcuts

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