Skip to content

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

Last updated · 200 distilled / 1,178 read