Provided by: containerd_1.7.24-0ubuntu1~20.04.1_amd64 bug

NAME

       containerd-config.toml - configuration file for containerd

SYNOPSIS

       The  config.toml  file  is  a  configuration  file  for the containerd daemon. The file must be placed at
       /etc/containerd/config.toml or specified with the --config option of containerd to be used by the daemon.
       If  the  file  does  not  exist  at  the  appropriate location or is not provided via the --config option
       containerd uses its default configuration settings, which can be displayed with the containerd  config(1)
       command.

DESCRIPTION

       The  TOML  file  used  to  configure  the  containerd daemon settings has a short list of global settings
       followed by a series of sections for specific areas of daemon configuration. There is also a section  for
       plugins  that  allows  each  containerd  plugin  to  have  an  area for plugin-specific configuration and
       settings.

FORMAT

       version : The version field in the config file specifies the config’s version. If no  version  number  is
       specified  inside  the config file then it is assumed to be a version 1 config and parsed as such. Please
       use version = 2 to enable version 2 config as version 1 has been deprecated.

       root : The root directory for containerd metadata. (Default: "/var/lib/containerd")

       state : The state directory for containerd (Default: "/run/containerd")

       plugin_dir : The directory for dynamic plugins to be stored

       [grpc] : Section for gRPC socket listener settings. Contains the following properties:

              • address (Default: "/run/containerd/containerd.sock")

              • tcp_addresstcp_tls_certtcp_tls_keyuid (Default: 0)

              • gid (Default: 0)

              • max_recv_message_sizemax_send_message_size

       [ttrpc] : Section for TTRPC settings. Contains properties:

              • address (Default: "")

              • uid (Default: 0)

              • gid (Default: 0)

       [debug] : Section to enable and configure a debug socket listener. Contains four properties:

              • address (Default: "/run/containerd/debug.sock")

              • uid (Default: 0)

              • gid (Default: 0)

              • level (Default: "info") sets the debug  log  level.  Supported  levels  are:  "trace",  "debug",
                "info", "warn", "error", "fatal", "panic"

              • format (Default: "text") sets log format. Supported formats are "text" and "json"

       [metrics] : Section to enable and configure a metrics listener. Contains two properties:

              • address (Default: "") Metrics endpoint does not listen by default

              • grpc_histogram (Default: false) Turn on or off gRPC histogram metrics

       disabled_plugins  : Disabled plugins are IDs of plugins to disable. Disabled plugins won't be initialized
       and started.

       required_plugins : Required plugins are IDs of required plugins. Containerd exits if any required  plugin
       doesn't exist or fails to be initialized or started.

       [plugins]  :  The  plugins  section  contains  configuration options exposed from installed plugins.  The
       following plugins are enabled by default and their settings  are  shown  below.   Plugins  that  are  not
       enabled by default will provide their own configuration values documentation.

              • [plugins."io.containerd.monitor.v1.cgroups"] has one option no_prometheus (Default: false)

              • [plugins."io.containerd.service.v1.diff-service"]  has one option default, a list by default set
                to ["walking"][plugins."io.containerd.gc.v1.scheduler"] has several options that perform advanced  tuning  for
                the scheduler:

                • pause_threshold is the maximum amount of time GC should be scheduled (Default: 0.02),

                • deletion_threshold  guarantees  GC  is  scheduled after n number of deletions (Default: 0 [not
                  triggered]),

                • mutation_threshold guarantees GC is scheduled after n number of database  mutations  (Default:
                  100),

                • schedule_delay  defines  the  delay  after trigger event before scheduling a GC (Default "0ms"
                  [immediate]),

                • startup_delay defines the delay after startup before scheduling a GC (Default "100ms")

              • [plugins."io.containerd.runtime.v2.task"] specifies options for configuring the runtime shim:

                • platforms specifies the list of supported platforms

                • sched_core Core scheduling is a feature that allows only trusted tasks to run concurrently  on
                  cpus sharing compute resources (eg: hyperthreads on a core). (Default: false)

              • [plugins."io.containerd.service.v1.tasks-service"] has performance options:

                • blockio_config_file  (Linux  only)  specifies path to blockio class definitions (Default: "").
                  Controls  I/O  scheduler  priority  and  bandwidth  throttling.   See  blockio   configuration
                  ⟨https://github.com/intel/goresctrl/blob/main/doc/blockio.md#configuration⟩ for details of the
                  file format.

                • rdt_config_file (Linux only) specifies path  to  a  configuration  used  for  configuring  RDT
                  (Default:  "").  Enables  support  for  Intel RDT, a technology for cache and memory bandwidth
                  management.                      See                     RDT                     configuration
                  ⟨https://github.com/intel/goresctrl/blob/main/doc/rdt.md#configuration⟩  for  details  of  the
                  file format.

       oom_score : The out of memory (OOM) score applied to the containerd daemon process (Default: 0)

       [cgroup] : Section for Linux cgroup specific settings

              • path (Default: "") Specify a custom cgroup path for created containers

       [proxy_plugins] : Proxy plugins configures plugins which are communicated to over gRPC

              • type (Default: "")

              • address (Default: "")

       timeouts : Timeouts specified as a duration <!-- [timeouts]
         "io.containerd.timeout.shim.cleanup" = "5s"
         "io.containerd.timeout.shim.load" = "5s"
         "io.containerd.timeout.shim.shutdown" = "3s"
         "io.containerd.timeout.task.state" = "2s" -->

       imports : Imports is a list of additional configuration files to include.  This allows to split the  main
       configuration  file  and  keep  some  sections  separately (for example vendors may keep a custom runtime
       configuration in a separate file without modifying the main config.toml).  Imported files will  overwrite
       simple fields like int or string (if not empty) and will append array and map fields.  Imported files are
       also versioned, and the version can't be higher than the main config.

       stream_processorsaccepts (Default: "[]") Accepts specific media-types

              • returns (Default: "") Returns the media-type

              • path (Default: "") Path or name of the binary

              • args (Default: "[]") Args to the binary

EXAMPLE

       The following is a complete config.toml default configuration example:

              version = 2

              root = "/var/lib/containerd"
              state = "/run/containerd"
              oom_score = 0
              imports = ["/etc/containerd/runtime_*.toml", "./debug.toml"]

              [grpc]
                address = "/run/containerd/containerd.sock"
                uid = 0
                gid = 0

              [debug]
                address = "/run/containerd/debug.sock"
                uid = 0
                gid = 0
                level = "info"

              [metrics]
                address = ""
                grpc_histogram = false

              [cgroup]
                path = ""

              [plugins]
                [plugins."io.containerd.monitor.v1.cgroups"]
                  no_prometheus = false
                [plugins."io.containerd.service.v1.diff-service"]
                  default = ["walking"]
                [plugins."io.containerd.gc.v1.scheduler"]
                  pause_threshold = 0.02
                  deletion_threshold = 0
                  mutation_threshold = 100
                  schedule_delay = 0
                  startup_delay = "100ms"
                [plugins."io.containerd.runtime.v2.task"]
                  platforms = ["linux/amd64"]
                  sched_core = true
                [plugins."io.containerd.service.v1.tasks-service"]
                  blockio_config_file = ""
                  rdt_config_file = ""

BUGS

       Please file any specific issues that you encounter at

       ⟨https://github.com/containerd/containerd⟩.

AUTHOR

       Phil Estes ⟨estesp@gmail.com

SEE ALSO

       ctr(8), containerd-config(8), containerd(8)

                                                   04/05/2022                     /etc/containerd/config.toml(5)