Skip to content
containerd 1.0.0-beta.0

After a large push for stability changes, we now present containerd
1.0.0-beta.0.

With this release, going forward, our focus will be on not breaking
integrations. If we do push a beta that breaks something, please let us
know immediately so we can update our processes and procedures to avoid
breaks in the future.

While we are making the above the committment, we will make exceptions
if critical design changes are required or if there are security issues.

Release Process

The release process and versioning guarantees have been laid out in
RELEASES.md. It identifies the release process, versioning, branching,
support horizon and backporting processes for containerd.

Upgrading

As a matter of policy, there is no compatibility with previous alpha
releases, so it is recommended that existing installations be cleared
out to avoid future issues. Existing clients should work but one may
encounter compilation errors due to changes.

The name of the field `Container.RootFS` has been changed to
`Container.SnapshotKey`. Existing clients should work with out change,
but when upgrading deamons, the storage location of this value has
changed. If this is a problem, please reach out and we can work out a
migration solution.

Metrics

The main addition for this release is support for inline container
metrics access on the Tasks service. The container metrics, previously
available via the prometheus API, are now made available directly
through the GRPC API to support use cases that are focused on single
containers rather than aggregrates.

Contributors

Akihiro Suda
Darren Stahl
Derek McGowan
Kenfe-Mickaël Laventure
Lantao Liu
Michael Crosby
Phil Estes
Stephen Day

Changes

