SYSTEM Cited by 2 sources
containerd¶
containerd (containerd.io, github.com/containerd/containerd) is the OCI-compatible container runtime that powers Kubernetes (by default) and Docker. CNCF graduated. Stub page — expand as sources cite specific subsystems.
Canonical wiki instance: the plugin import regression¶
containerd historically supported user-loadable plugins via
the stdlib plugin package, imported unconditionally in
plugin/plugin_go18.go.
Any Go program that transitively imports containerd (e.g. the
Datadog Agent) therefore imports
plugin — which puts the Go linker into
dynamically-linked mode
(concepts/go-plugin-dynamic-linking-implication) and disables
the linker's method dead-code elimination + forces retention of
every unexported method. Cost in the Agent: 245 MiB / ~20 % of
binary size / ~75 % of users affected.
Datadog upstreamed
PR #11203
adding a build tag that lets the plugin import be excluded
without breaking existing users. Applied in the Agent via
#32538 +
#32885.
Instance of patterns/upstream-the-fix.
Broader relevance¶
Every large Go program that depends on containerd — directly or transitively via Kubernetes, CRI-O, or container-aware telemetry agents — pays the same cost until it applies the build-tag fix.
Seen in¶
- sources/2026-02-18-datadog-how-we-reduced-agent-go-binaries-up-to-77-percent
— root cause of the Agent's 245-MiB
amd64-only regression. - sources/2024-03-07-flyio-fly-kubernetes-does-more-now — containerd is explicitly not used under Fly Kubernetes. Fly replaces the whole CRI layer with flyd + Firecracker + Fly init so that Pods become micro-VMs rather than shared-kernel containers — a canonical instance of patterns/primitive-mapping-k8s-to-cloud where containerd has no cloud-primitive analogue on Fly.