server

package
v1.2.0-rc.0 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2018 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadConfig

func LoadConfig(path string, v *Config) error

LoadConfig loads the containerd server config from the provided path

func LoadPlugins

func LoadPlugins(ctx context.Context, config *Config) ([]*plugin.Registration, error)

LoadPlugins loads all plugins into containerd and generates an ordered graph of all plugins.

Types

type CgroupConfig

type CgroupConfig struct {
	Path string `toml:"path"`
}

CgroupConfig provides cgroup configuration

type Config

type Config struct {
	// Root is the path to a directory where containerd will store persistent data
	Root string `toml:"root"`
	// State is the path to a directory where containerd will store transient data
	State string `toml:"state"`
	// GRPC configuration settings
	GRPC GRPCConfig `toml:"grpc"`
	// Debug and profiling settings
	Debug Debug `toml:"debug"`
	// Metrics and monitoring settings
	Metrics MetricsConfig `toml:"metrics"`
	// DisabledPlugins are IDs of plugins to disable. Disabled plugins won't be
	// initialized and started.
	DisabledPlugins []string `toml:"disabled_plugins"`
	// Plugins provides plugin specific configuration for the initialization of a plugin
	Plugins map[string]toml.Primitive `toml:"plugins"`
	// OOMScore adjust the containerd's oom score
	OOMScore int `toml:"oom_score"`
	// Cgroup specifies cgroup information for the containerd daemon process
	Cgroup CgroupConfig `toml:"cgroup"`
	// ProxyPlugins configures plugins which are communicated to over GRPC
	ProxyPlugins map[string]ProxyPlugin `toml:"proxy_plugins"`
	// contains filtered or unexported fields
}

Config provides containerd configuration data for the server

func (*Config) Decode

func (c *Config) Decode(id string, v interface{}) (interface{}, error)

Decode unmarshals a plugin specific configuration by plugin id

type Debug

type Debug struct {
	Address string `toml:"address"`
	UID     int    `toml:"uid"`
	GID     int    `toml:"gid"`
	Level   string `toml:"level"`
}

Debug provides debug configuration

type GRPCConfig

type GRPCConfig struct {
	Address        string `toml:"address"`
	UID            int    `toml:"uid"`
	GID            int    `toml:"gid"`
	MaxRecvMsgSize int    `toml:"max_recv_message_size"`
	MaxSendMsgSize int    `toml:"max_send_message_size"`
}

GRPCConfig provides GRPC configuration for the socket

type MetricsConfig

type MetricsConfig struct {
	Address       string `toml:"address"`
	GRPCHistogram bool   `toml:"grpc_histogram"`
}

MetricsConfig provides metrics configuration

type ProxyPlugin

type ProxyPlugin struct {
	Type    string `toml:"type"`
	Address string `toml:"address"`
}

ProxyPlugin provides a proxy plugin configuration

type Server

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

Server is the containerd main daemon

func New

func New(ctx context.Context, config *Config) (*Server, error)

New creates and initializes a new containerd server

func (*Server) ServeDebug

func (s *Server) ServeDebug(l net.Listener) error

ServeDebug provides a debug endpoint

func (*Server) ServeGRPC

func (s *Server) ServeGRPC(l net.Listener) error

ServeGRPC provides the containerd grpc APIs on the provided listener

func (*Server) ServeMetrics

func (s *Server) ServeMetrics(l net.Listener) error

ServeMetrics provides a prometheus endpoint for exposing metrics

func (*Server) Stop

func (s *Server) Stop()

Stop the containerd server canceling any open connections

Jump to

Keyboard shortcuts

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