This allows other packages and plugins to easily exec things without
racing with the reaper.
The reaper is mostly needed in the shim but can be removed in containerd
in favor of the `exec.Cmd` apis
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This enables the grpc timing histograms via a config option as they are
metrics of high cardinality.
This is useful for perf testing and debugging but should not be the
default on production systems unless needed.
```toml
[metrics]
grpc_histogram = true
```
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This subreaper should always be turned on for containerd unless
explicitly needed for it to be off.
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Since these are registered and the interface is what matters, these
Service types do not need to be exported.
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This handles signals first thing on boot so that plugins are able to
boot with the reaper enabled.
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This adds a config option to place the `containerd` daemon process into
a cgroup so that proper resource usage and accounting can be applied.
It defaults to not being place inside a cgroup and will create a new
cgroup if the `path` does not exist in the config or join an existing
`path` if it already exists.
```toml
[cgroup]
path = "/containerd"
```
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Allow plugins to be mapped and returned by their ID.
Add skip plugin to allow plugins to decide whether they should
be loaded.
Signed-off-by: Derek McGowan <derek@mcgstyle.net>