a2e89919 release: prepare 1.0.0-beta.0
3b282ba7 Merge pull request #1480 from dmcgowan/unique-unpack-keys
09f24214 Merge pull request #1466 from AkihiroSuda/snapshotkey
597d0d76 Support simultaneous unpacking of same layer
e30e0c8b api: RootFS -> SnapshotKey
8b633869 Merge pull request #1479 from stevvooe/baseline-api-txt
e66d1a79 Merge pull request #1468 from crosbymichael/stats
157cfb1a api, linux/runcopts: ensure output is current
2ed3c62e Update cgroups to 5933ab4dc4f7caa3a73a1dc141bd11f4
843b35c9 Merge pull request #1478 from estesp/freebsd-compile
8b938b00 Fix FreeBSD compilation
e0f7b5f1 Merge pull request #1477 from stevvooe/revert-rootfs-init
e1eeb0e0 Merge pull request #1475 from dmcgowan/content-commit-context
4d8f7895 Revert "rootfs: remove unused functions"
9613acb2 Add context to content commit
bf08f7cd Merge pull request #1474 from mlaventure/update-gorunc
f766801a Update go-runc to b3c048c028ddd789c6f9510c597f8b9c62f25359
026ebe14 Merge pull request #1472 from dmcgowan/fix-gcr-registries
48afd445 Support blob commit returning a 200 instead of 201
4c5ed9c0 Move metrics requests to services
c07f7cab Add task.Metrics to windows
8510512e Add test for client metrics
f45269be Update cgroups to 4be134fe43b9e207558365ad2675546b
ed459528 Use cgroups proto for prom metrics
0973a084 Update cgroups to e364e5d4183340acdf51f943ba033543
697dcdd4 Refactor task service metrics
16fcb8dc Merge pull request #1470 from crosbymichael/lossy
a6aa3ccd Merge pull request #1469 from crosbymichael/sys
f5d81a63 Return grpc errs from task service
887f97f2 Merge pull request #1463 from stevvooe/switch-snapshot-kind
f7dc0ab9 Update golang/sys to 7ddbeae9ae08c6a06a59597f0c9ed
1c311997 snapshot: use switch to parse snapshot.Kind
f4b84987 Merge pull request #1373 from AkihiroSuda/fix-snapshot-view
a560e5e0 mount: fix read-only bind (#1368)
b4cc42d0 Merge pull request #1460 from mlaventure/pid-host-kill-init
939ad321 Update go-runc to ba22f6a82e52be3be4eb4a00000fe816f4b41c2e
a6fb9bc1 reaper: Return an error if exit status is not 0
92772bd4 linux: Ensure all init children are dead when it exits
9d251cbd Delete bundle dir on restore if we're not debugging the shim
d3e11325 Merge pull request #1453 from crosbymichael/oom
378e3343 Merge pull request #1362 from AkihiroSuda/ctr-snapshot-info
b04e408a Convert OOM Metric to Const
93395c0b Merge pull request #1462 from stevvooe/fieldpath-fix
5cc10860 service/containers: correctly plumb fieldpaths
71820855 Merge pull request #1447 from stevvooe/nice-events
4291fb48 Merge pull request #1454 from
mlaventure/per-container-runtime-binary
a3f0bbaa Merge pull request #1459 from crosbymichael/exec-wait
5614e9c7 Wait on exec process not task
3e2a9c60 Merge pull request #1458 from AkihiroSuda/net-host
dd05301b Merge pull request #1457 from AkihiroSuda/nit-doc
053deb5c ctr: net-host: bind-mount host /etc/{hosts,resolv.conf}
37896edf RELEASES.md: Go API -> Go client API
525bffd1 snapshot: support JSON marshalling for Info
fef7f3ad ctr: add `ctr snapshot info <key>`
1b791708 linux: Add RuntimeRoot to RuncOptions
ab0cb4e7 linux: Honor RuncOptions if set on container
e0d8cb13 Fix retrieval of container Runtime.Options field
22df20b3 Merge pull request #1452 from crosbymichael/reaper2
6b4c4a29 Update reaper for multipe subscribers
9255e752 containerd: export Subscribe method on client
c2e894c3 Merge pull request #1448 from darrenstahlmsft/ConsoleSize
c1c2aaff Merge pull request #1444 from Random-Liu/add-image-config
04c6bf42 Ensure ConsoleSize is not nil
76e016ca Add image config function.
0baecaa7 Merge pull request #1439 from
mlaventure/allow-setting-rutime-opts
49e3d43f Merge pull request #1443 from crosbymichael/daemon-cgroup
932246b5 Place containerd inside cgroup
c3711c38 Merge pull request #1319 from mlaventure/handle-sigkilled-shim
744308a9 Merge pull request #1440 from mlaventure/fix-shim-panic
42b131c1 Allow setting runtime options when using WithRuntime()
1c92c0ec Fix panic in CloseIO when not Stdin was allocated for a process
456e1697 Merge pull request #1438 from crosbymichael/apparmor
7dd87c35 Merge pull request #1436 from crosbymichael/security
2b46989d Add default apparmor profile generation
edd1da85 Use configured runtime when cleaning up after dead shim
700120c0 Don't build binaries when running `make vet`
3f34c421 Add missing "/tasks/exec-started" event topic
dbd3eff1 containerd: add state flag to specify state dir
d5415671 Handle SIGKILL'ed shim while daemon is running
c23f29eb containerd-shim: Don't try to delete container twice
eb4abac9 linux: Prevent deadlock in reaper.WaitPid()
9923a49e linux/shim: Kill container upon SIG{TERM,KILL}
6ec92ddb Merge pull request #1437 from darrenstahlmsft/LCOWConfig
d0b61366 Split Windows config generation to support LCOW
4a782f7b Vendor opengcs and hcsshim
6b6ac8e9 Add security mailing list to readme and releases
cf09e326 Merge pull request #1435 from Random-Liu/with-process-kill-all
2f237b2f WithProcessKill should kill all processes.
31b5bb91 Merge pull request #1434 from crosbymichael/kill-all
ed6b8fb0 Add KillOpts for killing all processes
a1976187 Merge pull request #1428 from mlaventure/go1.9
b9879d46 Merge pull request #1433 from Random-Liu/fix-with-user-id
410bcea2 WithUserID should not return error when /etc/passwd doesn't exist.
360e46dd Merge pull request #1429 from dmcgowan/client-use-root-path
44e266b7 Use RootPath for resolving path inside of an image
e4a77fcc Merge pull request #1425 from Random-Liu/add-with-user-id
bb9e2bfa Add WithUserID which gets uid and gid from image's /etc/passwd.
ab1968d5 Merge pull request #1427 from crosbymichael/states
fb427da1 Merge pull request #1424 from crosbymichael/load-exec
1a77db1a Merge pull request #1423 from crosbymichael/events
96749709 Add procesStates for shim processes
34c25e07 Use golang 1.9 on AppVeyor CI
77b98f05 Use golang 1.9 on Travis CI
b3303b55 Add LoadProcess api to Task
a6ce1ef2 Merge pull request #1413 from crosbymichael/user-opts
2052b76f Change WithSpec to take SpecOpts
421c607c Add Events client method
5c7f6718 Add libcontainer/user package for passwd parsing
f66f0fb7 Update windows SpecOpts in tests
f436f4c8 Add WithUsername spec opt
c601606f Move spec generation to Container Create
fa14f2ef Add context and client to SpecOpts
ba69f5d4 Add WithUserIDs SpecOpt