fietsje: implement .replace, add Cilium dependencies.

The new .replace() can be used to mirror 'replace' stanzas in go.mod,
and that's what it's being used for in Cilium, as it ships a handful of
forked libraries that we have to pull in.

The Cilium targets are currently unused, but the ones confirmed to build
are:

 - @com_github_cilium_cilium//cilium: cilium API client
 - @com_github_cilium_cilium//daemon:daemon: cilium daemon/agent
 - @com_github_cilium_cilium//operator: cilium operator

These currently built as dynamic libraries - turning them into
static/pure builds will come in a later build.

Test Plan: how do we test this? :)

X-Origin-Diff: phab/D542
GitOrigin-RevId: b38c7c1d0be8b0b88ea8f6992c9c5557189399cc
diff --git a/build/fietsje/BUILD.bazel b/build/fietsje/BUILD.bazel
index b54b307..4a5d3fb 100644
--- a/build/fietsje/BUILD.bazel
+++ b/build/fietsje/BUILD.bazel
@@ -4,6 +4,7 @@
     name = "go_default_library",
     srcs = [
         "dependency.go",
+        "deps_cilium.go",
         "deps_containerd.go",
         "deps_gvisor.go",
         "deps_kubernetes.go",
diff --git a/build/fietsje/dependency.go b/build/fietsje/dependency.go
index c6100e4..e12e272 100644
--- a/build/fietsje/dependency.go
+++ b/build/fietsje/dependency.go
@@ -44,9 +44,22 @@
 	shelf *shelf
 
 	// Build specific settings passed to gazelle.
-	disableProtoBuild bool
-	buildTags         []string
-	patches           []string
+	disableProtoBuild    bool
+	forceBazelGeneration bool
+	buildTags            []string
+	patches              []string
+	buildExtraArgs       []string
+	// replace is an importpath that this dependency will replace. If this is set, this dependency will be visible
+	// in the build as 'importpath', but downloaded at 'replace'/'version'. This might be slighly confusing, but
+	// follows the semantics of what Gazelle exposes via 'replace' in 'go_repository'.
+	replace string
+}
+
+func (d *dependency) remoteImportpath() string {
+	if d.replace != "" {
+		return d.replace
+	}
+	return d.importpath
 }
 
 // locked is information about a dependency resolved from the go module system. It is expensive to get, and as such
@@ -73,6 +86,9 @@
 }
 
 func (d *dependency) String() string {
+	if d.replace != "" {
+		return fmt.Sprintf("%s@%s (replacing %s)", d.replace, d.version, d.importpath)
+	}
 	return fmt.Sprintf("%s@%s", d.importpath, d.version)
 }
 
@@ -86,7 +102,7 @@
 	}
 
 	// If already locked in the shelf, use that.
-	if shelved := d.shelf.get(d.importpath, d.version); shelved != nil {
+	if shelved := d.shelf.get(d.remoteImportpath(), d.version); shelved != nil {
 		d.locked = shelved
 		return nil
 	}
@@ -115,7 +131,7 @@
 	log.Printf("%s: locked to %s", d, d.locked)
 
 	// Save locked version to shelf.
-	d.shelf.put(d.importpath, d.version, d.locked)
+	d.shelf.put(d.remoteImportpath(), d.version, d.locked)
 	return d.shelf.save()
 }
 
@@ -133,7 +149,7 @@
 	}
 	goTool := filepath.Join(goroot, "bin", "go")
 
-	query := fmt.Sprintf("%s@%s", d.importpath, d.version)
+	query := fmt.Sprintf("%s@%s", d.remoteImportpath(), d.version)
 	cmd := exec.Command(goTool, "mod", "download", "-json", "--", query)
 	out, err := cmd.Output()
 	if err != nil {
diff --git a/build/fietsje/deps_cilium.go b/build/fietsje/deps_cilium.go
new file mode 100644
index 0000000..d4d9e19
--- /dev/null
+++ b/build/fietsje/deps_cilium.go
@@ -0,0 +1,78 @@
+// Copyright 2020 The Monogon Project Authors.
+//
+// SPDX-License-Identifier: Apache-2.0
+//
+// 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.
+
+package main
+
+func depsCilium(p *planner) {
+	p.collect(
+		"github.com/cilium/cilium", "v1.8.0-rc1",
+		disabledProtoBuild,
+	).replace(
+		// Cilium forks this library to introduce an API that they need, but
+		// which the upstream rejected. Since this new API does not cause any
+		// backwards incompatibility, we pull in their fork.
+		// See https://github.com/miekg/dns/pull/949#issuecomment-487832458 for
+		// more information about the fork.
+		"github.com/miekg/dns", "github.com/cilium/dns", "8e25ec9a0ff3",
+	).replace(
+		// Cilium forks this library (a Go Kafka client) to apply the following
+		// patches on top:
+		//   - 01ce283: Fix de/serialization of null arrays
+		//   - c411825: Correcly check msgSize in ReadResp before discarding.
+		//   - 947cc36: Kafka : Cilium panics with error *index out of range
+		//              error* on receiving messages of very large size.
+		// serge@ has not found any trace of the Cilium project trying to
+		// upstream this, but the patches seem to be only bugfixes, not
+		// breaking functionality.
+		// However, the fork-off point of the upstream project is fairly old
+		// (commit b5a758db, dated Dec 7, 2017 - pre v1.5.0 of upstream). This
+		// might cause issues in the future when we start to have other
+		// consumers of this library.
+		"github.com/optiopay/kafka", "github.com/cilium/kafka", "01ce283b732b",
+	).use(
+		"github.com/hashicorp/go-immutable-radix",
+		"github.com/sasha-s/go-deadlock",
+		"github.com/google/gopacket",
+		"github.com/hashicorp/consul/api",
+		"github.com/pborman/uuid",
+		"github.com/petermattis/goid",
+		"github.com/kr/text",
+		"github.com/hashicorp/go-cleanhttp",
+		"github.com/hashicorp/serf",
+		"github.com/envoyproxy/protoc-gen-validate",
+		"github.com/hashicorp/go-rootcerts",
+		"github.com/armon/go-metrics",
+		"github.com/shirou/gopsutil",
+		"github.com/cncf/udpa/go",
+		"github.com/cpuguy83/go-md2man/v2",
+		"github.com/russross/blackfriday/v2",
+		"github.com/shurcooL/sanitized_anchor_name",
+		"github.com/google/gops",
+		"github.com/mattn/go-shellwords",
+		"github.com/c9s/goprocinfo",
+		"github.com/cilium/ipam",
+		"github.com/kardianos/osext",
+		"github.com/servak/go-fastping",
+		"github.com/golang/snappy",
+		"github.com/cilium/arping",
+	).with(disabledProtoBuild, forceBazelGeneration).use(
+		"github.com/cilium/proxy",
+	).with(disabledProtoBuild, buildExtraArgs("-exclude=src")).use(
+		// -exclude=src fixes a build issue with Gazelle. See:
+		// https://github.com/census-instrumentation/opencensus-proto/issues/200
+		"github.com/census-instrumentation/opencensus-proto",
+	)
+}
diff --git a/build/fietsje/deps_kubernetes.go b/build/fietsje/deps_kubernetes.go
index fe976b1..5fa623c 100644
--- a/build/fietsje/deps_kubernetes.go
+++ b/build/fietsje/deps_kubernetes.go
@@ -121,7 +121,6 @@
 		"github.com/robfig/cron",
 		"github.com/soheilhy/cmux",
 		"github.com/spf13/afero",
-		"github.com/spf13/cobra",
 		"github.com/spf13/pflag",
 		"github.com/tmc/grpc-websocket-proxy",
 		"github.com/vishvananda/netlink",
diff --git a/build/fietsje/main.go b/build/fietsje/main.go
index a5f8e46..373080a 100644
--- a/build/fietsje/main.go
+++ b/build/fietsje/main.go
@@ -65,6 +65,7 @@
 	depsKubernetes(p)
 	depsContainerd(p)
 	depsGVisor(p)
+	depsCilium(p)
 	depsSQLBoiler(p)
 
 	// our own deps, common
@@ -92,7 +93,7 @@
 	p.collect("github.com/kevinburke/go-bindata", "v3.16.0")
 
 	// used by deltagen
-	p.collect("github.com/lyft/protoc-gen-star", "v0.4.14")
+	p.collectOverride("github.com/lyft/protoc-gen-star", "v0.4.14")
 
 	// First generate the repositories starlark rule into memory. This is because rendering will lock all unlocked
 	// dependencies, which might take a while. If a use were to interrupt it now, they would end up with an incomplete
diff --git a/build/fietsje/planner.go b/build/fietsje/planner.go
index 4e67c2d..3aaefef 100644
--- a/build/fietsje/planner.go
+++ b/build/fietsje/planner.go
@@ -121,6 +121,24 @@
 	return c.with().use(paths...)
 }
 
