cruntime

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2019 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package cruntime contains code specific to container runtimes

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CRIO

type CRIO struct {
	Socket string
	Runner CommandRunner
}

CRIO contains CRIO runtime state

func (*CRIO) Active

func (r *CRIO) Active() bool

Active returns if CRIO is active on the host

func (*CRIO) Available

func (r *CRIO) Available() error

Available returns an error if it is not possible to use this runtime on a host

func (*CRIO) ContainerLogCmd

func (r *CRIO) ContainerLogCmd(id string, len int, follow bool) string

ContainerLogCmd returns the command to retrieve the log for a container based on ID

func (*CRIO) DefaultCNI

func (r *CRIO) DefaultCNI() bool

DefaultCNI returns whether to use CNI networking by default

func (*CRIO) Disable

func (r *CRIO) Disable() error

Disable idempotently disables CRIO on a host

func (*CRIO) Enable

func (r *CRIO) Enable() error

Enable idempotently enables CRIO on a host

func (*CRIO) KillContainers

func (r *CRIO) KillContainers(ids []string) error

KillContainers removes containers based on ID

func (*CRIO) KubeletOptions

func (r *CRIO) KubeletOptions() map[string]string

KubeletOptions returns kubelet options for a runtime.

func (*CRIO) ListContainers

func (r *CRIO) ListContainers(filter string) ([]string, error)

ListContainers returns a list of managed by this container runtime

func (*CRIO) LoadImage

func (r *CRIO) LoadImage(path string) error

LoadImage loads an image into this runtime

func (*CRIO) Name

func (r *CRIO) Name() string

Name is a human readable name for CRIO

func (*CRIO) SocketPath

func (r *CRIO) SocketPath() string

SocketPath returns the path to the socket file for CRIO

func (*CRIO) StopContainers

func (r *CRIO) StopContainers(ids []string) error

StopContainers stops containers based on ID

func (*CRIO) Version added in v1.0.0

func (r *CRIO) Version() (string, error)

Version retrieves the current version of this runtime

type CommandRunner

type CommandRunner interface {
	Run(string) error
	CombinedOutput(string) (string, error)
}

CommandRunner is the subset of bootstrapper.CommandRunner this package consumes

type Config

type Config struct {
	// Type of runtime to create ("docker, "crio", etc)
	Type string
	// Custom path to a socket file
	Socket string
	// Runner is the CommandRunner object to execute commands with
	Runner CommandRunner
}

Config is runtime configuration

type Containerd

type Containerd struct {
	Socket string
	Runner CommandRunner
}

Containerd contains containerd runtime state

func (*Containerd) Active

func (r *Containerd) Active() bool

Active returns if containerd is active on the host

func (*Containerd) Available

func (r *Containerd) Available() error

Available returns an error if it is not possible to use this runtime on a host

func (*Containerd) ContainerLogCmd

func (r *Containerd) ContainerLogCmd(id string, len int, follow bool) string

ContainerLogCmd returns the command to retrieve the log for a container based on ID

func (*Containerd) DefaultCNI

func (r *Containerd) DefaultCNI() bool

DefaultCNI returns whether to use CNI networking by default

func (*Containerd) Disable

func (r *Containerd) Disable() error

Disable idempotently disables containerd on a host

func (*Containerd) Enable

func (r *Containerd) Enable() error

Enable idempotently enables containerd on a host

func (*Containerd) KillContainers

func (r *Containerd) KillContainers(ids []string) error

KillContainers removes containers based on ID

func (*Containerd) KubeletOptions

func (r *Containerd) KubeletOptions() map[string]string

KubeletOptions returns kubelet options for a containerd

func (*Containerd) ListContainers

func (r *Containerd) ListContainers(filter string) ([]string, error)

ListContainers returns a list of managed by this container runtime

func (*Containerd) LoadImage

func (r *Containerd) LoadImage(path string) error

LoadImage loads an image into this runtime

func (*Containerd) Name

func (r *Containerd) Name() string

Name is a human readable name for containerd

func (*Containerd) SocketPath

func (r *Containerd) SocketPath() string

SocketPath returns the path to the socket file for containerd

func (*Containerd) StopContainers

func (r *Containerd) StopContainers(ids []string) error

StopContainers stops containers based on ID

func (*Containerd) Version added in v1.0.0

func (r *Containerd) Version() (string, error)

Version retrieves the current version of this runtime

type Docker

type Docker struct {
	Socket string
	Runner CommandRunner
}

Docker contains Docker runtime state

func (*Docker) Active

func (r *Docker) Active() bool

Active returns if docker is active on the host

func (*Docker) Available

func (r *Docker) Available() error

Available returns an error if it is not possible to use this runtime on a host

func (*Docker) ContainerLogCmd

func (r *Docker) ContainerLogCmd(id string, len int, follow bool) string

ContainerLogCmd returns the command to retrieve the log for a container based on ID

func (*Docker) DefaultCNI

func (r *Docker) DefaultCNI() bool

DefaultCNI returns whether to use CNI networking by default

func (*Docker) Disable

func (r *Docker) Disable() error

Disable idempotently disables Docker on a host

func (*Docker) Enable

func (r *Docker) Enable() error

Enable idempotently enables Docker on a host

func (*Docker) KillContainers

func (r *Docker) KillContainers(ids []string) error

KillContainers forcibly removes a running container based on ID

func (*Docker) KubeletOptions

func (r *Docker) KubeletOptions() map[string]string

KubeletOptions returns kubelet options for a runtime.

func (*Docker) ListContainers

func (r *Docker) ListContainers(filter string) ([]string, error)

ListContainers returns a list of containers

func (*Docker) LoadImage

func (r *Docker) LoadImage(path string) error

LoadImage loads an image into this runtime

func (*Docker) Name

func (r *Docker) Name() string

Name is a human readable name for Docker

func (*Docker) SocketPath

func (r *Docker) SocketPath() string

SocketPath returns the path to the socket file for Docker

func (*Docker) StopContainers

func (r *Docker) StopContainers(ids []string) error

StopContainers stops a running container based on ID

func (*Docker) Version added in v1.0.0

func (r *Docker) Version() (string, error)

Version retrieves the current version of this runtime

type Manager

type Manager interface {
	// Name is a human readable name for a runtime
	Name() string
	// Version retrieves the current version of this runtime
	Version() (string, error)
	// Enable idempotently enables this runtime on a host
	Enable() error
	// Disable idempotently disables this runtime on a host
	Disable() error
	// Active returns whether or not a runtime is active on a host
	Active() bool
	// Available returns an error if it is not possible to use this runtime on a host
	Available() error

	// KubeletOptions returns kubelet options for a runtime.
	KubeletOptions() map[string]string
	// SocketPath returns the path to the socket file for a given runtime
	SocketPath() string
	// DefaultCNI returns whether to use CNI networking by default
	DefaultCNI() bool

	// Load an image idempotently into the runtime on a host
	LoadImage(string) error

	// ListContainers returns a list of managed by this container runtime
	ListContainers(string) ([]string, error)
	// KillContainers removes containers based on ID
	KillContainers([]string) error
	// StopContainers stops containers based on ID
	StopContainers([]string) error
	// ContainerLogCmd returns the command to retrieve the log for a container based on ID
	ContainerLogCmd(string, int, bool) string
}

Manager is a common interface for container runtimes

func New

func New(c Config) (Manager, error)

New returns an appropriately configured runtime

Jump to

Keyboard shortcuts

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