Documentation

Index

Constants

View Source
const (
	// RuncRoot is the path to the root runc state directory
	RuncRoot = "/run/containerd/runc"
	// InitPidFile name of the file that contains the init pid
	InitPidFile = "init.pid"
)

Variables

This section is empty.

Functions

func NewBinaryIO

func NewBinaryIO(ctx context.Context, id string, uri *url.URL) (_ runc.IO, err error)

    NewBinaryIO runs a custom binary process for pluggable shim logging

    func NewRunc

    func NewRunc(root, path, namespace, runtime, criu string, systemd bool) *runc.Runc

      NewRunc returns a new runc instance for a process

      Types

      type CheckpointConfig

      type CheckpointConfig struct {
      	WorkDir                  string
      	Path                     string
      	Exit                     bool
      	AllowOpenTCP             bool
      	AllowExternalUnixSockets bool
      	AllowTerminal            bool
      	FileLocks                bool
      	EmptyNamespaces          []string
      }

        CheckpointConfig holds task checkpoint configuration

        type CreateConfig

        type CreateConfig struct {
        	ID               string
        	Bundle           string
        	Runtime          string
        	Rootfs           []Mount
        	Terminal         bool
        	Stdin            string
        	Stdout           string
        	Stderr           string
        	Checkpoint       string
        	ParentCheckpoint string
        	Options          *google_protobuf.Any
        }

          CreateConfig hold task creation configuration

          type ExecConfig

          type ExecConfig struct {
          	ID       string
          	Terminal bool
          	Stdin    string
          	Stdout   string
          	Stderr   string
          	Spec     *google_protobuf.Any
          }

            ExecConfig holds exec creation configuration

            type Init

            type Init struct {
            	WorkDir string
            
            	Bundle string
            
            	Platform stdio.Platform
            
            	Rootfs       string
            	IoUID        int
            	IoGID        int
            	NoPivotRoot  bool
            	NoNewKeyring bool
            	CriuWorkPath string
            	// contains filtered or unexported fields
            }

              Init represents an initial process for a container

              func New

              func New(id string, runtime *runc.Runc, stdio stdio.Stdio) *Init

                New returns a new process

                func (*Init) Checkpoint

                func (p *Init) Checkpoint(ctx context.Context, r *CheckpointConfig) error

                  Checkpoint the init process

                  func (*Init) Create

                  func (p *Init) Create(ctx context.Context, r *CreateConfig) error

                    Create the process with the provided config

                    func (*Init) Delete

                    func (p *Init) Delete(ctx context.Context) error

                      Delete the init process

                      func (*Init) Exec

                      func (p *Init) Exec(ctx context.Context, path string, r *ExecConfig) (Process, error)

                        Exec returns a new child process

                        func (*Init) ExitStatus

                        func (p *Init) ExitStatus() int

                          ExitStatus of the process

                          func (*Init) ExitedAt

                          func (p *Init) ExitedAt() time.Time

                            ExitedAt at time when the process exited

                            func (*Init) ID

                            func (p *Init) ID() string

                              ID of the process

                              func (*Init) Kill

                              func (p *Init) Kill(ctx context.Context, signal uint32, all bool) error

                                Kill the init process

                                func (*Init) KillAll

                                func (p *Init) KillAll(ctx context.Context) error

                                  KillAll processes belonging to the init process

                                  func (*Init) Pause

                                  func (p *Init) Pause(ctx context.Context) error

                                    Pause the init process and all its child processes

                                    func (*Init) Pid

                                    func (p *Init) Pid() int

                                      Pid of the process

                                      func (*Init) Resize

                                      func (p *Init) Resize(ws console.WinSize) error

                                        Resize the init processes console

                                        func (*Init) Resume

                                        func (p *Init) Resume(ctx context.Context) error

                                          Resume the init process and all its child processes

                                          func (*Init) Runtime

                                          func (p *Init) Runtime() *runc.Runc

                                            Runtime returns the OCI runtime configured for the init process

                                            func (*Init) SetExited

                                            func (p *Init) SetExited(status int)

                                              SetExited of the init process with the next status

                                              func (*Init) Start

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

                                                Start the init process

                                                func (*Init) Status

                                                func (p *Init) Status(ctx context.Context) (string, error)

                                                  Status of the process

                                                  func (*Init) Stdin

                                                  func (p *Init) Stdin() io.Closer

                                                    Stdin of the process

                                                    func (*Init) Stdio

                                                    func (p *Init) Stdio() stdio.Stdio

                                                      Stdio of the process

                                                      func (*Init) Update

                                                      func (p *Init) Update(ctx context.Context, r *google_protobuf.Any) error

                                                        Update the processes resource configuration

                                                        func (*Init) Wait

                                                        func (p *Init) Wait()

                                                          Wait for the process to exit

                                                          type Mount

                                                          type Mount struct {
                                                          	Type    string
                                                          	Source  string
                                                          	Target  string
                                                          	Options []string
                                                          }

                                                            Mount holds filesystem mount configuration

                                                            type Process

                                                            type Process interface {
                                                            	// ID returns the id for the process
                                                            	ID() string
                                                            	// Pid returns the pid for the process
                                                            	Pid() int
                                                            	// ExitStatus returns the exit status
                                                            	ExitStatus() int
                                                            	// ExitedAt is the time the process exited
                                                            	ExitedAt() time.Time
                                                            	// Stdin returns the process STDIN
                                                            	Stdin() io.Closer
                                                            	// Stdio returns io information for the container
                                                            	Stdio() stdio.Stdio
                                                            	// Status returns the process status
                                                            	Status(context.Context) (string, error)
                                                            	// Wait blocks until the process has exited
                                                            	Wait()
                                                            	// Resize resizes the process console
                                                            	Resize(ws console.WinSize) error
                                                            	// Start execution of the process
                                                            	Start(context.Context) error
                                                            	// Delete deletes the process and its resourcess
                                                            	Delete(context.Context) error
                                                            	// Kill kills the process
                                                            	Kill(context.Context, uint32, bool) error
                                                            	// SetExited sets the exit status for the process
                                                            	SetExited(status int)
                                                            }

                                                              Process on a system