linux

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2023 License: Apache-2.0 Imports: 40 Imported by: 233

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 added in v1.2.3

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 added in v1.2.3

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

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.ExecProcess, 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 added in v1.3.0

func (t *Task) PID(_ context.Context) (uint32, error)

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.ExecProcess, 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, _ map[string]string) 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

Jump to

Keyboard shortcuts

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