+// replace injects a new dependency with a replacement importpath. This is used to reflect 'replace' stanzas in go.mod
+// files of third-party dependencies. This is not done automatically by Fietsje, as a replacement is global to the
+// entire build tree, and should be done knowingly and explicitly by configuration. The 'oldpath' importpath will be
+// visible to the build system, but will be backed at 'newpath' locked at 'version'.
+func (c *collection) replace(oldpath, newpath, version string) *collection {
+	// Ensure oldpath is in use. We want as little replacements as possible, and if it's not being used by anything,
+	// it means that we likely don't need it.
+	c.use(oldpath)
+
+	d := c.highlevel.child(oldpath, version)
+	d.replace = newpath
+	c.transitive[oldpath] = d
+	c.p.available[oldpath] = d
+	c.p.enabled[oldpath] = true
+
+	return c
+}
+
 // inject adds a dependency to a collection as if requested by the high-level dependency of the collection. This should
 // be used sparingly, for instance when high-level dependencies contain bazel code that uses some external workspaces
 // from Go modules, and those workspaces are not defined in parsed transitive dependency definitions like go.mod/sum.
@@ -170,6 +188,16 @@
 	}
 }
 
+func forceBazelGeneration(d *dependency) {
+	d.forceBazelGeneration = true
+}
+
+func buildExtraArgs(args ...string) buildOpt {
+	return func(d *dependency) {
+		d.buildExtraArgs = args
+	}
+}
+
 // use enables given dependencies defined in the collection by a high-level dependency, with any set build options.
 // After returning, the builder degrades to a collection - ie, all build options are reset.
 func (o *optionized) use(paths ...string) *collection {
diff --git a/build/fietsje/render.go b/build/fietsje/render.go
index d06e530..bc5d732 100644
--- a/build/fietsje/render.go
+++ b/build/fietsje/render.go
@@ -47,9 +47,15 @@
 		fmt.Fprintf(w, "        importpath = %q,\n", d.importpath)
 		fmt.Fprintf(w, "        version = %q,\n", d.locked.semver)
 		fmt.Fprintf(w, "        sum = %q,\n", d.locked.sum)
+		if d.replace != "" {
+			fmt.Fprintf(w, "        replace = %q,\n", d.replace)
+		}
 		if d.disableProtoBuild {
 			fmt.Fprintf(w, "        build_file_proto_mode = %q,\n", "disable")
 		}
+		if d.forceBazelGeneration {
+			fmt.Fprintf(w, "        build_file_generation = %q,\n", "on")
+		}
 		if d.buildTags != nil {
 			fmt.Fprintf(w, "        build_tags = [\n")
 			for _, tag := range d.buildTags {
@@ -65,6 +71,13 @@
 			fmt.Fprintf(w, "        ],\n")
 			fmt.Fprintf(w, "        patch_args = [%q],\n", "-p1")
 		}
+		if d.buildExtraArgs != nil {
+			fmt.Fprintf(w, "        build_extra_args = [\n")
+			for _, arg := range d.buildExtraArgs {
+				fmt.Fprintf(w, "            %q,\n", arg)
+			}
+			fmt.Fprintf(w, "        ],\n")
+		}
 
 		fmt.Fprintf(w, "    )\n")
 	}
diff --git a/nogo_config.json b/nogo_config.json
index 53aeb6f..4fa0397 100644
--- a/nogo_config.json
+++ b/nogo_config.json
@@ -22,7 +22,8 @@
       "external/io_k8s_sigs_structured_merge_diff/": "third_party",
       "external/io_k8s_component_base/": "third_party",
       "external/io_k8s_apiserver/": "third_party",
-      "external/org_golang_google_protobuf/": "third_party"
+      "external/org_golang_google_protobuf/": "third_party",
+      "external/com_github_armon_go_metrics/": "third_party"
     }
   },
   "lostcancel": {
@@ -40,7 +41,8 @@
       "external/com_github_magiconair_properties": "third_party",
       "external/com_github_ghodss_yaml": "third_party",
       "external/io_k8s_kubectl": "third_party",
-      "external/org_golang_google_protobuf/": "third_party"
+      "external/org_golang_google_protobuf/": "third_party",
+      "external/com_github_shirou_gopsutil/": "unreachable"
     }
   },
   "assign": {
@@ -74,5 +76,10 @@
       "external/runc/vendor/github.com/vishvananda/netlink": "third_party",
       "external/com_github_google_gvisor/": "third_party"
     }
