Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(ic *plugin.InitContext) (interface{}, error)

    New returns a configured runtime

    Types

    type Config

    type Config struct {
    	// Shim is a path or name of binary implementing the Shim GRPC API
    	Shim string `toml:"shim"`
    	// Runtime is a path or name of an OCI runtime used by the shim
    	Runtime string `toml:"runtime"`
    	// RuntimeRoot is the path that shall be used by the OCI runtime for its data
    	RuntimeRoot string `toml:"runtime_root"`
    	// NoShim calls runc directly from within the pkg
    	NoShim bool `toml:"no_shim"`
    	// Debug enable debug on the shim
    	ShimDebug bool `toml:"shim_debug"`
    }

      Config options for the runtime

      type Process

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

        Process implements a linux process

        func (*Process) CloseIO

        func (p *Process) CloseIO(ctx context.Context) error

          CloseIO closes the provided IO pipe for the process

          func (*Process) Delete

          func (p *Process) Delete(ctx context.Context) (*runtime.Exit, error)

            Delete the process and return the exit status

            func (*Process) ID

            func (p *Process) ID() string

              ID of the process

              func (*Process) Kill

              func (p *Process) Kill(ctx context.Context, signal uint32, _ bool) error

                Kill sends the provided signal to the underlying process

                Unable to kill all processes in the task using this method on a process

                func (*Process) ResizePty

                func (p *Process) ResizePty(ctx context.Context, size runtime.ConsoleSize) error

                  ResizePty changes the side of the process's PTY to the provided width and height

                  func (*Process) Start

                  func (p *Process) Start(ctx context.Context) error

                    Start the process

                    func (*Process) State

                    func (p *Process) State(ctx context.Context) (runtime.State, error)

                      State of process

                      func (*Process) Wait

                      func (p *Process) Wait(ctx context.Context) (*runtime.Exit, error)

                        Wait on the process to exit and return the exit status and timestamp

                        type Runtime

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

                          Runtime for a linux based system

                          func (*Runtime) Add

                          func (r *Runtime) Add(ctx context.Context, task runtime.Task) error

                            Add a runtime task

                            func (*Runtime) Create

                            func (r *Runtime) Create(ctx context.Context, id string, opts runtime.CreateOpts) (_ runtime.Task, err error)

                              Create a new task

                              func (*Runtime) Delete

                              func (r *Runtime) Delete(ctx context.Context, id string)

                                Delete a runtime task

                                func (*Runtime) Get

                                func (r *Runtime) Get(ctx context.Context, id string) (runtime.Task, error)

                                  Get a specific task by task id

                                  func (*Runtime) ID

                                  func (r *Runtime) ID() string

                                    ID of the runtime

                                    func (*Runtime) Tasks

                                    func (r *Runtime) Tasks(ctx context.Context, all bool) ([]runtime.Task, error)

                                      Tasks returns all tasks known to the runtime

                                      type ShimOpt

                                      type ShimOpt func(*bundle, string, *runctypes.RuncOptions) (shim.Config, client.Opt)

                                        ShimOpt specifies shim options for initialization and connection

                                        func ShimConnect

                                        func ShimConnect(c *Config, onClose func()) ShimOpt

                                          ShimConnect is a ShimOpt for connecting to an existing remote shim

                                          func ShimLocal

                                          func ShimLocal(c *Config, exchange *exchange.Exchange) ShimOpt

                                            ShimLocal is a ShimOpt for using an in process shim implementation

                                            func ShimRemote

                                            func ShimRemote(c *Config, daemonAddress, cgroup string, exitHandler func()) ShimOpt

                                              ShimRemote is a ShimOpt for connecting and starting a remote shim

                                              type Task

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

                                                Task on a linux based system

                                                func (*Task) Cgroup

                                                func (t *Task) Cgroup() (cgroups.Cgroup, error)

                                                  Cgroup returns the underlying cgroup for a linux task

                                                  func (*Task) Checkpoint

                                                  func (t *Task) Checkpoint(ctx context.Context, path string, options *types.Any) error

                                                    Checkpoint creates a system level dump of the task and process information that can be later restored

                                                    func (*Task) CloseIO

                                                    func (t *Task) CloseIO(ctx context.Context) error

                                                      CloseIO closes the provided IO on the task

                                                      func (*Task) Delete

                                                      func (t *Task) Delete(ctx context.Context) (*runtime.Exit, error)

                                                        Delete the task and return the exit status

                                                        func (*Task) Exec

                                                        func (t *Task) Exec(ctx context.Context, id string, opts runtime.ExecOpts) (runtime.Process, error)

                                                          Exec creates a new process inside the task

                                                          func (*Task) ID

                                                          func (t *Task) ID() string

                                                            ID of the task

                                                            func (*Task) Kill

                                                            func (t *Task) Kill(ctx context.Context, signal uint32, all bool) error

                                                              Kill the task using the provided signal

                                                              Optionally send the signal to all processes that are a child of the task

                                                              func (*Task) Namespace

                                                              func (t *Task) Namespace() string

                                                                Namespace of the task

                                                                func (*Task) PID

                                                                func (t *Task) PID() uint32

                                                                  PID of the task

                                                                  func (*Task) Pause

                                                                  func (t *Task) Pause(ctx context.Context) error

                                                                    Pause the task and all processes

                                                                    func (*Task) Pids

                                                                    func (t *Task) Pids(ctx context.Context) ([]runtime.ProcessInfo, error)

                                                                      Pids returns all system level process ids running inside the task

                                                                      func (*Task) Process

                                                                      func (t *Task) Process(ctx context.Context, id string) (runtime.Process, error)

                                                                        Process returns a specific process inside the task by the process id

                                                                        func (*Task) ResizePty

                                                                        func (t *Task) ResizePty(ctx context.Context, size runtime.ConsoleSize) error

                                                                          ResizePty changes the side of the task's PTY to the provided width and height

                                                                          func (*Task) Resume

                                                                          func (t *Task) Resume(ctx context.Context) error

                                                                            Resume the task and all processes

                                                                            func (*Task) Start

                                                                            func (t *Task) Start(ctx context.Context) error

                                                                              Start the task

                                                                              func (*Task) State

                                                                              func (t *Task) State(ctx context.Context) (runtime.State, error)

                                                                                State returns runtime information for the task

                                                                                func (*Task) Stats

                                                                                func (t *Task) Stats(ctx context.Context) (*types.Any, error)

                                                                                  Stats returns runtime specific system level metric information for the task

                                                                                  func (*Task) Update

                                                                                  func (t *Task) Update(ctx context.Context, resources *types.Any) error

                                                                                    Update changes runtime information of a running task

                                                                                    func (*Task) Wait

                                                                                    func (t *Task) Wait(ctx context.Context) (*runtime.Exit, error)

                                                                                      Wait for the task to exit returning the status and timestamp