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