*: bump up Go dependencies
This started off as 'let's bump gVisor'. However, pulling that thread
resulted in quite a few things that also required bumping for the build
to actually work. Here I come back from a day in the Bazel mines,
bearing fruits of my labor.
Notable changes:
- bump up gVisor
- bump up containerd
- bump up Bazel
- bump up rules_go, rules_docker, Gazelle
- use google.golang.org/protobuf (the 'new' go proto package)
- bump up gRPC (but not too much, as go-etcd is still straggling)
Notable effects:
- new gVisor supports TTY allocation (kubectl run -it
--image=ubuntu:20.04 ubuntu bash now works!)
Notable notes:
- gVisor shim has new been rolled into the main gVisor package and is
slightly easier to build (we can get rid of a bunch of patches).
- Opencontainers' runtime-specs now follow containerd instead of gVisor
- gVisor had to be taught to use the slightly newer runtime-specs via a
new patch.
- go_rule() in Starlark is now deprecated, and we had to change our
Starlark rule definitions to use rule() instead. We also had to patch
gVisor to do that (as there hasn't yet been a release that rolled
this up).
- Gazelle now supports different naming schemes for generated Go
targets - either the old //foo/bar:go_default_library scheme, or a
new and nicer //foo/bar:bar scheme. We currently force the usage of
the old scheme, as switching over is probably not going to be easy
(we use a lot of external Bazel files, and we have to wait for their
compatibility with the new scheme first).
- New Bazel/rules_go sets a TMPDIR long enough to generate paths (via
ioutil.TempDir) to which sockets cannot be bound (108-byte limit).
- The new protobuf API is incompatible with gogoproto. containerd/ttrpc
uses gogoproto, but we are smart enough to pull in the old protobuf
library as gogoproto's transitive dep. However, ttrpc also wants to
use some proto-generated grpc bits, and that doesn't work. We have to
pull in a ttrpc fork from a PR that hasn't yet been merged that fixes
this issue.
Test Plan: Refactor only, should be covered by tests.
X-Origin-Diff: phab/D689
GitOrigin-RevId: 1188c0605d25e7f40307fab5fd96e7019f3a9171
diff --git a/third_party/go/patches/gvisor-build-against-newer-runtime-specs.patch b/third_party/go/patches/gvisor-build-against-newer-runtime-specs.patch
new file mode 100644
index 0000000..f653492
--- /dev/null
+++ b/third_party/go/patches/gvisor-build-against-newer-runtime-specs.patch
@@ -0,0 +1,41 @@
+Copyright 2020 The Monogon Project Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+
+From 9fc5e36f4e0bd691fc502372ebf837d24fbe5297 Mon Sep 17 00:00:00 2001
+From: Serge Bazanski <serge@nexantic.com>
+Date: Fri, 15 Jan 2021 16:22:33 +0100
+Subject: [PATCH] Build against new opencontainers runtime-specs
+Company: nexantic GmbH
+
+---
+ runsc/container/container.go | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/runsc/container/container.go b/runsc/container/container.go
+index 418a27beb..8508ded5a 100644
+--- a/runsc/container/container.go
++++ b/runsc/container/container.go
+@@ -747,7 +747,7 @@ func (c *Container) State() specs.State {
+ return specs.State{
+ Version: specs.Version,
+ ID: c.ID,
+- Status: c.Status.String(),
++ Status: specs.ContainerState(c.Status.String()),
+ Pid: c.SandboxPid(),
+ Bundle: c.BundleDir,
+ }
+--
+2.26.2
+
diff --git a/third_party/go/patches/gvisor-containerd-shim-build.patch b/third_party/go/patches/gvisor-containerd-shim-build.patch
deleted file mode 100644
index 3431f2e..0000000
--- a/third_party/go/patches/gvisor-containerd-shim-build.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-Copyright 2020 The Monogon Project Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-From d92dc4195d4de5149e7e55890fa856837a35217e Mon Sep 17 00:00:00 2001
-From: Lorenz Brun <lorenz@brun.one>
-Date: Mon, 4 May 2020 15:33:40 +0200
-Subject: [PATCH] Reflect code patches in Bazel
-
----
- cmd/containerd-shim-runsc-v1/BUILD.bazel | 1 +
- cmd/gvisor-containerd-shim/BUILD.bazel | 4 ++--
- pkg/v1/proc/BUILD.bazel | 3 ++-
- pkg/v1/shim/BUILD.bazel | 5 +++--
- pkg/v2/BUILD.bazel | 14 ++++++++------
- 5 files changed, 16 insertions(+), 11 deletions(-)
-
-diff --git a/cmd/gvisor-containerd-shim/BUILD.bazel b/cmd/gvisor-containerd-shim/BUILD.bazel
-index 8478746..f6a6fa2 100644
---- a/cmd/gvisor-containerd-shim/BUILD.bazel
-+++ b/cmd/gvisor-containerd-shim/BUILD.bazel
-@@ -14,9 +14,9 @@ go_library(
- "@com_github_burntsushi_toml//:go_default_library",
- "@com_github_containerd_containerd//events:go_default_library",
- "@com_github_containerd_containerd//namespaces:go_default_library",
-- "@com_github_containerd_containerd//runtime/v1/linux/proc:go_default_library",
-- "@com_github_containerd_containerd//runtime/v1/shim:go_default_library",
-+ "@com_github_containerd_containerd//pkg/process:go_default_library",
- "@com_github_containerd_containerd//runtime/v1/shim/v1:go_default_library",
-+ "@com_github_containerd_containerd//sys/reaper:go_default_library",
- "@com_github_containerd_ttrpc//:go_default_library",
- "@com_github_containerd_typeurl//:go_default_library",
- "@com_github_gogo_protobuf//types:go_default_library",
-diff --git a/pkg/v1/proc/BUILD.bazel b/pkg/v1/proc/BUILD.bazel
-index 8ef457c..1bf9228 100644
---- a/pkg/v1/proc/BUILD.bazel
-+++ b/pkg/v1/proc/BUILD.bazel
-@@ -21,7 +21,8 @@ go_library(
- "@com_github_containerd_containerd//errdefs:go_default_library",
- "@com_github_containerd_containerd//log:go_default_library",
- "@com_github_containerd_containerd//mount:go_default_library",
-- "@com_github_containerd_containerd//runtime/proc:go_default_library",
-+ "@com_github_containerd_containerd//pkg/process:go_default_library",
-+ "@com_github_containerd_containerd//pkg/stdio:go_default_library",
- "@com_github_containerd_fifo//:go_default_library",
- "@com_github_containerd_go_runc//:go_default_library",
- "@com_github_gogo_protobuf//types:go_default_library",
-diff --git a/pkg/v1/shim/BUILD.bazel b/pkg/v1/shim/BUILD.bazel
-index a5d83c4..2129cd8 100644
---- a/pkg/v1/shim/BUILD.bazel
-+++ b/pkg/v1/shim/BUILD.bazel
-@@ -20,11 +20,12 @@ go_library(
- "@com_github_containerd_containerd//log:go_default_library",
- "@com_github_containerd_containerd//mount:go_default_library",
- "@com_github_containerd_containerd//namespaces:go_default_library",
-+ "@com_github_containerd_containerd//pkg/process:go_default_library",
-+ "@com_github_containerd_containerd//pkg/stdio:go_default_library",
- "@com_github_containerd_containerd//runtime:go_default_library",
- "@com_github_containerd_containerd//runtime/linux/runctypes:go_default_library",
-- "@com_github_containerd_containerd//runtime/proc:go_default_library",
-- "@com_github_containerd_containerd//runtime/v1/shim:go_default_library",
- "@com_github_containerd_containerd//runtime/v1/shim/v1:go_default_library",
-+ "@com_github_containerd_containerd//sys/reaper:go_default_library",
- "@com_github_containerd_fifo//:go_default_library",
- "@com_github_containerd_typeurl//:go_default_library",
- "@com_github_gogo_protobuf//types:go_default_library",
-diff --git a/pkg/v2/BUILD.bazel b/pkg/v2/BUILD.bazel
-index a7a6abb..d61b785 100644
---- a/pkg/v2/BUILD.bazel
-+++ b/pkg/v2/BUILD.bazel
-@@ -16,20 +16,21 @@ go_library(
- "//pkg/v1/utils:go_default_library",
- "//pkg/v2/options:go_default_library",
- "@com_github_burntsushi_toml//:go_default_library",
-- "@com_github_containerd_cgroups//:go_default_library",
-+ "@com_github_containerd_cgroups//stats/v1:go_default_library",
- "@com_github_containerd_console//:go_default_library",
- "@com_github_containerd_containerd//api/events:go_default_library",
- "@com_github_containerd_containerd//api/types/task:go_default_library",
- "@com_github_containerd_containerd//errdefs:go_default_library",
-- "@com_github_containerd_containerd//events:go_default_library",
- "@com_github_containerd_containerd//log:go_default_library",
- "@com_github_containerd_containerd//mount:go_default_library",
- "@com_github_containerd_containerd//namespaces:go_default_library",
-+ "@com_github_containerd_containerd//pkg/process:go_default_library",
-+ "@com_github_containerd_containerd//pkg/stdio:go_default_library",
- "@com_github_containerd_containerd//runtime:go_default_library",
- "@com_github_containerd_containerd//runtime/linux/runctypes:go_default_library",
-- "@com_github_containerd_containerd//runtime/proc:go_default_library",
- "@com_github_containerd_containerd//runtime/v2/shim:go_default_library",
- "@com_github_containerd_containerd//runtime/v2/task:go_default_library",
-+ "@com_github_containerd_containerd//sys/reaper:go_default_library",
- "@com_github_containerd_cri//pkg/api/runtimeoptions/v1:go_default_library",
- "@com_github_containerd_fifo//:go_default_library",
- "@com_github_containerd_typeurl//:go_default_library",
-@@ -44,20 +45,21 @@ go_library(
- "//pkg/v1/utils:go_default_library",
- "//pkg/v2/options:go_default_library",
- "@com_github_burntsushi_toml//:go_default_library",
-- "@com_github_containerd_cgroups//:go_default_library",
-+ "@com_github_containerd_cgroups//stats/v1:go_default_library",
- "@com_github_containerd_console//:go_default_library",
- "@com_github_containerd_containerd//api/events:go_default_library",
- "@com_github_containerd_containerd//api/types/task:go_default_library",
- "@com_github_containerd_containerd//errdefs:go_default_library",
-- "@com_github_containerd_containerd//events:go_default_library",
- "@com_github_containerd_containerd//log:go_default_library",
- "@com_github_containerd_containerd//mount:go_default_library",
- "@com_github_containerd_containerd//namespaces:go_default_library",
-+ "@com_github_containerd_containerd//pkg/process:go_default_library",
-+ "@com_github_containerd_containerd//pkg/stdio:go_default_library",
- "@com_github_containerd_containerd//runtime:go_default_library",
- "@com_github_containerd_containerd//runtime/linux/runctypes:go_default_library",
-- "@com_github_containerd_containerd//runtime/proc:go_default_library",
- "@com_github_containerd_containerd//runtime/v2/shim:go_default_library",
- "@com_github_containerd_containerd//runtime/v2/task:go_default_library",
-+ "@com_github_containerd_containerd//sys/reaper:go_default_library",
- "@com_github_containerd_cri//pkg/api/runtimeoptions/v1:go_default_library",
- "@com_github_containerd_fifo//:go_default_library",
- "@com_github_containerd_typeurl//:go_default_library",
---
-2.25.1
-
diff --git a/third_party/go/patches/gvisor-containerd-shim-nogo.patch b/third_party/go/patches/gvisor-containerd-shim-nogo.patch
deleted file mode 100644
index 73da277..0000000
--- a/third_party/go/patches/gvisor-containerd-shim-nogo.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Copyright 2020 The Monogon Project Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-From d926d6f44be46c7dbc932247c0cd3daf6a34586f Mon Sep 17 00:00:00 2001
-From: Lorenz Brun <lorenz@brun.one>
-Date: Mon, 4 May 2020 15:16:58 +0200
-Subject: [PATCH] Remove unreachable code
-
-Going upstream as https://github.com/google/gvisor-containerd-shim/pull/59
-
----
- pkg/v1/proc/deleted_state.go | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/pkg/v1/proc/deleted_state.go b/pkg/v1/proc/deleted_state.go
-index 95b4406..b023384 100644
---- a/pkg/v1/proc/deleted_state.go
-+++ b/pkg/v1/proc/deleted_state.go
-@@ -38,12 +38,10 @@ func (s *deletedState) Start(ctx context.Context) error {
- }
-
- func (s *deletedState) Delete(ctx context.Context) error {
-- return errors.Errorf("cannot delete a deleted process")
- return errors.Wrap(errdefs.ErrNotFound, "cannot delete a deleted process")
- }
-
- func (s *deletedState) Kill(ctx context.Context, sig uint32, all bool) error {
-- return errors.Errorf("cannot kill a deleted process")
- return errors.Wrap(errdefs.ErrNotFound, "cannot kill a deleted process")
- }
-
---
-2.25.1
-
diff --git a/third_party/go/patches/gvisor-containerd-shim.patch b/third_party/go/patches/gvisor-containerd-shim.patch
deleted file mode 100644
index 124e1d3..0000000
--- a/third_party/go/patches/gvisor-containerd-shim.patch
+++ /dev/null
@@ -1,895 +0,0 @@
-Copyright 2020 The Monogon Project Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-From 0d5bed5d74a0f852a7c61db6f5f2c0a61c9fa84c Mon Sep 17 00:00:00 2001
-From: Ian Lewis <ianlewis@google.com>
-Date: Thu, 16 Apr 2020 02:38:33 -0400
-Subject: [PATCH] Update to containerd 1.3.4
-
----
- cmd/gvisor-containerd-shim/main.go | 15 +--
- go.mod | 52 ++++----
- go.sum | 208 +++++++++++++++++++++++++++++
- pkg/v1/proc/deleted_state.go | 4 +-
- pkg/v1/proc/exec.go | 8 +-
- pkg/v1/proc/init.go | 21 +--
- pkg/v1/proc/init_state.go | 10 +-
- pkg/v1/shim/platform.go | 4 +-
- pkg/v1/shim/service.go | 13 +-
- pkg/v2/service.go | 47 ++++---
- pkg/v2/service_linux.go | 4 +-
- 11 files changed, 302 insertions(+), 84 deletions(-)
-
-diff --git a/cmd/gvisor-containerd-shim/main.go b/cmd/gvisor-containerd-shim/main.go
-index ea26aa1..a9c6a9f 100644
---- a/cmd/gvisor-containerd-shim/main.go
-+++ b/cmd/gvisor-containerd-shim/main.go
-@@ -36,9 +36,9 @@ import (
-
- "github.com/containerd/containerd/events"
- "github.com/containerd/containerd/namespaces"
-- "github.com/containerd/containerd/runtime/v1/linux/proc"
-- containerdshim "github.com/containerd/containerd/runtime/v1/shim"
-+ "github.com/containerd/containerd/pkg/process"
- shimapi "github.com/containerd/containerd/runtime/v1/shim/v1"
-+ "github.com/containerd/containerd/sys/reaper"
- "github.com/containerd/ttrpc"
- "github.com/containerd/typeurl"
- ptypes "github.com/gogo/protobuf/types"
-@@ -73,7 +73,7 @@ func init() {
- flag.StringVar(&workdirFlag, "workdir", "", "path used to storge large temporary data")
- // Containerd default to runc, unless another runtime is explicitly specified.
- // We keep the same default to make the default behavior consistent.
-- flag.StringVar(&runtimeRootFlag, "runtime-root", proc.RuncRoot, "root directory for the runtime")
-+ flag.StringVar(&runtimeRootFlag, "runtime-root", process.RuncRoot, "root directory for the runtime")
- // currently, the `containerd publish` utility is embedded in the daemon binary.
- // The daemon invokes `containerd-shim -containerd-binary ...` with its own os.Executable() path.
- flag.StringVar(&containerdBinaryFlag, "containerd-binary", "containerd", "path to containerd binary (used for `containerd publish`)")
-@@ -229,8 +229,7 @@ func setupSignals() (chan os.Signal, error) {
- signal.Notify(signals, unix.SIGTERM, unix.SIGINT, unix.SIGCHLD, unix.SIGPIPE)
- // make sure runc is setup to use the monitor
- // for waiting on processes
-- // TODO(random-liu): Move shim/reaper.go to a separate package.
-- runsc.Monitor = containerdshim.Default
-+ runsc.Monitor = reaper.Default
- // set the shim as the subreaper for all orphaned processes created by the container
- if err := system.SetSubreaper(1); err != nil {
- return nil, err
-@@ -251,7 +250,7 @@ func handleSignals(logger *logrus.Entry, signals chan os.Signal, server *ttrpc.S
- case s := <-signals:
- switch s {
- case unix.SIGCHLD:
-- if err := containerdshim.Reap(); err != nil {
-+ if err := reaper.Reap(); err != nil {
- logger.WithError(err).Error("reap exit status")
- }
- case unix.SIGTERM, unix.SIGINT:
-@@ -305,11 +304,11 @@ func (l *remoteEventsPublisher) Publish(ctx context.Context, topic string, event
- }
- cmd := exec.CommandContext(ctx, containerdBinaryFlag, "--address", l.address, "publish", "--topic", topic, "--namespace", ns)
- cmd.Stdin = bytes.NewReader(data)
-- c, err := containerdshim.Default.Start(cmd)
-+ c, err := reaper.Default.Start(cmd)
- if err != nil {
- return err
- }
-- status, err := containerdshim.Default.Wait(cmd, c)
-+ status, err := reaper.Default.Wait(cmd, c)
- if err != nil {
- return err
- }
-diff --git a/go.mod b/go.mod
-index f15f829..5ae0d2e 100644
---- a/go.mod
-+++ b/go.mod
-@@ -1,35 +1,37 @@
- module github.com/google/gvisor-containerd-shim
-
--go 1.12
-+go 1.14
-
- require (
-- github.com/BurntSushi/toml v0.3.0
-- github.com/Microsoft/go-winio v0.4.14 // indirect
-- github.com/Microsoft/hcsshim v0.8.6 // indirect
-- github.com/containerd/cgroups v0.0.0-20190328223300-4994991857f9
-+ github.com/BurntSushi/toml v0.3.1
-+ github.com/Microsoft/hcsshim v0.8.7 // indirect
-+ github.com/containerd/cgroups v0.0.0-20200407151229-7fc7a507c04c
- github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1
-- github.com/containerd/containerd v0.0.0-20190510190154-d0319ec44af6
-- github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02 // indirect
-+ github.com/containerd/containerd v1.3.4
-+ github.com/containerd/continuity v0.0.0-20200413184840-d3ef23f19fbb // indirect
- github.com/containerd/cri v0.0.0-20190308093238-8a0bd84b9a4c
-- github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260
-+ github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b
- github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3
-- github.com/containerd/ttrpc v0.0.0-20190411181408-699c4e40d1e7
-- github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd
-- github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b // indirect
-- github.com/docker/go-units v0.3.1 // indirect
-- github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55 // indirect
-- github.com/gogo/protobuf v1.0.0
-- github.com/golang/protobuf v1.1.0 // indirect
-- github.com/google/go-cmp v0.3.1 // indirect
-- github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2 // indirect
-+ github.com/containerd/ttrpc v1.0.0
-+ github.com/containerd/typeurl v1.0.0
-+ github.com/docker/distribution v2.7.1+incompatible // indirect
-+ github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c // indirect
-+ github.com/gogo/googleapis v1.3.2 // indirect
-+ github.com/gogo/protobuf v1.3.1
-+ github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect
-+ github.com/golang/protobuf v1.4.0 // indirect
-+ github.com/hashicorp/golang-lru v0.5.4 // indirect
-+ github.com/opencontainers/image-spec v1.0.1 // indirect
- github.com/opencontainers/runc v1.0.0-rc8
-- github.com/opencontainers/runtime-spec v0.0.0-20180909173843-eba862dc2470
-- github.com/pkg/errors v0.8.1
-- github.com/sirupsen/logrus v1.4.1
-- golang.org/x/net v0.0.0-20170716174642-b3756b4b77d7 // indirect
-- golang.org/x/sync v0.0.0-20190423024810-112230192c58 // indirect
-- golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b
-- google.golang.org/genproto v0.0.0-20170523043604-d80a6e20e776 // indirect
-- google.golang.org/grpc v1.12.0
-+ github.com/opencontainers/runtime-spec v1.0.2
-+ github.com/pkg/errors v0.9.1
-+ github.com/sirupsen/logrus v1.5.0
-+ github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2 // indirect
-+ go.opencensus.io v0.22.3 // indirect
-+ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e // indirect
-+ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a // indirect
-+ golang.org/x/sys v0.0.0-20200413165638-669c56c373c4
-+ google.golang.org/genproto v0.0.0-20200413115906-b5235f65be36 // indirect
-+ google.golang.org/grpc v1.28.1
- gotest.tools v2.2.0+incompatible // indirect
- )
-diff --git a/go.sum b/go.sum
-index 93f2f1d..2fa699d 100644
---- a/go.sum
-+++ b/go.sum
-@@ -1,67 +1,275 @@
-+bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8=
-+cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
- github.com/BurntSushi/toml v0.3.0 h1:e1/Ivsx3Z0FVTV0NSOv/aVgbUWyQuzj7DDnFblkRvsY=
- github.com/BurntSushi/toml v0.3.0/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-+github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
-+github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
- github.com/Microsoft/go-winio v0.4.14 h1:+hMXMk01us9KgxGb7ftKQt2Xpf5hH/yky+TDA+qxleU=
- github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
-+github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 h1:ygIc8M6trr62pF5DucadTWGdEB4mEyvzi0e2nbcmcyA=
-+github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw=
- github.com/Microsoft/hcsshim v0.8.6 h1:ZfF0+zZeYdzMIVMZHKtDKJvLHj76XCuVae/jNkjj0IA=
- github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
-+github.com/Microsoft/hcsshim v0.8.7 h1:ptnOoufxGSzauVTsdE+wMYnCWA301PdoN4xg5oRdZpg=
-+github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ=
-+github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
-+github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
-+github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg=
-+github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-+github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
- github.com/containerd/cgroups v0.0.0-20190328223300-4994991857f9 h1:LmZz7ns2YaWWJ6m17esVvIMNOfKcw+f/sCneqxKawB4=
- github.com/containerd/cgroups v0.0.0-20190328223300-4994991857f9/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI=
-+github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f h1:tSNMc+rJDfmYntojat8lljbt1mgKNpTxUZJsSzJ9Y1s=
-+github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko=
-+github.com/containerd/cgroups v0.0.0-20200407151229-7fc7a507c04c h1:BRbZO594sFDSfkqApcikeNRjePj+rJNoh4waZgefcEE=
-+github.com/containerd/cgroups v0.0.0-20200407151229-7fc7a507c04c/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM=
- github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1 h1:uict5mhHFTzKLUCufdSLym7z/J0CbBJT59lYbP9wtbg=
- github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw=
- github.com/containerd/containerd v0.0.0-20190510190154-d0319ec44af6 h1:BmZa1bGjKctYrIbyjbhZJlGvHceJASpdW5pIDSQcw1E=
- github.com/containerd/containerd v0.0.0-20190510190154-d0319ec44af6/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
-+github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
-+github.com/containerd/containerd v1.3.4 h1:3o0smo5SKY7H6AJCmJhsnCjR2/V2T8VmiHt7seN2/kI=
-+github.com/containerd/containerd v1.3.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
-+github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
- github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02 h1:tN9D97v5A5QuKdcKHKt+UMKrkQ5YXUnD8iM7IAAjEfI=
- github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
-+github.com/containerd/continuity v0.0.0-20200413184840-d3ef23f19fbb h1:nXPkFq8X1a9ycY3GYQpFNxHh3j2JgY7zDZfq2EXMIzk=
-+github.com/containerd/continuity v0.0.0-20200413184840-d3ef23f19fbb/go.mod h1:Dq467ZllaHgAtVp4p1xUQWBrFXR9s/wyoTpG8zOJGkY=
- github.com/containerd/cri v0.0.0-20190308093238-8a0bd84b9a4c h1:+bW7GQb2q32/Liy0ZiR6pkpRXdDHShUXRoWg8OGVWZs=
- github.com/containerd/cri v0.0.0-20190308093238-8a0bd84b9a4c/go.mod h1:DavH5Qa8+6jOmeOMO3dhWoqksucZDe06LfuhBz/xPZs=
- github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260 h1:XGyg7oTtD0DoRFhbpV6x1WfV0flKC4UxXU7ab1zC08U=
- github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI=
-+github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI=
-+github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b h1:qUtCegLdOUVfVJOw+KDg6eJyE1TGvLlkGEd1091kSSQ=
-+github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0=
- github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3 h1:esQOJREg8nw8aXj6uCN5dfW5cKUBiEJ/+nni1Q/D/sw=
- github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0=
- github.com/containerd/ttrpc v0.0.0-20190411181408-699c4e40d1e7 h1:SKDlsIhYxNE1LO0xwuOR+3QWj3zRibVQu5jWIMQmOfU=
- github.com/containerd/ttrpc v0.0.0-20190411181408-699c4e40d1e7/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o=
-+github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o=
-+github.com/containerd/ttrpc v1.0.0 h1:NY8Zk2i7TpkLxrkOASo+KTFq9iNCEmMH2/ZG9OuOw6k=
-+github.com/containerd/ttrpc v1.0.0/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o=
- github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd h1:JNn81o/xG+8NEo3bC/vx9pbi/g2WI8mtP2/nXzu297Y=
- github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc=
-+github.com/containerd/typeurl v1.0.0 h1:7LMH7LfEmpWeCkGcIputvd4P0Rnd0LrIv1Jk2s5oobs=
-+github.com/containerd/typeurl v1.0.0/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc=
- github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b h1:+mtZ0WjVZwTX0RVrXMXDwuYVaNeHGvWBW1UwJeMR+2M=
- github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
-+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8=
-+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
-+github.com/coreos/go-systemd/v22 v22.0.0 h1:XJIw/+VlJ+87J+doOxznsAWIdmWuViOVhkQamW5YV28=
-+github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk=
-+github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
-+github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
-+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
- github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
- github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-+github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug=
-+github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
-+github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8=
-+github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA=
- github.com/docker/go-units v0.3.1 h1:QAFdsA6jLCnglbqE6mUsHuPcJlntY94DkxHf4deHKIU=
- github.com/docker/go-units v0.3.1/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-+github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw=
-+github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-+github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
-+github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-+github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-+github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
-+github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
-+github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
- github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55 h1:oIgNYSrSUbNH5DJh6DMhU1PiOKOYIHNxrV3djLsLpEI=
- github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
-+github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e h1:BWhy2j3IXJhjCbC68FptL43tDKIq8FladmaTs3Xs7Z8=
-+github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4=
-+github.com/godbus/dbus/v5 v5.0.3 h1:ZqHaoEF7TBzh4jzPmqVhE/5A1z9of6orkAe5uHoAeME=
-+github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
-+github.com/gogo/googleapis v1.3.2 h1:kX1es4djPJrsDhY7aZKJy7aZasdcB5oSOEphMjSB53c=
-+github.com/gogo/googleapis v1.3.2/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c=
- github.com/gogo/protobuf v1.0.0 h1:2jyBKDKU/8v3v2xVR2PtiWQviFUyiaGk2rpfyFT8rTM=
- github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
-+github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
-+github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls=
-+github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
-+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-+github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6 h1:ZgQEtGgCBiWRM39fZuwSd1LwSqqSW0hOdXCYYDX0R3I=
-+github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-+github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY=
-+github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-+github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
- github.com/golang/protobuf v1.1.0 h1:0iH4Ffd/meGoXqF2lSAhZHt8X+cPgkfn/cb6Cce5Vpc=
- github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-+github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-+github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-+github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-+github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
-+github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
-+github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
-+github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
-+github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
-+github.com/golang/protobuf v1.4.0 h1:oOuy+ugB+P/kBdUnG5QaMXSIyJ1q38wWSojYCb3z5VQ=
-+github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
-+github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
-+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
- github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg=
- github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-+github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-+github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce h1:prjrVgOk2Yg6w+PflHoszQNLTUh4kaByUcEWM/9uin4=
-+github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
-+github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874 h1:cAv7ZbSmyb1wjn6T4TIiyFCkpcfgpbcNNC3bM2srLaI=
-+github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I=
-+github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
-+github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-+github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
-+github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
-+github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
-+github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
-+github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
-+github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
- github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
- github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-+github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s=
-+github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-+github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-+github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-+github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
- github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2 h1:QhPf3A2AZW3tTGvHPg0TA+CR3oHbVLlXUhlghqISp1I=
- github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
-+github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ=
-+github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
-+github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI=
-+github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
-+github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
- github.com/opencontainers/runc v1.0.0-rc8 h1:dDCFes8Hj1r/i5qnypONo5jdOme/8HWZC/aNDyhECt0=
- github.com/opencontainers/runc v1.0.0-rc8/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
- github.com/opencontainers/runtime-spec v0.0.0-20180909173843-eba862dc2470 h1:dQgS6CgSB2mBQur4Cz7kaEtXNSw56ZlRb7ZsBT70hTA=
- github.com/opencontainers/runtime-spec v0.0.0-20180909173843-eba862dc2470/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
-+github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
-+github.com/opencontainers/runtime-spec v1.0.2 h1:UfAcuLBJB9Coz72x1hgl8O5RVzTdNiaglX6v2DM6FI0=
-+github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
-+github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs=
-+github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
- github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
- github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-+github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
-+github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
- github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
- github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-+github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-+github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
-+github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
-+github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
-+github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
- github.com/sirupsen/logrus v1.4.1 h1:GL2rEmy6nsikmW0r8opw9JIRScdMF5hA8cOYLH7In1k=
- github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
-+github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
-+github.com/sirupsen/logrus v1.5.0 h1:1N5EYkVAPEywqZRJd7cwnRtCb6xJx7NH3T3WUTF980Q=
-+github.com/sirupsen/logrus v1.5.0/go.mod h1:+F7Ogzej0PZc/94MaYx/nvG9jOFMD2osvC3s+Squfpo=
-+github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
-+github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
-+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
- github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
- github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
- github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-+github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-+github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
-+github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2 h1:b6uOv7YOFK0TYG7HtkIgExQo+2RdLuwRft63jn2HWj8=
-+github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
-+github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
-+github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
-+github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
-+github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
-+github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs=
-+go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4=
-+go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
-+go.opencensus.io v0.22.3 h1:8sGtKOrtQqkN1bp2AtX+misvLIlOmsEsNd+9NIcPEm8=
-+go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-+golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-+golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
-+golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
-+golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
- golang.org/x/net v0.0.0-20170716174642-b3756b4b77d7 h1:FCqk7JXVeupwwnGVopQCC0a0xRK0Rj7SL5AyjjWo4pk=
- golang.org/x/net v0.0.0-20170716174642-b3756b4b77d7/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-+golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-+golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-+golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e h1:3G+cUijn7XD+S4eJFddp53Pv7+slrESplyjG25HgL+k=
-+golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-+golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-+golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-+golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-+golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=
- golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-+golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a h1:WXEvlFVvvGxCJLG6REjsT03iWnKLEWinaScsxF2Vm2o=
-+golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-+golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
- golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-+golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-+golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-+golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
- golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b h1:ag/x1USPSsqHud38I9BAC88qdNLDHHtQ4mlgQIZPPNA=
- golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-+golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-+golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-+golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-+golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-+golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-+golang.org/x/sys v0.0.0-20200413165638-669c56c373c4 h1:opSr2sbRXk5X5/givKrrKj9HXxFpW2sdCiP8MJSKLQY=
-+golang.org/x/sys v0.0.0-20200413165638-669c56c373c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-+golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
-+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-+golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-+golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-+golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-+golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
-+golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-+golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-+google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
-+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
- google.golang.org/genproto v0.0.0-20170523043604-d80a6e20e776 h1:wVJP1pATLVPNxCz4R2mTO6HUJgfGE0PmIu2E10RuhCw=
- google.golang.org/genproto v0.0.0-20170523043604-d80a6e20e776/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
-+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
-+google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-+google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-+google.golang.org/genproto v0.0.0-20200413115906-b5235f65be36 h1:j7CmVRD4Kec0+f8VuBAc2Ak2MFfXm5Q2/RxuJLL+76E=
-+google.golang.org/genproto v0.0.0-20200413115906-b5235f65be36/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
- google.golang.org/grpc v1.12.0 h1:Mm8atZtkT+P6R43n/dqNDWkPPu5BwRVu/1rJnJCeZH8=
- google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
-+google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
-+google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
-+google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-+google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
-+google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-+google.golang.org/grpc v1.28.1 h1:C1QC6KzgSiLyBabDi87BbjaGreoRgGUF5nOyvfrAZ1k=
-+google.golang.org/grpc v1.28.1/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
-+google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
-+google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
-+google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
-+google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
-+google.golang.org/protobuf v1.21.0 h1:qdOKuR/EIArgaWNjetjgTzgVTAZ+S/WXVrq9HW9zimw=
-+google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
-+gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
-+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-+gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
-+gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
-+gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
-+gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
- gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo=
- gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
-+honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-+honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-+k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk=
-diff --git a/pkg/v1/proc/deleted_state.go b/pkg/v1/proc/deleted_state.go
-index 95b4406..941598b 100644
---- a/pkg/v1/proc/deleted_state.go
-+++ b/pkg/v1/proc/deleted_state.go
-@@ -22,7 +22,7 @@ import (
-
- "github.com/containerd/console"
- "github.com/containerd/containerd/errdefs"
-- "github.com/containerd/containerd/runtime/proc"
-+ "github.com/containerd/containerd/pkg/process"
- "github.com/pkg/errors"
- )
-
-@@ -51,6 +51,6 @@ func (s *deletedState) SetExited(status int) {
- // no op
- }
-
--func (s *deletedState) Exec(ctx context.Context, path string, r *ExecConfig) (proc.Process, error) {
-+func (s *deletedState) Exec(ctx context.Context, path string, r *ExecConfig) (process.Process, error) {
- return nil, errors.Errorf("cannot exec in a deleted state")
- }
-diff --git a/pkg/v1/proc/exec.go b/pkg/v1/proc/exec.go
-index f02b73b..cbc0819 100644
---- a/pkg/v1/proc/exec.go
-+++ b/pkg/v1/proc/exec.go
-@@ -29,7 +29,7 @@ import (
-
- "github.com/containerd/console"
- "github.com/containerd/containerd/errdefs"
-- "github.com/containerd/containerd/runtime/proc"
-+ "github.com/containerd/containerd/pkg/stdio"
- "github.com/containerd/fifo"
- runc "github.com/containerd/go-runc"
- specs "github.com/opencontainers/runtime-spec/specs-go"
-@@ -54,7 +54,7 @@ type execProcess struct {
- internalPid int
- closers []io.Closer
- stdin io.Closer
-- stdio proc.Stdio
-+ stdio stdio.Stdio
- path string
- spec specs.Process
-
-@@ -165,7 +165,7 @@ func (e *execProcess) Stdin() io.Closer {
- return e.stdin
- }
-
--func (e *execProcess) Stdio() proc.Stdio {
-+func (e *execProcess) Stdio() stdio.Stdio {
- return e.stdio
- }
-
-@@ -232,7 +232,7 @@ func (e *execProcess) start(ctx context.Context) (err error) {
- if err != nil {
- return errors.Wrap(err, "failed to retrieve console master")
- }
-- if e.console, err = e.parent.Platform.CopyConsole(ctx, console, e.stdio.Stdin, e.stdio.Stdout, e.stdio.Stderr, &e.wg, ©WaitGroup); err != nil {
-+ if e.console, err = e.parent.Platform.CopyConsole(ctx, console, e.stdio.Stdin, e.stdio.Stdout, e.stdio.Stderr, &e.wg); err != nil {
- return errors.Wrap(err, "failed to start console copy")
- }
- } else if !e.stdio.IsNull() {
-diff --git a/pkg/v1/proc/init.go b/pkg/v1/proc/init.go
-index 5dbb1da..138880b 100644
---- a/pkg/v1/proc/init.go
-+++ b/pkg/v1/proc/init.go
-@@ -31,7 +31,8 @@ import (
- "github.com/containerd/containerd/errdefs"
- "github.com/containerd/containerd/log"
- "github.com/containerd/containerd/mount"
-- "github.com/containerd/containerd/runtime/proc"
-+ "github.com/containerd/containerd/pkg/process"
-+ "github.com/containerd/containerd/pkg/stdio"
- "github.com/containerd/fifo"
- runc "github.com/containerd/go-runc"
- specs "github.com/opencontainers/runtime-spec/specs-go"
-@@ -61,7 +62,7 @@ type Init struct {
- id string
- Bundle string
- console console.Console
-- Platform proc.Platform
-+ Platform stdio.Platform
- io runc.IO
- runtime *runsc.Runsc
- status int
-@@ -69,7 +70,7 @@ type Init struct {
- pid int
- closers []io.Closer
- stdin io.Closer
-- stdio proc.Stdio
-+ stdio stdio.Stdio
- Rootfs string
- IoUID int
- IoGID int
-@@ -94,7 +95,7 @@ func NewRunsc(root, path, namespace, runtime string, config map[string]string) *
- }
-
- // New returns a new init process
--func New(id string, runtime *runsc.Runsc, stdio proc.Stdio) *Init {
-+func New(id string, runtime *runsc.Runsc, stdio stdio.Stdio) *Init {
- p := &Init{
- id: id,
- runtime: runtime,
-@@ -154,7 +155,7 @@ func (p *Init) Create(ctx context.Context, r *CreateConfig) (err error) {
- if err != nil {
- return errors.Wrap(err, "failed to retrieve console master")
- }
-- console, err = p.Platform.CopyConsole(ctx, console, r.Stdin, r.Stdout, r.Stderr, &p.wg, ©WaitGroup)
-+ console, err = p.Platform.CopyConsole(ctx, console, r.Stdin, r.Stdout, r.Stderr, &p.wg)
- if err != nil {
- return errors.Wrap(err, "failed to start console copy")
- }
-@@ -393,7 +394,7 @@ func (p *Init) Runtime() *runsc.Runsc {
- }
-
- // Exec returns a new child process
--func (p *Init) Exec(ctx context.Context, path string, r *ExecConfig) (proc.Process, error) {
-+func (p *Init) Exec(ctx context.Context, path string, r *ExecConfig) (process.Process, error) {
- p.mu.Lock()
- defer p.mu.Unlock()
-
-@@ -401,7 +402,7 @@ func (p *Init) Exec(ctx context.Context, path string, r *ExecConfig) (proc.Proce
- }
-
- // exec returns a new exec'd process
--func (p *Init) exec(ctx context.Context, path string, r *ExecConfig) (proc.Process, error) {
-+func (p *Init) exec(ctx context.Context, path string, r *ExecConfig) (process.Process, error) {
- // process exec request
- var spec specs.Process
- if err := json.Unmarshal(r.Spec.Value, &spec); err != nil {
-@@ -414,7 +415,7 @@ func (p *Init) exec(ctx context.Context, path string, r *ExecConfig) (proc.Proce
- path: path,
- parent: p,
- spec: spec,
-- stdio: proc.Stdio{
-+ stdio: stdio.Stdio{
- Stdin: r.Stdin,
- Stdout: r.Stdout,
- Stderr: r.Stderr,
-@@ -427,7 +428,7 @@ func (p *Init) exec(ctx context.Context, path string, r *ExecConfig) (proc.Proce
- }
-
- // Stdio of the process
--func (p *Init) Stdio() proc.Stdio {
-+func (p *Init) Stdio() stdio.Stdio {
- return p.stdio
- }
-
-@@ -455,7 +456,7 @@ func (p *Init) convertStatus(status string) string {
- return status
- }
-
--func withConditionalIO(c proc.Stdio) runc.IOOpt {
-+func withConditionalIO(c stdio.Stdio) runc.IOOpt {
- return func(o *runc.IOOption) {
- o.OpenStdin = c.Stdin != ""
- o.OpenStdout = c.Stdout != ""
-diff --git a/pkg/v1/proc/init_state.go b/pkg/v1/proc/init_state.go
-index f56f6fe..22cca4a 100644
---- a/pkg/v1/proc/init_state.go
-+++ b/pkg/v1/proc/init_state.go
-@@ -22,7 +22,7 @@ import (
-
- "github.com/containerd/console"
- "github.com/containerd/containerd/errdefs"
-- "github.com/containerd/containerd/runtime/proc"
-+ "github.com/containerd/containerd/pkg/process"
- "github.com/pkg/errors"
- )
-
-@@ -30,7 +30,7 @@ type initState interface {
- Resize(console.WinSize) error
- Start(context.Context) error
- Delete(context.Context) error
-- Exec(context.Context, string, *ExecConfig) (proc.Process, error)
-+ Exec(context.Context, string, *ExecConfig) (process.Process, error)
- Kill(context.Context, uint32, bool) error
- SetExited(int)
- }
-@@ -96,7 +96,7 @@ func (s *createdState) SetExited(status int) {
- }
- }
-
--func (s *createdState) Exec(ctx context.Context, path string, r *ExecConfig) (proc.Process, error) {
-+func (s *createdState) Exec(ctx context.Context, path string, r *ExecConfig) (process.Process, error) {
- return s.p.exec(ctx, path, r)
- }
-
-@@ -138,7 +138,7 @@ func (s *runningState) SetExited(status int) {
- }
- }
-
--func (s *runningState) Exec(ctx context.Context, path string, r *ExecConfig) (proc.Process, error) {
-+func (s *runningState) Exec(ctx context.Context, path string, r *ExecConfig) (process.Process, error) {
- return s.p.exec(ctx, path, r)
- }
-
-@@ -179,6 +179,6 @@ func (s *stoppedState) SetExited(status int) {
- // no op
- }
-
--func (s *stoppedState) Exec(ctx context.Context, path string, r *ExecConfig) (proc.Process, error) {
-+func (s *stoppedState) Exec(ctx context.Context, path string, r *ExecConfig) (process.Process, error) {
- return nil, errors.Errorf("cannot exec in a stopped state")
- }
-diff --git a/pkg/v1/shim/platform.go b/pkg/v1/shim/platform.go
-index 10c5495..fa3dd97 100644
---- a/pkg/v1/shim/platform.go
-+++ b/pkg/v1/shim/platform.go
-@@ -32,7 +32,8 @@ type linuxPlatform struct {
- epoller *console.Epoller
- }
-
--func (p *linuxPlatform) CopyConsole(ctx context.Context, console console.Console, stdin, stdout, stderr string, wg, cwg *sync.WaitGroup) (console.Console, error) {
-+func (p *linuxPlatform) CopyConsole(ctx context.Context, console console.Console, stdin, stdout, stderr string, wg *sync.WaitGroup) (console.Console, error) {
-+ var cwg sync.WaitGroup
- if p.epoller == nil {
- return nil, errors.New("uninitialized epoller")
- }
-@@ -76,6 +77,7 @@ func (p *linuxPlatform) CopyConsole(ctx context.Context, console console.Console
- outw.Close()
- wg.Done()
- }()
-+ cwg.Wait()
- return epollConsole, nil
- }
-
-diff --git a/pkg/v1/shim/service.go b/pkg/v1/shim/service.go
-index e06a556..270d190 100644
---- a/pkg/v1/shim/service.go
-+++ b/pkg/v1/shim/service.go
-@@ -32,11 +32,12 @@ import (
- "github.com/containerd/containerd/log"
- "github.com/containerd/containerd/mount"
- "github.com/containerd/containerd/namespaces"
-+ rproc "github.com/containerd/containerd/pkg/process"
-+ "github.com/containerd/containerd/pkg/stdio"
- "github.com/containerd/containerd/runtime"
- "github.com/containerd/containerd/runtime/linux/runctypes"
-- rproc "github.com/containerd/containerd/runtime/proc"
-- "github.com/containerd/containerd/runtime/v1/shim"
- shimapi "github.com/containerd/containerd/runtime/v1/shim/v1"
-+ "github.com/containerd/containerd/sys/reaper"
- "github.com/containerd/typeurl"
- ptypes "github.com/gogo/protobuf/types"
- "github.com/pkg/errors"
-@@ -102,7 +103,7 @@ type Service struct {
- context context.Context
- processes map[string]rproc.Process
- events chan interface{}
-- platform rproc.Platform
-+ platform stdio.Platform
- ec chan proc.Exit
-
- // Filled by Create()
-@@ -541,7 +542,7 @@ func getTopic(ctx context.Context, e interface{}) string {
- return runtime.TaskUnknownTopic
- }
-
--func newInit(ctx context.Context, path, workDir, runtimeRoot, namespace string, config map[string]string, platform rproc.Platform, r *proc.CreateConfig) (*proc.Init, error) {
-+func newInit(ctx context.Context, path, workDir, runtimeRoot, namespace string, config map[string]string, platform stdio.Platform, r *proc.CreateConfig) (*proc.Init, error) {
- var options runctypes.CreateOptions
- if r.Options != nil {
- v, err := typeurl.UnmarshalAny(r.Options)
-@@ -562,7 +563,7 @@ func newInit(ctx context.Context, path, workDir, runtimeRoot, namespace string,
- runsc.FormatLogPath(r.ID, config)
- rootfs := filepath.Join(path, "rootfs")
- runtime := proc.NewRunsc(runtimeRoot, path, namespace, r.Runtime, config)
-- p := proc.New(r.ID, runtime, rproc.Stdio{
-+ p := proc.New(r.ID, runtime, stdio.Stdio{
- Stdin: r.Stdin,
- Stdout: r.Stdout,
- Stderr: r.Stderr,
-@@ -576,6 +577,6 @@ func newInit(ctx context.Context, path, workDir, runtimeRoot, namespace string,
- p.IoGID = int(options.IoGid)
- p.Sandbox = utils.IsSandbox(spec)
- p.UserLog = utils.UserLogPath(spec)
-- p.Monitor = shim.Default
-+ p.Monitor = reaper.Default
- return p, nil
- }
-diff --git a/pkg/v2/service.go b/pkg/v2/service.go
-index 3f0a236..c1df4b8 100644
---- a/pkg/v2/service.go
-+++ b/pkg/v2/service.go
-@@ -30,20 +30,21 @@ import (
- "time"
-
- "github.com/BurntSushi/toml"
-- "github.com/containerd/cgroups"
-+ cgroups "github.com/containerd/cgroups/stats/v1"
- "github.com/containerd/console"
- eventstypes "github.com/containerd/containerd/api/events"
- "github.com/containerd/containerd/api/types/task"
- "github.com/containerd/containerd/errdefs"
-- "github.com/containerd/containerd/events"
- "github.com/containerd/containerd/log"
- "github.com/containerd/containerd/mount"
- "github.com/containerd/containerd/namespaces"
-+ "github.com/containerd/containerd/pkg/process"
-+ "github.com/containerd/containerd/pkg/stdio"
- "github.com/containerd/containerd/runtime"
- "github.com/containerd/containerd/runtime/linux/runctypes"
-- rproc "github.com/containerd/containerd/runtime/proc"
- "github.com/containerd/containerd/runtime/v2/shim"
- taskAPI "github.com/containerd/containerd/runtime/v2/task"
-+ "github.com/containerd/containerd/sys/reaper"
- runtimeoptions "github.com/containerd/cri/pkg/api/runtimeoptions/v1"
- "github.com/containerd/typeurl"
- ptypes "github.com/gogo/protobuf/types"
-@@ -74,23 +75,22 @@ var _ = (taskAPI.TaskService)(&service{})
- const configFile = "config.toml"
-
- // New returns a new shim service that can be used via GRPC
--func New(ctx context.Context, id string, publisher events.Publisher) (shim.Shim, error) {
-- ctx, cancel := context.WithCancel(ctx)
-+func New(ctx context.Context, id string, publisher shim.Publisher, shutdown func()) (shim.Shim, error) {
- s := &service{
- id: id,
- context: ctx,
-- processes: make(map[string]rproc.Process),
-+ processes: make(map[string]process.Process),
- events: make(chan interface{}, 128),
- ec: proc.ExitCh,
-- cancel: cancel,
-+ cancel: shutdown,
- }
- go s.processExits()
-- runsc.Monitor = shim.Default
-+ runsc.Monitor = reaper.Default
- if err := s.initPlatform(); err != nil {
-- cancel()
-+ shutdown()
- return nil, errors.Wrap(err, "failed to initialized platform behavior")
- }
-- go s.forward(publisher)
-+ go s.forward(ctx, publisher)
- return s, nil
- }
-
-@@ -99,10 +99,10 @@ type service struct {
- mu sync.Mutex
-
- context context.Context
-- task rproc.Process
-- processes map[string]rproc.Process
-+ task process.Process
-+ processes map[string]process.Process
- events chan interface{}
-- platform rproc.Platform
-+ platform stdio.Platform
- ec chan proc.Exit
-
- id string
-@@ -137,7 +137,7 @@ func newCommand(ctx context.Context, containerdBinary, containerdAddress string)
- return cmd, nil
- }
-
--func (s *service) StartShim(ctx context.Context, id, containerdBinary, containerdAddress string) (string, error) {
-+func (s *service) StartShim(ctx context.Context, id, containerdBinary, containerdAddress, containerdTTRPCAddress string) (string, error) {
- cmd, err := newCommand(ctx, containerdBinary, containerdAddress)
- if err != nil {
- return "", err
-@@ -560,7 +560,7 @@ func (s *service) Connect(ctx context.Context, r *taskAPI.ConnectRequest) (*task
-
- func (s *service) Shutdown(ctx context.Context, r *taskAPI.ShutdownRequest) (*ptypes.Empty, error) {
- s.cancel()
-- os.Exit(0)
-+ close(s.events)
- return empty, nil
- }
-
-@@ -697,7 +697,7 @@ func (s *service) checkProcesses(e proc.Exit) {
- }
- }
-
--func (s *service) allProcesses() (o []rproc.Process) {
-+func (s *service) allProcesses() (o []process.Process) {
- s.mu.Lock()
- defer s.mu.Unlock()
- for _, p := range s.processes {
-@@ -727,18 +727,21 @@ func (s *service) getContainerPids(ctx context.Context, id string) ([]uint32, er
- return pids, nil
- }
-
--func (s *service) forward(publisher events.Publisher) {
-+func (s *service) forward(ctx context.Context, publisher shim.Publisher) {
-+ ns, _ := namespaces.Namespace(ctx)
-+ ctx = namespaces.WithNamespace(context.Background(), ns)
- for e := range s.events {
-- ctx, cancel := context.WithTimeout(s.context, 5*time.Second)
-+ ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
- err := publisher.Publish(ctx, getTopic(e), e)
- cancel()
- if err != nil {
- logrus.WithError(err).Error("post event")
- }
- }
-+ publisher.Close()
- }
-
--func (s *service) getProcess(execID string) (rproc.Process, error) {
-+func (s *service) getProcess(execID string) (process.Process, error) {
- s.mu.Lock()
- defer s.mu.Unlock()
- if execID == "" {
-@@ -773,7 +776,7 @@ func getTopic(e interface{}) string {
- return runtime.TaskUnknownTopic
- }
-
--func newInit(ctx context.Context, path, workDir, namespace string, platform rproc.Platform, r *proc.CreateConfig, options *options.Options, rootfs string) (*proc.Init, error) {
-+func newInit(ctx context.Context, path, workDir, namespace string, platform stdio.Platform, r *proc.CreateConfig, options *options.Options, rootfs string) (*proc.Init, error) {
- spec, err := utils.ReadSpec(r.Bundle)
- if err != nil {
- return nil, errors.Wrap(err, "read oci spec")
-@@ -783,7 +786,7 @@ func newInit(ctx context.Context, path, workDir, namespace string, platform rpro
- }
- runsc.FormatLogPath(r.ID, options.RunscConfig)
- runtime := proc.NewRunsc(options.Root, path, namespace, options.BinaryName, options.RunscConfig)
-- p := proc.New(r.ID, runtime, rproc.Stdio{
-+ p := proc.New(r.ID, runtime, stdio.Stdio{
- Stdin: r.Stdin,
- Stdout: r.Stdout,
- Stderr: r.Stderr,
-@@ -797,6 +800,6 @@ func newInit(ctx context.Context, path, workDir, namespace string, platform rpro
- p.IoGID = int(options.IoGid)
- p.Sandbox = utils.IsSandbox(spec)
- p.UserLog = utils.UserLogPath(spec)
-- p.Monitor = shim.Default
-+ p.Monitor = reaper.Default
- return p, nil
- }
-diff --git a/pkg/v2/service_linux.go b/pkg/v2/service_linux.go
-index cbd4315..09d9786 100644
---- a/pkg/v2/service_linux.go
-+++ b/pkg/v2/service_linux.go
-@@ -31,7 +31,8 @@ type linuxPlatform struct {
- epoller *console.Epoller
- }
-
--func (p *linuxPlatform) CopyConsole(ctx context.Context, console console.Console, stdin, stdout, stderr string, wg, cwg *sync.WaitGroup) (console.Console, error) {
-+func (p *linuxPlatform) CopyConsole(ctx context.Context, console console.Console, stdin, stdout, stderr string, wg *sync.WaitGroup) (console.Console, error) {
-+ var cwg sync.WaitGroup
- if p.epoller == nil {
- return nil, errors.New("uninitialized epoller")
- }
-@@ -75,6 +76,7 @@ func (p *linuxPlatform) CopyConsole(ctx context.Context, console console.Console
- outw.Close()
- wg.Done()
- }()
-+ cwg.Wait()
- return epollConsole, nil
- }
-
---
-2.25.1
-
diff --git a/third_party/go/patches/k8s-client-go-build.patch b/third_party/go/patches/k8s-client-go-build.patch
deleted file mode 100644
index d5fad50..0000000
--- a/third_party/go/patches/k8s-client-go-build.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Copyright 2020 The Monogon Project Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-This patch updates BUILD files to reflect changes in Go sources. This only needs to be applied because Gazelle applies patches after BUILDfile generation.
-
-diff -ur io_k8s_client_go.orig/plugin/pkg/client/auth/BUILD.bazel io_k8s_client_go/plugin/pkg/client/auth/BUILD.bazel
---- io_k8s_client_go.orig/plugin/pkg/client/auth/BUILD.bazel 17:54:23.086143468 +0200
-+++ io_k8s_client_go/plugin/pkg/client/auth/BUILD.bazel 17:56:17.098546899 +0200
-@@ -6,9 +6,7 @@
- importpath = "k8s.io/client-go/plugin/pkg/client/auth",
- visibility = ["//visibility:public"],
- deps = [
-- "//plugin/pkg/client/auth/azure:go_default_library",
- "//plugin/pkg/client/auth/gcp:go_default_library",
- "//plugin/pkg/client/auth/oidc:go_default_library",
-- "//plugin/pkg/client/auth/openstack:go_default_library",
- ],
- )