Documentation

Index

Constants

View Source
const (
	// SharingPolicyShared represents the "shared" sharing policy
	SharingPolicyShared = "shared"
	// SharingPolicyIsolated represents the "isolated" sharing policy
	SharingPolicyIsolated = "isolated"
)

Variables

This section is empty.

Functions

func LoadConfig

func LoadConfig(path string, out *Config) error

    LoadConfig loads the containerd server config from the provided path

    func V1DisabledFilter

    func V1DisabledFilter(list []string) plugin.DisableFilter

      V1DisabledFilter matches based on ID

      func V2DisabledFilter

      func V2DisabledFilter(list []string) plugin.DisableFilter

        V2DisabledFilter matches based on URI

        Types

        type BoltConfig

        type BoltConfig struct {
        	// ContentSharingPolicy sets the sharing policy for content between
        	// namespaces.
        	//
        	// The default mode "shared" will make blobs available in all
        	// namespaces once it is pulled into any namespace. The blob will be pulled
        	// into the namespace if a writer is opened with the "Expected" digest that
        	// is already present in the backend.
        	//
        	// The alternative mode, "isolated" requires that clients prove they have
        	// access to the content by providing all of the content to the ingest
        	// before the blob is added to the namespace.
        	//
        	// Both modes share backing data, while "shared" will reduce total
        	// bandwidth across namespaces, at the cost of allowing access to any blob
        	// just by knowing its digest.
        	ContentSharingPolicy string `toml:"content_sharing_policy"`
        }

          BoltConfig defines the configuration values for the bolt plugin, which is loaded here, rather than back registered in the metadata package.

          func (*BoltConfig) Validate

          func (bc *BoltConfig) Validate() error

            Validate validates if BoltConfig is valid

            type CgroupConfig

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

              CgroupConfig provides cgroup configuration

              type Config

              type Config struct {
              	// Version of the config file
              	Version int `toml:"version"`
              	// 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"`
              	// PluginDir is the directory for dynamic plugins to be stored
              	PluginDir string `toml:"plugin_dir"`
              	// GRPC configuration settings
              	GRPC GRPCConfig `toml:"grpc"`
              	// TTRPC configuration settings
              	TTRPC TTRPCConfig `toml:"ttrpc"`
              	// 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"`
              	// RequiredPlugins are IDs of required plugins. Containerd exits if any
              	// required plugin doesn't exist or fails to be initialized or started.
              	RequiredPlugins []string `toml:"required_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"`
              	// Timeouts specified as a duration
              	Timeouts map[string]string `toml:"timeouts"`
              	// Imports are additional file path list to config files that can overwrite main config file fields
              	Imports []string `toml:"imports"`
              
              	StreamProcessors map[string]StreamProcessor `toml:"stream_processors"`
              }

                Config provides containerd configuration data for the server

                func (*Config) Decode

                func (c *Config) Decode(p *plugin.Registration) (interface{}, error)

                  Decode unmarshals a plugin specific configuration by plugin id

                  func (*Config) GetVersion

                  func (c *Config) GetVersion() int

                    GetVersion returns the config file's version

                    func (*Config) ValidateV2

                    func (c *Config) ValidateV2() error

                      ValidateV2 validates the config for a v2 file

                      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"`
                        	TCPAddress     string `toml:"tcp_address"`
                        	TCPTLSCert     string `toml:"tcp_tls_cert"`
                        	TCPTLSKey      string `toml:"tcp_tls_key"`
                        	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 StreamProcessor

                              type StreamProcessor struct {
                              	// Accepts specific media-types
                              	Accepts []string `toml:"accepts"`
                              	// Returns the media-type
                              	Returns string `toml:"returns"`
                              	// Path or name of the binary
                              	Path string `toml:"path"`
                              	// Args to the binary
                              	Args []string `toml:"args"`
                              }

                                StreamProcessor provides configuration for diff content processors

                                type TTRPCConfig

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

                                  TTRPCConfig provides TTRPC configuration for the socket

                                  Source Files