runc

package
v1.4.7 Latest Latest
Warning

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

Go to latest
Published: Jul 13, 2021 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetTopic

func GetTopic(e interface{}) string

GetTopic converts an event from an interface type to the specific event topic id

func NewPlatform

func NewPlatform() (stdio.Platform, error)

NewPlatform returns a linux platform for use with I/O operations

func ReadOptions

func ReadOptions(path string) (*options.Options, error)

ReadOptions reads the option information from the path. When the file does not exist, ReadOptions returns nil without an error.

func ReadRuntime

func ReadRuntime(path string) (string, error)

ReadRuntime reads the runtime information from the path

func ShouldKillAllOnExit

func ShouldKillAllOnExit(ctx context.Context, bundlePath string) bool

ShouldKillAllOnExit reads the bundle's OCI spec and returns true if there is an error reading the spec or if the container has a private PID namespace

func WriteOptions

func WriteOptions(path string, opts options.Options) error

WriteOptions writes the options information into the path

func WriteRuntime

func WriteRuntime(path, runtime string) error

WriteRuntime writes the runtime information into the path

Types

type Container

type Container struct {

	// ID of the container
	ID string
	// Bundle path
	Bundle string
	// contains filtered or unexported fields
}

Container for operating on a runc container and its processes

func NewContainer

func NewContainer(ctx context.Context, platform stdio.Platform, r *task.CreateTaskRequest) (_ *Container, retErr error)

NewContainer returns a new runc container

func (*Container) All

func (c *Container) All() (o []process.Process)

All processes in the container

func (*Container) Cgroup

func (c *Container) Cgroup() interface{}

Cgroup of the container

func (*Container) CgroupSet

func (c *Container) CgroupSet(cg interface{})

CgroupSet sets the cgroup to the container

func (*Container) Checkpoint

func (c *Container) Checkpoint(ctx context.Context, r *task.CheckpointTaskRequest) error

Checkpoint the container

func (*Container) CloseIO

func (c *Container) CloseIO(ctx context.Context, r *task.CloseIORequest) error

CloseIO of a process

func (*Container) Delete

Delete the container or a process by id

func (*Container) Exec

Exec an additional process

func (*Container) ExecdProcesses

func (c *Container) ExecdProcesses() (o []process.Process)

ExecdProcesses added to the container

func (*Container) HasPid

func (c *Container) HasPid(pid int) bool

HasPid returns true if the container owns a specific pid

func (*Container) Kill

func (c *Container) Kill(ctx context.Context, r *task.KillRequest) error

Kill a process

func (*Container) Pause

func (c *Container) Pause(ctx context.Context) error

Pause the container

func (*Container) Pid

func (c *Container) Pid() int

Pid of the main process of a container

func (*Container) Process

func (c *Container) Process(id string) (process.Process, error)

Process returns the process by id

func (*Container) ProcessAdd

func (c *Container) ProcessAdd(process process.Process)

ProcessAdd adds a new process to the container

func (*Container) ProcessRemove

func (c *Container) ProcessRemove(id string)

ProcessRemove removes the process by id from the container

func (*Container) ReserveProcess

func (c *Container) ReserveProcess(id string) (bool, func())

ReserveProcess checks for the existence of an id and atomically reserves the process id if it does not already exist

Returns true if the process id was successfully reserved and a cancel func to release the reservation

func (*Container) ResizePty

func (c *Container) ResizePty(ctx context.Context, r *task.ResizePtyRequest) error

ResizePty of a process

func (*Container) Resume

func (c *Container) Resume(ctx context.Context) error

Resume the container

func (*Container) Start

Start a container process

func (*Container) Update

func (c *Container) Update(ctx context.Context, r *task.UpdateTaskRequest) error

Update the resource information of a running container

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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