+  },
+  "structtag": {
+    "exclude_files": {
+      "external/com_github_c9s_goprocinfo/": "third_party"
+    }
   }
 }
diff --git a/third_party/go/repositories.bzl b/third_party/go/repositories.bzl
index 018e6f6..8e56dd3 100644
--- a/third_party/go/repositories.bzl
+++ b/third_party/go/repositories.bzl
@@ -85,6 +85,12 @@
         sum = "h1:QEF07wC0T1rKkctt1RINW/+RMTVmiwxETico2l3gxJA=",
     )
     go_repository(
+        name = "com_github_armon_go_metrics",
+        importpath = "github.com/armon/go-metrics",
+        version = "v0.0.0-20180917152333-f0300d1749da",
+        sum = "h1:8GUt8eRujhVEGZFFEjBj46YV4rDjvGrNxb0KMWYkL2I=",
+    )
+    go_repository(
         name = "com_github_armon_go_radix",
         importpath = "github.com/armon/go-radix",
         version = "v0.0.0-20180808171621-7fddfc383310",
@@ -115,6 +121,12 @@
         sum = "h1:CGxCgetQ64DKk7rdZ++Vfnb1+ogGNnB17OJKJXD2Cfs=",
     )
     go_repository(
+        name = "com_github_c9s_goprocinfo",
+        importpath = "github.com/c9s/goprocinfo",
+        version = "v0.0.0-20190309065803-0b2ad9ac246b",
+        sum = "h1:4yfM1Zm+7U+m0inJ0g6JvdqGePXD8eG4nXUTbcLT6gk=",
+    )
+    go_repository(
         name = "com_github_cenkalti_backoff",
         importpath = "github.com/cenkalti/backoff",
         version = "v0.0.0-20190506075156-2146c9339422",
@@ -127,6 +139,16 @@
         sum = "h1:JIufpQLbh4DkbQoii76ItQIUFzevQSqOLZca4eamEDs=",
     )
     go_repository(
+        name = "com_github_census_instrumentation_opencensus_proto",
+        importpath = "github.com/census-instrumentation/opencensus-proto",
+        version = "v0.2.1",
+        sum = "h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk=",
+        build_file_proto_mode = "disable",
+        build_extra_args = [
+            "-exclude=src",
+        ],
+    )
+    go_repository(
         name = "com_github_cespare_xxhash_v2",
         importpath = "github.com/cespare/xxhash/v2",
         version = "v2.1.1",
@@ -145,12 +167,45 @@
         sum = "h1:T4nWG1TXIxeor8mAu5bFguPJgSIGhZqv/f0z55KCrJM=",
     )
     go_repository(
+        name = "com_github_cilium_arping",
+        importpath = "github.com/cilium/arping",
+        version = "v1.0.1-0.20190728065459-c5eaf8d7a710",
+        sum = "h1:htVjkajqUYy6JmLMGlZYxfZ4urQq7rDvgUfmSJX7fSg=",
+    )
+    go_repository(
+        name = "com_github_cilium_cilium",
+        importpath = "github.com/cilium/cilium",
+        version = "v1.8.0-rc1",
+        sum = "h1:tbMNmz8RjjnZ1LHJ8D88mHeQcwEr0aW6eqaratxspu8=",
+        build_file_proto_mode = "disable",
+    )
+    go_repository(
         name = "com_github_cilium_ebpf",
         importpath = "github.com/cilium/ebpf",
         version = "v0.0.0-20191203103619-60c3aa43f488",
         sum = "h1:kNrHgLQr3ftwQr9JKL3lmyNVlc/7Mjd8lwcbccE5BsI=",
     )
     go_repository(
+        name = "com_github_cilium_ipam",
+        importpath = "github.com/cilium/ipam",
+        version = "v0.0.0-20200420133938-2f672ef3ad54",
+        sum = "h1:YOrdErbkc+X+6wflk5idOHZ1IJtLNr3Vnz8JlznG0VI=",
+    )
+    go_repository(
+        name = "com_github_cilium_proxy",
+        importpath = "github.com/cilium/proxy",
+        version = "v0.0.0-20200309181938-3cf80fe45d03",
+        sum = "h1:vkRt49aGUyDbrmR8lVXWUPhS9uYvUZB+jwXyer9aq0w=",
+        build_file_proto_mode = "disable",
+        build_file_generation = "on",
+    )
+    go_repository(
+        name = "com_github_cncf_udpa_go",
+        importpath = "github.com/cncf/udpa/go",
+        version = "v0.0.0-20191230090109-edbea6a78f6d",
+        sum = "h1:F6x9XOn7D+HmM4z8vuG/vvlE53rWPWebGLdIy3Nh+XM=",
+    )
+    go_repository(
         name = "com_github_container_storage_interface_spec",
         importpath = "github.com/container-storage-interface/spec",
         version = "v1.2.0",
@@ -290,6 +345,12 @@
         sum = "h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk=",
     )
     go_repository(
+        name = "com_github_cpuguy83_go_md2man_v2",
+        importpath = "github.com/cpuguy83/go-md2man/v2",
+        version = "v2.0.0",
+        sum = "h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM=",
+    )
+    go_repository(
         name = "com_github_cyphar_filepath_securejoin",
         importpath = "github.com/cyphar/filepath-securejoin",
         version = "v0.2.2",
@@ -380,6 +441,12 @@
         sum = "h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk=",
     )
     go_repository(
+        name = "com_github_envoyproxy_protoc_gen_validate",
+        importpath = "github.com/envoyproxy/protoc-gen-validate",
+        version = "v0.3.0-java",
+        sum = "h1:bV5JGEB1ouEzZa0hgVDFFiClrUEuGWRaAc/3mxR2QK0=",
+    )
+    go_repository(
         name = "com_github_ericlagergren_decimal",
         importpath = "github.com/ericlagergren/decimal",
         version = "v0.0.0-20181231230500-73749d4874d5",
@@ -549,6 +616,12 @@
         sum = "h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=",
     )
     go_repository(
+        name = "com_github_golang_snappy",
+        importpath = "github.com/golang/snappy",
+        version = "v0.0.1",
+        sum = "h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=",
+    )
+    go_repository(
         name = "com_github_google_btree",
         importpath = "github.com/google/btree",
         version = "v1.0.0",
@@ -590,6 +663,18 @@
         sum = "h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=",
     )
     go_repository(
+        name = "com_github_google_gopacket",
+        importpath = "github.com/google/gopacket",
+        version = "v1.1.17",
+        sum = "h1:rMrlX2ZY2UbvT+sdz3+6J+pp2z+msCq9MxTU6ymxbBY=",
+    )
+    go_repository(
+        name = "com_github_google_gops",
+        importpath = "github.com/google/gops",
+        version = "v0.3.6",
+        sum = "h1:6akvbMlpZrEYOuoebn2kR+ZJekbZqJ28fJXTs84+8to=",
+    )
+    go_repository(
         name = "com_github_google_gvisor",
         importpath = "github.com/google/gvisor",
         version = "v0.0.0-20200511005220-c52195d25825",
@@ -667,18 +752,42 @@
         sum = "h1:0/fjvIF5JHJdr34/JPEk1DJFFonjW37pDLvuAy9YieQ=",
     )
     go_repository(
+        name = "com_github_hashicorp_consul_api",
+        importpath = "github.com/hashicorp/consul/api",
+        version = "v1.2.0",
+        sum = "h1:oPsuzLp2uk7I7rojPKuncWbZ+m5TMoD4Ivs+2Rkeh4Y=",
+    )
+    go_repository(
         name = "com_github_hashicorp_errwrap",
         importpath = "github.com/hashicorp/errwrap",
         version = "v1.0.0",
         sum = "h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=",
     )
     go_repository(
+        name = "com_github_hashicorp_go_cleanhttp",
+        importpath = "github.com/hashicorp/go-cleanhttp",
+        version = "v0.5.1",
+        sum = "h1:dH3aiDG9Jvb5r5+bYHsikaOUIpcM0xvgMXVoDkXMzJM=",
+    )
+    go_repository(
+        name = "com_github_hashicorp_go_immutable_radix",
+        importpath = "github.com/hashicorp/go-immutable-radix",
+        version = "v1.1.0",
+        sum = "h1:vN9wG1D6KG6YHRTWr8512cxGOVgTMEfgEdSj/hr8MPc=",
+    )
+    go_repository(
         name = "com_github_hashicorp_go_multierror",
         importpath = "github.com/hashicorp/go-multierror",
         version = "v1.0.0",
         sum = "h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uPribsnS6o=",
     )
     go_repository(
+        name = "com_github_hashicorp_go_rootcerts",
+        importpath = "github.com/hashicorp/go-rootcerts",
+        version = "v1.0.0",
+        sum = "h1:Rqb66Oo1X/eSV1x66xbDccZjhJigjg0+e82kpwzSwCI=",
+    )
+    go_repository(
         name = "com_github_hashicorp_golang_lru",
         importpath = "github.com/hashicorp/golang-lru",
         version = "v0.5.3",
@@ -691,6 +800,12 @@
         sum = "h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=",
     )
     go_repository(
+        name = "com_github_hashicorp_serf",
+        importpath = "github.com/hashicorp/serf",
+        version = "v0.8.2",
+        sum = "h1:YZ7UKsJv+hKjqGVUUbtE3HNj79Eln2oQ75tniF6iPt0=",
+    )
+    go_repository(
         name = "com_github_imdario_mergo",
         importpath = "github.com/imdario/mergo",
         version = "v0.3.7",
@@ -721,6 +836,12 @@
         sum = "h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=",
     )
     go_repository(
+        name = "com_github_kardianos_osext",
+        importpath = "github.com/kardianos/osext",
+        version = "v0.0.0-20170510131534-ae77be60afb1",
+        sum = "h1:PJPDf8OUfOK1bb/NeTKd4f1QXZItOX389VN3B6qC8ro=",
+    )
+    go_repository(
         name = "com_github_karrick_godirwalk",
         importpath = "github.com/karrick/godirwalk",
         version = "v1.7.5",
@@ -751,6 +872,12 @@
         sum = "h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw=",
     )
     go_repository(
+        name = "com_github_kr_text",
+        importpath = "github.com/kr/text",
+        version = "v0.1.0",
+        sum = "h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=",
+    )
+    go_repository(
         name = "com_github_lib_pq",
         importpath = "github.com/lib/pq",
         version = "v1.2.1-0.20191011153232-f91d3411e481",
@@ -805,6 +932,12 @@
         sum = "h1:UnlwIPBGaTZfPQ6T1IGzPI0EkYAQmT9fAEJ/poFC63o=",
     )
     go_repository(
+        name = "com_github_mattn_go_shellwords",
+        importpath = "github.com/mattn/go-shellwords",
+        version = "v1.0.5",
+        sum = "h1:JhhFTIOslh5ZsPrpa3Wdg8bF0WI3b44EMblmU9wIsXc=",
+    )
+    go_repository(
         name = "com_github_mattn_go_sqlite3",
         importpath = "github.com/mattn/go-sqlite3",
         version = "v1.12.0",
@@ -829,6 +962,13 @@
         sum = "h1:zwOa3e/13D6veNIz6zzuqrd3eZEMF0dzD0AQWKcYSs4=",
     )
     go_repository(
+        name = "com_github_miekg_dns",
+        importpath = "github.com/miekg/dns",
+        version = "v1.1.4-0.20190417235132-8e25ec9a0ff3",
+        sum = "h1:wenYMyWJ08dgEUUj0Ija8qdK/V9vL3ThAD5sjOYlFlg=",
+        replace = "github.com/cilium/dns",
+    )
+    go_repository(
         name = "com_github_mindprince_gonvml",
         importpath = "github.com/mindprince/gonvml",
         version = "v0.0.0-20190828220739-9ebdce4bb989",
@@ -934,12 +1074,31 @@
         ],
     )
     go_repository(
+        name = "com_github_optiopay_kafka",
+        importpath = "github.com/optiopay/kafka",
+        version = "v0.0.0-20180809090225-01ce283b732b",
+        sum = "h1:+bsFX/WOMIoaayXVyRem1awcpz3icz/HoL8Dxg/m6a4=",
+        replace = "github.com/cilium/kafka",
+    )
+    go_repository(
+        name = "com_github_pborman_uuid",
+        importpath = "github.com/pborman/uuid",
+        version = "v1.2.0",
+        sum = "h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g=",
+    )
+    go_repository(
         name = "com_github_peterbourgon_diskv",
         importpath = "github.com/peterbourgon/diskv",
         version = "v2.0.1+incompatible",
         sum = "h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI=",
     )
     go_repository(
+        name = "com_github_petermattis_goid",
+        importpath = "github.com/petermattis/goid",
+        version = "v0.0.0-20180202154549-b0b1615b78e5",
+        sum = "h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ=",
+    )
+    go_repository(
         name = "com_github_pkg_errors",
         importpath = "github.com/pkg/errors",
         version = "v0.8.1",
@@ -1006,18 +1165,48 @@
         sum = "h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo=",
     )
     go_repository(
+        name = "com_github_russross_blackfriday_v2",
+        importpath = "github.com/russross/blackfriday/v2",
+        version = "v2.0.1",
+        sum = "h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=",
+    )
+    go_repository(
         name = "com_github_safchain_ethtool",
         importpath = "github.com/safchain/ethtool",
         version = "v0.0.0-20190326074333-42ed695e3de8",
         sum = "h1:2c1EFnZHIPCW8qKWgHMH/fX2PkSabFc5mrVzfUNdg5U=",
     )
     go_repository(
+        name = "com_github_sasha_s_go_deadlock",
+        importpath = "github.com/sasha-s/go-deadlock",
+        version = "v0.2.1-0.20190427202633-1595213edefa",
+        sum = "h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4=",
+    )
+    go_repository(
         name = "com_github_seccomp_libseccomp_golang",
         importpath = "github.com/seccomp/libseccomp-golang",
         version = "v0.9.1",
         sum = "h1:NJjM5DNFOs0s3kYE1WUOr6G8V97sdt46rlXTMfXGWBo=",
     )
     go_repository(
+        name = "com_github_servak_go_fastping",
+        importpath = "github.com/servak/go-fastping",
+        version = "v0.0.0-20160802140958-5718d12e20a0",
+        sum = "h1:FFgMDF0otYdRIy7stdzyE6l1mbyw16XtOWXn6NJ8bEU=",
+    )
+    go_repository(
+        name = "com_github_shirou_gopsutil",
+        importpath = "github.com/shirou/gopsutil",
+        version = "v0.0.0-20180427012116-c95755e4bcd7",
+        sum = "h1:80VN+vGkqM773Br/uNNTSheo3KatTgV8IpjIKjvVLng=",
+    )
+    go_repository(
+        name = "com_github_shurcool_sanitized_anchor_name",
+        importpath = "github.com/shurcooL/sanitized_anchor_name",
+        version = "v1.0.0",
+        sum = "h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=",
+    )
+    go_repository(
         name = "com_github_sirupsen_logrus",
         importpath = "github.com/sirupsen/logrus",
         version = "v1.4.1",
@@ -1044,8 +1233,8 @@
     go_repository(
         name = "com_github_spf13_cobra",
         importpath = "github.com/spf13/cobra",
-        version = "v0.0.5",
-        sum = "h1:f0B+LkLX6DtmRH1isoNA9VTtNUK9K8xYd28JNNfOv/s=",
+        version = "v1.0.0",
+        sum = "h1:6m/oheQuQ13N9ks4hubMG6BnvwOeaJrqSPLahSnczz8=",
     )
     go_repository(
         name = "com_github_spf13_jwalterweatherman",
diff --git a/third_party/go/shelf.pb.text b/third_party/go/shelf.pb.text
index 14b6c5f..2fb4394 100644
--- a/third_party/go/shelf.pb.text
+++ b/third_party/go/shelf.pb.text
@@ -76,6 +76,20 @@
   semver: "v0.0.0-20150827004946-bbbad097214e"
 >
 entry: <
+  import_path: "github.com/armon/go-metrics"
+  version: "v0.0.0-20180917152333-f0300d1749da"
+  bazel_name: "com_github_armon_go_metrics"
+  sum: "h1:8GUt8eRujhVEGZFFEjBj46YV4rDjvGrNxb0KMWYkL2I="
+  semver: "v0.0.0-20180917152333-f0300d1749da"
+>
+entry: <
+  import_path: "github.com/armon/go-metrics"
+  version: "v0.0.0-20190430140413-ec5e00d3c878"
+  bazel_name: "com_github_armon_go_metrics"
+  sum: "h1:EFSB7Zo9Eg91v7MJPVsifUysc/wPdN+NOnVe6bWbdBM="
+  semver: "v0.0.0-20190430140413-ec5e00d3c878"
+>
+entry: <
   import_path: "github.com/armon/go-radix"
   version: "v0.0.0-20180808171621-7fddfc383310"
   bazel_name: "com_github_armon_go_radix"
@@ -111,6 +125,13 @@
   semver: "v3.5.0+incompatible"
 >
 entry: <
+  import_path: "github.com/c9s/goprocinfo"
+  version: "v0.0.0-20190309065803-0b2ad9ac246b"
+  bazel_name: "com_github_c9s_goprocinfo"
+  sum: "h1:4yfM1Zm+7U+m0inJ0g6JvdqGePXD8eG4nXUTbcLT6gk="
+  semver: "v0.0.0-20190309065803-0b2ad9ac246b"
+>
+entry: <
   import_path: "github.com/cenkalti/backoff"
   version: "v0.0.0-20190506075156-2146c9339422"
   bazel_name: "com_github_cenkalti_backoff"
@@ -125,6 +146,13 @@
   semver: "v4.0.2"
 >
 entry: <
+  import_path: "github.com/census-instrumentation/opencensus-proto"
+  version: "v0.2.1"
+  bazel_name: "com_github_census_instrumentation_opencensus_proto"
+  sum: "h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk="
+  semver: "v0.2.1"
+>
+entry: <
   import_path: "github.com/cespare/xxhash/v2"
   version: "d7df74196a9e781ede915320c11c378c1b2f3a1f"
   bazel_name: "com_github_cespare_xxhash_v2"
@@ -146,6 +174,34 @@
   semver: "v0.0.0-20190109184317-bdb7599cd87b"
 >
 entry: <
+  import_path: "github.com/cilium/arping"
+  version: "v1.0.1-0.20190728065459-c5eaf8d7a710"
+  bazel_name: "com_github_cilium_arping"
+  sum: "h1:htVjkajqUYy6JmLMGlZYxfZ4urQq7rDvgUfmSJX7fSg="
+  semver: "v1.0.1-0.20190728065459-c5eaf8d7a710"
+>
+entry: <
+  import_path: "github.com/cilium/cilium"
+  version: "v1.7.4"
+  bazel_name: "com_github_cilium_cilium"
+  sum: "h1:Nv89OYgVn9pS8X0Roip+OjW0TrEa4MglzSEazo6wPZQ="
+  semver: "v1.7.4"
+>
+entry: <
+  import_path: "github.com/cilium/cilium"
+  version: "v1.8.0-rc1"
+  bazel_name: "com_github_cilium_cilium"
+  sum: "h1:tbMNmz8RjjnZ1LHJ8D88mHeQcwEr0aW6eqaratxspu8="
+  semver: "v1.8.0-rc1"
+>
+entry: <
+  import_path: "github.com/cilium/dns"
+  version: "8e25ec9a0ff3"
+  bazel_name: "com_github_miekg_dns"
+  sum: "h1:wenYMyWJ08dgEUUj0Ija8qdK/V9vL3ThAD5sjOYlFlg="
+  semver: "v1.1.4-0.20190417235132-8e25ec9a0ff3"
+>
+entry: <
   import_path: "github.com/cilium/ebpf"
   version: "60c3aa43f488292fe2ee50fb8b833b383ca8ebbb"
   bazel_name: "com_github_cilium_ebpf"
@@ -153,6 +209,48 @@
   semver: "v0.0.0-20191203103619-60c3aa43f488"
 >
 entry: <
+  import_path: "github.com/cilium/ipam"
+  version: "v0.0.0-20200420133938-2f672ef3ad54"
+  bazel_name: "com_github_cilium_ipam"
+  sum: "h1:YOrdErbkc+X+6wflk5idOHZ1IJtLNr3Vnz8JlznG0VI="
+  semver: "v0.0.0-20200420133938-2f672ef3ad54"
+>
+entry: <
+  import_path: "github.com/cilium/kafka"
+  version: "01ce283b732b"
+  bazel_name: "com_github_optiopay_kafka"
+  sum: "h1:+bsFX/WOMIoaayXVyRem1awcpz3icz/HoL8Dxg/m6a4="
+  semver: "v0.0.0-20180809090225-01ce283b732b"
+>
+entry: <
+  import_path: "github.com/cilium/kafka"
+  version: "v0.0.0-20180809090225-01ce283b732b"
+  bazel_name: "com_github_cilium_kafka"
+  sum: "h1:+bsFX/WOMIoaayXVyRem1awcpz3icz/HoL8Dxg/m6a4="
+  semver: "v0.0.0-20180809090225-01ce283b732b"
+>
+entry: <
+  import_path: "github.com/cilium/proxy"
+  version: "v0.0.0-20191113190709-4c7b379792e6"
+  bazel_name: "com_github_cilium_proxy"
+  sum: "h1:G5gUA7taQMy7tt3sl3gdthex1hh/M0yeMExUss+7v8w="
+  semver: "v0.0.0-20191113190709-4c7b379792e6"
+>
+entry: <
+  import_path: "github.com/cilium/proxy"
+  version: "v0.0.0-20200309181938-3cf80fe45d03"
+  bazel_name: "com_github_cilium_proxy"
+  sum: "h1:vkRt49aGUyDbrmR8lVXWUPhS9uYvUZB+jwXyer9aq0w="
+  semver: "v0.0.0-20200309181938-3cf80fe45d03"
+>
+entry: <
+  import_path: "github.com/cncf/udpa/go"
+  version: "v0.0.0-20191230090109-edbea6a78f6d"
+  bazel_name: "com_github_cncf_udpa_go"
+  sum: "h1:F6x9XOn7D+HmM4z8vuG/vvlE53rWPWebGLdIy3Nh+XM="
+  semver: "v0.0.0-20191230090109-edbea6a78f6d"
+>
+entry: <
   import_path: "github.com/container-storage-interface/spec"
   version: "v1.2.0"
   bazel_name: "com_github_container_storage_interface_spec"
@@ -300,6 +398,13 @@
   semver: "v1.0.10"
 >
 entry: <
+  import_path: "github.com/cpuguy83/go-md2man/v2"
+  version: "v2.0.0"
+  bazel_name: "com_github_cpuguy83_go_md2man_v2"
+  sum: "h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM="
+  semver: "v2.0.0"
+>
+entry: <
   import_path: "github.com/cyphar/filepath-securejoin"
   version: "v0.2.2"
   bazel_name: "com_github_cyphar_filepath_securejoin"
@@ -405,6 +510,20 @@
   semver: "v2.9.5+incompatible"
 >
 entry: <
+  import_path: "github.com/envoyproxy/protoc-gen-validate"
+  version: "v0.1.0"
+  bazel_name: "com_github_envoyproxy_protoc_gen_validate"
+  sum: "h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A="
+  semver: "v0.1.0"
+>
+entry: <
+  import_path: "github.com/envoyproxy/protoc-gen-validate"
+  version: "v0.3.0-java"
+  bazel_name: "com_github_envoyproxy_protoc_gen_validate"
+  sum: "h1:bV5JGEB1ouEzZa0hgVDFFiClrUEuGWRaAc/3mxR2QK0="
+  semver: "v0.3.0-java"
+>
+entry: <
   import_path: "github.com/ericlagergren/decimal"
   version: "v0.0.0-20181231230500-73749d4874d5"
   bazel_name: "com_github_ericlagergren_decimal"
@@ -608,6 +727,13 @@
   semver: "v0.0.0-20160516000752-02826c3e7903"
 >
 entry: <
+  import_path: "github.com/golang/snappy"
+  version: "v0.0.1"
+  bazel_name: "com_github_golang_snappy"
+  sum: "h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4="
+  semver: "v0.0.1"
+>
+entry: <
   import_path: "github.com/google/btree"
   version: "v1.0.0"
   bazel_name: "com_github_google_btree"
@@ -650,6 +776,20 @@
   semver: "v1.0.0"
 >
 entry: <
+  import_path: "github.com/google/gopacket"
+  version: "v1.1.17"
+  bazel_name: "com_github_google_gopacket"
+  sum: "h1:rMrlX2ZY2UbvT+sdz3+6J+pp2z+msCq9MxTU6ymxbBY="
+  semver: "v1.1.17"
+>
+entry: <
+  import_path: "github.com/google/gops"
+  version: "v0.3.6"
+  bazel_name: "com_github_google_gops"
+  sum: "h1:6akvbMlpZrEYOuoebn2kR+ZJekbZqJ28fJXTs84+8to="
+  semver: "v0.3.6"
+>
+entry: <
   import_path: "github.com/google/gvisor"
   version: "release-20200511.0"
   bazel_name: "com_github_google_gvisor"
@@ -734,6 +874,13 @@
   semver: "v1.26.0"
 >
 entry: <
+  import_path: "github.com/hashicorp/consul/api"
+  version: "v1.2.0"
+  bazel_name: "com_github_hashicorp_consul_api"
+  sum: "h1:oPsuzLp2uk7I7rojPKuncWbZ+m5TMoD4Ivs+2Rkeh4Y="
+  semver: "v1.2.0"
+>
+entry: <
   import_path: "github.com/hashicorp/errwrap"
   version: "8a6fb523712970c966eefc6b39ed2c5e74880354"
   bazel_name: "com_github_hashicorp_errwrap"
@@ -741,6 +888,20 @@
   semver: "v1.0.0"
 >
 entry: <
+  import_path: "github.com/hashicorp/go-cleanhttp"
+  version: "v0.5.1"
+  bazel_name: "com_github_hashicorp_go_cleanhttp"
+  sum: "h1:dH3aiDG9Jvb5r5+bYHsikaOUIpcM0xvgMXVoDkXMzJM="
+  semver: "v0.5.1"
+>
+entry: <
+  import_path: "github.com/hashicorp/go-immutable-radix"
+  version: "v1.1.0"
+  bazel_name: "com_github_hashicorp_go_immutable_radix"
+  sum: "h1:vN9wG1D6KG6YHRTWr8512cxGOVgTMEfgEdSj/hr8MPc="
+  semver: "v1.1.0"
+>
+entry: <
   import_path: "github.com/hashicorp/go-multierror"
   version: "886a7fbe3eb1c874d46f623bfa70af45f425b3d1"
   bazel_name: "com_github_hashicorp_go_multierror"
@@ -748,6 +909,20 @@
   semver: "v1.0.0"
 >
 entry: <
+  import_path: "github.com/hashicorp/go-rootcerts"
+  version: "v1.0.0"
+  bazel_name: "com_github_hashicorp_go_rootcerts"
+  sum: "h1:Rqb66Oo1X/eSV1x66xbDccZjhJigjg0+e82kpwzSwCI="
+  semver: "v1.0.0"
+>
+entry: <
+  import_path: "github.com/hashicorp/go-rootcerts"
+  version: "v1.0.1"
+  bazel_name: "com_github_hashicorp_go_rootcerts"
+  sum: "h1:DMo4fmknnz0E0evoNYnV48RjWndOsmd6OW+09R3cEP8="
+  semver: "v1.0.1"
+>
+entry: <
   import_path: "github.com/hashicorp/golang-lru"
   version: "7f827b33c0f158ec5dfbba01bb0b14a4541fd81d"
   bazel_name: "com_github_hashicorp_golang_lru"
@@ -762,6 +937,20 @@
   semver: "v1.0.0"
 >
 entry: <
+  import_path: "github.com/hashicorp/serf"
+  version: "v0.8.2"
+  bazel_name: "com_github_hashicorp_serf"
+  sum: "h1:YZ7UKsJv+hKjqGVUUbtE3HNj79Eln2oQ75tniF6iPt0="
+  semver: "v0.8.2"
+>
+entry: <
+  import_path: "github.com/hashicorp/serf"
+  version: "v0.8.5"
+  bazel_name: "com_github_hashicorp_serf"
+  sum: "h1:ZynDUIQiA8usmRgPdGPHFdPnb1wgGI9tK3mO9hcAJjc="
+  semver: "v0.8.5"
+>
+entry: <
   import_path: "github.com/imdario/mergo"
   version: "7c29201646fa3de8506f701213473dd407f19646"
   bazel_name: "com_github_imdario_mergo"
@@ -797,6 +986,13 @@
   semver: "v1.1.8"
 >
 entry: <
+  import_path: "github.com/kardianos/osext"
+  version: "v0.0.0-20170510131534-ae77be60afb1"
+  bazel_name: "com_github_kardianos_osext"
+  sum: "h1:PJPDf8OUfOK1bb/NeTKd4f1QXZItOX389VN3B6qC8ro="
+  semver: "v0.0.0-20170510131534-ae77be60afb1"
+>
+entry: <
   import_path: "github.com/karrick/godirwalk"
   version: "v1.7.5"
   bazel_name: "com_github_karrick_godirwalk"
@@ -832,6 +1028,13 @@
   semver: "v1.1.1"
 >
 entry: <
+  import_path: "github.com/kr/text"
+  version: "v0.1.0"
+  bazel_name: "com_github_kr_text"
+  sum: "h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE="
+  semver: "v0.1.0"
+>
+entry: <
   import_path: "github.com/lib/pq"
   version: "v1.2.1-0.20191011153232-f91d3411e481"
   bazel_name: "com_github_lib_pq"
@@ -895,6 +1098,13 @@
   semver: "v0.0.2"
 >
 entry: <
+  import_path: "github.com/mattn/go-shellwords"
+  version: "v1.0.5"
+  bazel_name: "com_github_mattn_go_shellwords"
+  sum: "h1:JhhFTIOslh5ZsPrpa3Wdg8bF0WI3b44EMblmU9wIsXc="
+  semver: "v1.0.5"
+>
+entry: <
   import_path: "github.com/mattn/go-sqlite3"
   version: "v1.12.0"
   bazel_name: "com_github_mattn_go_sqlite3"
@@ -930,6 +1140,27 @@
   semver: "v0.0.0-20190606142536-fef19f00fc18"
 >
 entry: <
+  import_path: "github.com/miekg/dns"
+  version: "v1.0.14"
+  bazel_name: "com_github_miekg_dns"
+  sum: "h1:9jZdLNd/P4+SfEJ0TNyxYpsK8N4GtfylBLqtbYN1sbA="
+  semver: "v1.0.14"
+>
+entry: <
+  import_path: "github.com/miekg/dns"
+  version: "v1.1.29"
+  bazel_name: "com_github_miekg_dns"
+  sum: "h1:xHBEhR+t5RzcFJjBLJlax2daXOrTYtr9z4WdKEfWFzg="
+  semver: "v1.1.29"
+>
+entry: <
+  import_path: "github.com/miekg/dns"
+  version: "v1.1.4"
+  bazel_name: "com_github_miekg_dns"
+  sum: "h1:rCMZsU2ScVSYcAsOXgmC6+AKOK+6pmQTOcw03nfwYV0="
+  semver: "v1.1.4"
+>
+entry: <
   import_path: "github.com/mindprince/gonvml"
   version: "v0.0.0-20190828220739-9ebdce4bb989"
   bazel_name: "com_github_mindprince_gonvml"
@@ -1014,6 +1245,13 @@
   semver: "v0.0.0-20170122224234-a0225b3f23b5"
 >
 entry: <
+  import_path: "github.com/op/go-logging"
+  version: "v0.0.0-20160315200505-970db520ece7"
+  bazel_name: "com_github_op_go_logging"
+  sum: "h1:lDH9UUVJtmYCjyT0CI4q8xvlXPxeZ0gYCVvWbmPlp88="
+  semver: "v0.0.0-20160315200505-970db520ece7"
+>
+entry: <
   import_path: "github.com/opencontainers/go-digest"
   version: "c9281466c8b2f606084ac71339773efd177436e7"
   bazel_name: "com_github_opencontainers_go_digest"
@@ -1049,6 +1287,34 @@
   semver: "v1.3.1-0.20190929122143-5215b1806f52"
 >
 entry: <
+  import_path: "github.com/optiopay/kafka"
+  version: "b5a758dbffc5786a8cac42703bd5d63f503bd008"
+  bazel_name: "com_github_optiopay_kafka"
+  sum: "h1:zuHYh9580Wi0xEHvUNYS4ggJo5lAQdrucMSyOnLGr1Y="
+  semver: "v0.0.0-20171207085834-b5a758dbffc5"
+>
+entry: <
+  import_path: "github.com/optiopay/kafka"
+  version: "v1.5.0"
+  bazel_name: "com_github_optiopay_kafka"
+  sum: "h1:QAZ6Yy0PR2ePancL1BIx1/dPIgGq9cQJVzmJRuhZ3Zs="
+  semver: "v1.5.0"
+>
+entry: <
+  import_path: "github.com/optiopay/kafka"
+  version: "v2.0.5"
+  bazel_name: "com_github_optiopay_kafka"
+  sum: "h1:ka5l2o9tSkbDTZ9JbzXqRDG6aZhgOxbVp1M4QDlYGfk="
+  semver: "v2.0.5+incompatible"
+>
+entry: <
+  import_path: "github.com/pborman/uuid"
+  version: "v1.2.0"
+  bazel_name: "com_github_pborman_uuid"
+  sum: "h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g="
+  semver: "v1.2.0"
+>
+entry: <
   import_path: "github.com/peterbourgon/diskv"
   version: "v2.0.1+incompatible"
   bazel_name: "com_github_peterbourgon_diskv"
@@ -1056,6 +1322,13 @@
   semver: "v2.0.1+incompatible"
 >
 entry: <
+  import_path: "github.com/petermattis/goid"
+  version: "v0.0.0-20180202154549-b0b1615b78e5"
+  bazel_name: "com_github_petermattis_goid"
+  sum: "h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ="
+  semver: "v0.0.0-20180202154549-b0b1615b78e5"
+>
+entry: <
   import_path: "github.com/pkg/errors"
   version: "ba968bfe8b2f7e042a574c888954fccecfa385b4"
   bazel_name: "com_github_pkg_errors"
@@ -1133,6 +1406,13 @@
   semver: "v1.5.2"
 >
 entry: <
+  import_path: "github.com/russross/blackfriday/v2"
+  version: "v2.0.1"
+  bazel_name: "com_github_russross_blackfriday_v2"
+  sum: "h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q="
+  semver: "v2.0.1"
+>
+entry: <
   import_path: "github.com/safchain/ethtool"
   version: "v0.0.0-20190326074333-42ed695e3de8"
   bazel_name: "com_github_safchain_ethtool"
@@ -1140,6 +1420,20 @@
   semver: "v0.0.0-20190326074333-42ed695e3de8"
 >
 entry: <
+  import_path: "github.com/sasha-s/go-deadlock"
+  version: "v0.2.0"
+  bazel_name: "com_github_sasha_s_go_deadlock"
+  sum: "h1:lMqc+fUb7RrFS3gQLtoQsJ7/6TV/pAIFvBsqX73DK8Y="
+  semver: "v0.2.0"
+>
+entry: <
+  import_path: "github.com/sasha-s/go-deadlock"
+  version: "v0.2.1-0.20190427202633-1595213edefa"
+  bazel_name: "com_github_sasha_s_go_deadlock"
+  sum: "h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4="
+  semver: "v0.2.1-0.20190427202633-1595213edefa"
+>
+entry: <
   import_path: "github.com/seccomp/libseccomp-golang"
   version: "689e3c1541a84461afc49c1c87352a6cedf72e9c"
   bazel_name: "com_github_seccomp_libseccomp_golang"
@@ -1147,6 +1441,27 @@
   semver: "v0.9.1"
 >
 entry: <
+  import_path: "github.com/servak/go-fastping"
+  version: "v0.0.0-20160802140958-5718d12e20a0"
+  bazel_name: "com_github_servak_go_fastping"
+  sum: "h1:FFgMDF0otYdRIy7stdzyE6l1mbyw16XtOWXn6NJ8bEU="
+  semver: "v0.0.0-20160802140958-5718d12e20a0"
+>
+entry: <
+  import_path: "github.com/shirou/gopsutil"
+  version: "v0.0.0-20180427012116-c95755e4bcd7"
+  bazel_name: "com_github_shirou_gopsutil"
+  sum: "h1:80VN+vGkqM773Br/uNNTSheo3KatTgV8IpjIKjvVLng="
+  semver: "v0.0.0-20180427012116-c95755e4bcd7"
+>
+entry: <
+  import_path: "github.com/shurcooL/sanitized_anchor_name"
+  version: "v1.0.0"
+  bazel_name: "com_github_shurcool_sanitized_anchor_name"
+  sum: "h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo="
+  semver: "v1.0.0"
+>
+entry: <
   import_path: "github.com/sirupsen/logrus"
   version: "8bdbc7bcc01dcbb8ec23dc8a28e332258d25251f"
   bazel_name: "com_github_sirupsen_logrus"
@@ -1182,6 +1497,13 @@
   semver: "v0.0.5"
 >
 entry: <
+  import_path: "github.com/spf13/cobra"
+  version: "v1.0.0"
+  bazel_name: "com_github_spf13_cobra"
+  sum: "h1:6m/oheQuQ13N9ks4hubMG6BnvwOeaJrqSPLahSnczz8="
+  semver: "v1.0.0"
+>
+entry: <
   import_path: "github.com/spf13/jwalterweatherman"
   version: "v1.0.0"
   bazel_name: "com_github_spf13_jwalterweatherman"