diff --git a/.bazelrc b/.bazelrc
index fcf8971..0953943 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -3,4 +3,10 @@
 test --jobs 12 --test_output=errors
 
 # Build with SELinux, needed for containerd & kubelet
-build --define gotags=selinux
+build --define gotags=selinux,no_zfs,no_aufs,no_devicemapper
+
+# Build with C++17.
+build --cxxopt=-std=c++17
+
+# Set workspace status file
+build --workspace_status_command=./build/print-workspace-status.sh
diff --git a/BUILD b/BUILD
index 02013bc..03985a5 100644
--- a/BUILD
+++ b/BUILD
@@ -2,11 +2,7 @@
 load("@io_bazel_rules_go//go:def.bzl", "go_path", "nogo")
 
 # gazelle:prefix git.monogon.dev/source/nexantic.git
-# gazelle:exclude core/generated
-# gazelle:exclude tools.go
 # gazelle:exclude core/cmd/kube-controlplane
-# gazelle:resolve go k8s.io/client-go/tools/clientcmd @kubernetes//staging/src/k8s.io/client-go/tools/clientcmd:go_default_library
-# gazelle:resolve go k8s.io/client-go/tools/clientcmd/api @kubernetes//staging/src/k8s.io/client-go/tools/clientcmd/api:go_default_library
 gazelle(name = "gazelle")
 
 # Shortcut for the Go SDK
@@ -82,8 +78,8 @@
 
 # Shortcut for kubectl when running through bazel run
 # (don't depend on this, it might turn into an env-based PATH shortcut, use
-# //third_party/kubernetes:kubectl instead)
+# @io_k8s_kubernetes//cmd/kubectl instead)
 alias(
     name = "kubectl",
-    actual = "//third_party/kubernetes:kubectl",
+    actual = "@io_k8s_kubernetes//cmd/kubectl:kubectl",
 )
diff --git a/WORKSPACE b/WORKSPACE
index c444885..fec87fb 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -29,21 +29,25 @@
 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 
 http_archive(
+    # Currently pinned to an unreleased commit for compatibility with pinned Gazelle below.
+    # (we need //go/platforms:{aix,illumos,...} as generated by Gazelle)
     name = "io_bazel_rules_go",
-    sha256 = "e6a6c016b0663e06fa5fccf1cd8152eab8aa8180c583ec20c872f4f9953a7ac5",
     urls = [
-        "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.22.1/rules_go-v0.22.1.tar.gz",
-        "https://github.com/bazelbuild/rules_go/releases/download/v0.22.1/rules_go-v0.22.1.tar.gz",
+        "https://github.com/bazelbuild/rules_go/archive/64f44314a710ce0e3ccc07891cec5f2047901ac8.tar.gz",
     ],
+    strip_prefix = "rules_go-64f44314a710ce0e3ccc07891cec5f2047901ac8",
+    sha256 = "a8045644f4790d8dc7f25d25ee56ed9b7668f609f2aa1c59eef48d2dd9755430",
 )
 
 http_archive(
+    # Currently pinned to an unreleased commit that fixes build tag usage in `update-repos`.
+    # This can be unpinned once it makes it into 0.21.0.
     name = "bazel_gazelle",
-    sha256 = "86c6d481b3f7aedc1d60c1c211c6f76da282ae197c3b3160f54bd3a8f847896f",
     urls = [
-        "https://storage.googleapis.com/bazel-mirror/github.com/bazelbuild/bazel-gazelle/releases/download/v0.19.1/bazel-gazelle-v0.19.1.tar.gz",
-        "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.19.1/bazel-gazelle-v0.19.1.tar.gz",
+        "https://github.com/bazelbuild/bazel-gazelle/archive/f6ed80dc6ff71e33233006db9584da4cd36a81e6.zip",
     ],
+    strip_prefix = "bazel-gazelle-f6ed80dc6ff71e33233006db9584da4cd36a81e6",
+    sha256 = "509bb26e377a8ac28ebbd5fb999d15a428b092b0c533dc1e528d66d766ea273e",
 )
 
 load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
@@ -55,8 +59,22 @@
 go_repository(
     name = "org_golang_x_sys",
     importpath = "golang.org/x/sys",
-    sum = "h1:ZtoklVMHQy6BFRHkbG6JzK+S6rX82//Yeok1vMlizfQ=",
-    version = "v0.0.0-20191018095205-727590c5006e",
+    sum = "h1:q9u40nxWT5zRClI/uU9dHCiYGottAg6Nzz4YUQyHxdA=",
+    version = "v0.0.0-20190927073244-c990c680b611",
+)
+
+# we also pin github.com/golang/protobuf to 1.3.2, because we use gRPC 1.26 (can bump to 1.27
+# once https://github.com/etcd-io/etcd/issues/11563 is resolved and merged.
+
+go_repository(
+    name = "com_github_golang_protobuf",
+    build_file_proto_mode = "disable_global",
+    commit = "6c65a5562fc06764971b7c5d05c76c75e84bdbf7",
+    importpath = "github.com/golang/protobuf",
+    patches = [
+        "@io_bazel_rules_go//third_party:com_github_golang_protobuf-extras.patch",
+    ],
+    patch_args = ["-p1"],
 )
 
 go_rules_dependencies()
@@ -90,6 +108,13 @@
 
 protobuf_deps()
 
+# Build packages
+http_archive(
+    name = "rules_pkg",
+    sha256 = "5bdc04987af79bd27bc5b00fe30f59a858f77ffa0bd2d8143d5b31ad8b1bd71c",
+    url = "https://github.com/bazelbuild/rules_pkg/releases/download/0.2.0/rules_pkg-0.2.0.tar.gz",
+)
+
 # third_party external repositories
 load("//third_party/linux:external.bzl", "linux_external")
 
@@ -102,13 +127,6 @@
 
 edk2_external(name = "edk2")
 
-load("//third_party/kubernetes:external.bzl", "kubernetes_external")
-
-kubernetes_external(
-    name = "kubernetes",
-    version = "1.18.0",
-)
-
 load("//third_party/musl:external.bzl", "musl_external")
 
 musl_external(
@@ -130,13 +148,27 @@
     version = "5.2.1",
 )
 
-load("@kubernetes//build:workspace_mirror.bzl", "mirror")
+register_toolchains("//:host_python")
 
-http_archive(
-    name = "io_k8s_repo_infra",
-    sha256 = "f6d65480241ec0fd7a0d01f432938b97d7395aeb8eefbe859bb877c9b4eafa56",
-    strip_prefix = "repo-infra-9f4571ad7242bf3ec4b47365062498c2528f9a5f",
-    urls = mirror("https://github.com/kubernetes/repo-infra/archive/9f4571ad7242bf3ec4b47365062498c2528f9a5f.tar.gz"),
+# python dependencies. Currently we don't use Python, but some of our deps (ie. gvisor) do expect @pydeps// to exist, even
+# if it's not being used.
+
+load("@rules_python//python:pip.bzl", "pip_import")
+
+pip_import(
+    name = "pydeps",
+    requirements = "//third_party/py:requirements.txt",
 )
 
-register_toolchains("//:host_python")
+load("@pydeps//:requirements.bzl", "pip_install")
+
+pip_install()
+
+# same for gvisor/rules_docker.
+
+http_archive(
+    name = "io_bazel_rules_docker",
+    sha256 = "14ac30773fdb393ddec90e158c9ec7ebb3f8a4fd533ec2abbfd8789ad81a284b",
+    strip_prefix = "rules_docker-0.12.1",
+    urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.12.1/rules_docker-v0.12.1.tar.gz"],
+)
diff --git a/build/print-workspace-status.sh b/build/print-workspace-status.sh
new file mode 100755
index 0000000..65bcae8
--- /dev/null
+++ b/build/print-workspace-status.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+# Workspace status used for build stamping.
+# This is currently only consumed by //third_party/go/kubernetes_version_def.bzl.
+
+set -o errexit
+set -o nounset
+set -o pipefail
+
+KUBERNETES_gitTreeState="clean"
+if [ ! -z "$(git status --porcelain)" ]; then
+    KUBERNETES_gitTreeState="dirty"
+fi
+
+# TODO(q3k): unify with //third_party/go/repsitories.bzl.
+KUBERNETES_gitMajor="1"
+KUBERNETES_gitMinor="19"
+KUBERNETES_gitVersion="v1.19.0-alpha.2+nxt"
+
+cat <<EOF
+KUBERNETES_gitCommit $(git rev-parse "HEAD^{commit}")
+KUBERNETES_gitTreeState $KUBERNETES_gitTreeState
+KUBERNETES_gitVersion $KUBERNETES_gitVersion
+KUBERNETES_gitMajor $KUBERNETES_gitMajor
+KUBERNETES_gitMinor $KUBERNETES_gitMinor
+KUBERNETES_buildDate $(date \
+  ${SOURCE_DATE_EPOCH:+"--date=@${SOURCE_DATE_EPOCH}"} \
+ -u +'%Y-%m-%dT%H:%M:%SZ')
+EOF
diff --git a/core/BUILD b/core/BUILD
index f413b5d..1628bd1 100644
--- a/core/BUILD
+++ b/core/BUILD
@@ -4,6 +4,16 @@
         "//core/cmd/init",
         "//core/cmd/kube-controlplane",
         "//third_party/xfsprogs:mkfs.xfs",
+        "@io_k8s_kubernetes//cmd/kubelet:_kubelet-pure",
+        "@com_github_containerd_containerd//cmd/containerd",
+        "@com_github_containerd_containerd//cmd/containerd-shim",
+        "@com_github_containerd_containerd//cmd/containerd-shim-runc-v1",
+        "@com_github_containerd_containerd//cmd/containerd-shim-runc-v2",
+        "@com_github_containernetworking_plugins//plugins/main/loopback",
+        "@com_github_containernetworking_plugins//plugins/main/ptp",
+        "@com_github_containernetworking_plugins//plugins/ipam/host-local",
+        "@com_github_opencontainers_runc//:runc",
+        "@com_github_google_gvisor//runsc",
     ],
     outs = [
         "initramfs.cpio.lz4",
@@ -17,6 +27,18 @@
 dir /bin 0755 0 0
 file /bin/mkfs.xfs $(location //third_party/xfsprogs:mkfs.xfs) 0755 0 0
 file /bin/kube-controlplane $(location //core/cmd/kube-controlplane) 0755 0 0
+file /bin/kubelet $(location @io_k8s_kubernetes//cmd/kubelet:_kubelet-pure) 0755 0 0
+dir /containerd 0755 0 0
+file /containerd/containerd $(location @com_github_containerd_containerd//cmd/containerd) 0755 0 0
+file /containerd/containerd-shim $(location @com_github_containerd_containerd//cmd/containerd-shim) 0755 0 0
+file /containerd/containerd-shim-runc-v1 $(location @com_github_containerd_containerd//cmd/containerd-shim-runc-v1) 0755 0 0
+file /containerd/containerd-shim-runc-v2 $(location @com_github_containerd_containerd//cmd/containerd-shim-runc-v2) 0755 0 0
+file /containerd/runsc $(location @com_github_google_gvisor//runsc) 0755 0 0
+file /containerd/runc $(location @com_github_opencontainers_runc//:runc) 0755 0 0
+dir /containerd/cni-plugins 0755 0 0
+file /containerd/cni-plugins/loopback $(location @com_github_containernetworking_plugins//plugins/main/loopback) 0755 0 0
+file /containerd/cni-plugins/ptp $(location @com_github_containernetworking_plugins//plugins/main/ptp) 0755 0 0
+file /containerd/cni-plugins/host-local $(location @com_github_containernetworking_plugins//plugins/ipam/host-local) 0755 0 0
 EOF
     """,
     tools = [
diff --git a/core/api/api/BUILD.bazel b/core/api/api/BUILD.bazel
index 61e4fe7..70764cc 100644
--- a/core/api/api/BUILD.bazel
+++ b/core/api/api/BUILD.bazel
@@ -1,3 +1,4 @@
+load("@rules_proto//proto:defs.bzl", "proto_library")
 load("@io_bazel_rules_go//go:def.bzl", "go_library")
 load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 
diff --git a/core/api/common/BUILD.bazel b/core/api/common/BUILD.bazel
index 30b3a27..6786431 100644
--- a/core/api/common/BUILD.bazel
+++ b/core/api/common/BUILD.bazel
@@ -1,3 +1,4 @@
+load("@rules_proto//proto:defs.bzl", "proto_library")
 load("@io_bazel_rules_go//go:def.bzl", "go_library")
 load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 
diff --git a/core/cmd/kube-controlplane/BUILD b/core/cmd/kube-controlplane/BUILD
index cc0427a..c9049e4 100644
--- a/core/cmd/kube-controlplane/BUILD
+++ b/core/cmd/kube-controlplane/BUILD
@@ -24,15 +24,15 @@
     importpath = "git.monogon.dev/source/nexantic.git/core/cmd/kubemaster",
     visibility = ["//visibility:private"],
     deps = [
-        "@kubernetes//cmd/kube-apiserver/app:go_default_library",
-        "@kubernetes//cmd/kube-controller-manager/app:go_default_library",
-        "@kubernetes//cmd/kube-scheduler/app:go_default_library",
-        "@kubernetes//staging/src/k8s.io/component-base/cli/flag:go_default_library",
-        "@kubernetes//staging/src/k8s.io/component-base/logs:go_default_library",
-        "@kubernetes//staging/src/k8s.io/component-base/metrics/prometheus/restclient:go_default_library",
-        "@kubernetes//staging/src/k8s.io/component-base/metrics/prometheus/version:go_default_library",
-        "@kubernetes//vendor/github.com/spf13/cobra:go_default_library",
-        "@kubernetes//vendor/github.com/spf13/pflag:go_default_library",
+        "@io_k8s_kubernetes//cmd/kube-apiserver/app:go_default_library",
+        "@io_k8s_kubernetes//cmd/kube-controller-manager/app:go_default_library",
+        "@io_k8s_kubernetes//cmd/kube-scheduler/app:go_default_library",
+        "@io_k8s_component_base//cli/flag:go_default_library",
+        "@io_k8s_component_base//logs:go_default_library",
+        "@io_k8s_component_base//metrics/prometheus/restclient:go_default_library",
+        "@io_k8s_component_base//metrics/prometheus/version:go_default_library",
+        "@com_github_spf13_cobra//:go_default_library",
+        "@com_github_spf13_pflag//:go_default_library",
     ],
 )
 
diff --git a/core/internal/kubernetes/BUILD.bazel b/core/internal/kubernetes/BUILD.bazel
index 0fa4dc4..e9b0573 100644
--- a/core/internal/kubernetes/BUILD.bazel
+++ b/core/internal/kubernetes/BUILD.bazel
@@ -16,8 +16,8 @@
         "//core/internal/consensus:go_default_library",
         "//core/pkg/fileargs:go_default_library",
         "@io_etcd_go_etcd//clientv3:go_default_library",
-        "@kubernetes//staging/src/k8s.io/client-go/tools/clientcmd:go_default_library",
-        "@kubernetes//staging/src/k8s.io/client-go/tools/clientcmd/api:go_default_library",
+        "@io_k8s_client_go//tools/clientcmd:go_default_library",
+        "@io_k8s_client_go//tools/clientcmd/api:go_default_library",
         "@org_uber_go_zap//:go_default_library",
     ],
 )
diff --git a/core/scripts/BUILD b/core/scripts/BUILD
index 482b29c..87ba08b 100644
--- a/core/scripts/BUILD
+++ b/core/scripts/BUILD
@@ -17,7 +17,7 @@
     name = "test_deps",
     data = [
         ":launch",
-        "//third_party/kubernetes:kubectl",
+        "@io_k8s_kubernetes//cmd/kubectl",
     ],
 )
 
diff --git a/core/scripts/launch.sh b/core/scripts/launch.sh
index 3f4e9b9..d4ab0bb 100755
--- a/core/scripts/launch.sh
+++ b/core/scripts/launch.sh
@@ -9,7 +9,7 @@
 swtpm socket --tpmstate dir=${TMP} --ctrl type=unixio,path=tpm-socket --tpm2 &
 
 qemu-system-x86_64 \
-    -cpu host -smp sockets=1,cpus=1,cores=2,threads=2,maxcpus=4 -m 1024 -machine q35 -enable-kvm -nographic -nodefaults \
+    -cpu host -smp sockets=1,cpus=1,cores=2,threads=2,maxcpus=4 -m 2048 -machine q35 -enable-kvm -nographic -nodefaults \
     -drive if=pflash,format=raw,readonly,file=external/edk2/OVMF_CODE.fd \
     -drive if=pflash,format=raw,snapshot=on,file=external/edk2/OVMF_VARS.fd \
     -drive if=virtio,format=raw,snapshot=on,cache=unsafe,file=core/smalltown.img \
diff --git a/core/scripts/test_boot.sh b/core/scripts/test_boot.sh
index e927c94..4a5dead 100755
--- a/core/scripts/test_boot.sh
+++ b/core/scripts/test_boot.sh
@@ -7,7 +7,7 @@
 # have to worry about cross-compilation or varying build environments.
 #
 # (see https://github.com/bazelbuild/bazel/blob/master/tools/bash/runfiles/runfiles.bash)
-set kubectl_path "external/kubernetes/cmd/kubectl/linux_amd64_pure_stripped/kubectl"
+set kubectl_path "external/io_k8s_kubernetes/cmd/kubectl/linux_amd64_pure_stripped/kubectl"
 
 set timeout 120
 
diff --git a/nogo_config.json b/nogo_config.json
index 43ff53b..1170f0c 100644
--- a/nogo_config.json
+++ b/nogo_config.json
@@ -1,29 +1,44 @@
 {
   "composites": {
     "exclude_files": {
-      "external/kubernetes/": "third_party",
+      "external/io_k8s_kubernetes/": "third_party",
       "external/bazel_gazelle/language/go/": "third_party",
-      "external/com_github_golang_protobuf/": "third_party"
+      "external/com_github_golang_protobuf/": "third_party",
+      "external/com_github_google_gvisor/": "third_party",
+      "external/io_k8s_apimachinery/pkg/runtime/serializer/versioning/": "third_party",
+      "external/io_k8s_sigs_structured_merge_diff/": "third_party",
+      "external/io_k8s_client_go/": "third_party",
+      "external/io_k8s_kube_openapi/": "third_party",
+      "external/io_k8s_apiserver/": "third_party",
+      "external/org_golang_x_tools/": "third_party",
+      "external/io_k8s_apiextensions_apiserver/": "third_party",
+      "external/org_golang_x_text/": "third_party"
     }
   },
   "copylocks": {
     "exclude_files": {
-      "external/kubernetes/": "third_party"
+      "external/io_k8s_kubernetes/": "third_party",
+      "external/com_github_google_gvisor/": "third_party",
+      "external/io_k8s_sigs_structured_merge_diff/": "third_party",
+      "external/io_k8s_component_base/": "third_party",
+      "external/io_k8s_apiserver/": "third_party"
     }
   },
   "lostcancel": {
     "exclude_files": {
       "external/com_github_golang_protobuf/": "third_party",
       "external/com_github_grpc_ecosystem_grpc_gateway/runtime/": "third_party",
-      "external/kubernetes/": "third_party",
+      "external/io_k8s_kubernetes/": "third_party",
       "external/com_github_denisenkom_go_mssqldb/": "third_party"
     }
   },
   "unreachable": {
     "exclude_files": {
-      "external/kubernetes/": "third_party",
+      "external/io_k8s_kubernetes/": "third_party",
       "external/bazel_gazelle/pathtools": "third_party",
-      "external/com_github_magiconair_properties": "third_party"
+      "external/com_github_magiconair_properties": "third_party",
+      "external/com_github_ghodss_yaml": "third_party",
+      "external/io_k8s_kubectl": "third_party"
     }
   },
   "assign": {
@@ -33,24 +48,29 @@
   },
   "unsafeptr": {
     "exclude_files": {
-      "external/kubernetes/vendor/github.com/modern-go/reflect2/": "third_party",
       "external/com_github_modern_go_reflect2/": "third_party",
-      "sqlite3.*go": "third_party"
+      "sqlite3.*go": "third_party",
+      "external/com_github_google_gvisor/": "third_party",
+      "external/io_k8s_sigs_structured_merge_diff/": "third_party"
     }
   },
   "unusedresult": {
     "exclude_files": {
-      "external/kubernetes/": "third_party"
+      "external/io_k8s_kubernetes/": "third_party",
+      "external/com_github_docker_spdystream": "third_party",
+      "external/io_k8s_apimachinery/": "third_party"
     }
   },
   "structtag": {
     "exclude_files": {
-      "external/kubernetes/": "third_party"
+      "external/io_k8s_kubernetes/": "third_party"
     }
   },
   "printf": {
     "exclude_files": {
-      "external/kubernetes/": "third_party"
+      "external/io_k8s_kubernetes/": "third_party",
+      "external/runc/vendor/github.com/vishvananda/netlink": "third_party",
+      "external/com_github_google_gvisor/": "third_party"
     }
   }
 }
diff --git a/scripts/gazelle.sh b/scripts/gazelle.sh
index 551a608..eaffc80 100755
--- a/scripts/gazelle.sh
+++ b/scripts/gazelle.sh
@@ -2,6 +2,4 @@
 # gazelle.sh regenerates BUILD.bazel files for Go source files.
 set -euo pipefail
 
-! bazel run //:go mod tidy
 bazel run //:gazelle -- update
-bazel run //:gazelle -- update-repos -from_file=go.mod -to_macro=third_party/go/repositories.bzl%go_repositories -prune=true
diff --git a/third_party/go/README.md b/third_party/go/README.md
new file mode 100644
index 0000000..2db91bc
--- /dev/null
+++ b/third_party/go/README.md
@@ -0,0 +1,11 @@
+Go dependency managment
+=======================
+
+Status: in limbo, see T725.
+
+Overview
+--------
+
+We currently use external Bazel repositories/workspaces, defined in `third_party/go/repositories.bzl`. These are currently generated by a hack in `third_party/go/gazelle-deps.sh`, based on constraints defined within that same script.
+
+If you need to add a dependency, edit `gazelle-deps.sh` and add your dependency there long the others. To quickly iterate, place it on the top before an `exit 0` statement, then once verified move it to an appropriate position within the list and re-run the script one last time to ensure the generates `repositories.bzl` is up to date with `gazelle-deps.sh`.
diff --git a/third_party/go/gazelle-deps.sh b/third_party/go/gazelle-deps.sh
new file mode 100755
index 0000000..e48282f
--- /dev/null
+++ b/third_party/go/gazelle-deps.sh
@@ -0,0 +1,395 @@
+#!/bin/bash
+set -euo pipefail
+
+# gazelle.sh regenerates third_party/go/repositories.bzl. This in turn allows Go code to access deps.
+# New deps for Smalltown should be defined here and this scripts should then be rerun (it takes a while).
+
+# TODO(T725): This is a temporary workaround (and proof of concept) before we have an alternative Go implementation with a bit more logic in it than this.
+# For some basic documentation, see //third_party/go/README.md.
+
+function gazelle() {
+    echo "gazelle update-repos $@"
+    scripts/bin/bazel run //:gazelle -- update-repos -to_macro=third_party/go/repositories.bzl%go_repositories "$@" 1>/dev/null 2>&1
+}
+
+function gazelleGHRelease() {
+    local owner="$1"
+    local repo="$2"
+    local v="$3"
+    echo " resolving ${owner}/${repo}..."
+    local commit=$(git ls-remote --tags git://github.com/${owner}/${repo} | awk '{ if ($2 == "refs/tags/'${v}'") { print $1 } }')
+    echo " resolved ${owner}/${repo} ${v} to ${commit}"
+    gazelle github.com/${owner}/${repo}@${commit}
+}
+
+function gazelleK8sStaging() {
+    local repo="$1"
+    local v="kubernetes-$2"
+    shift 2
+    local args="$@"
+
+    echo " resolving k8s.io/${repo}..."
+    local commit=$(git ls-remote --tags git://github.com/kubernetes/${repo} | awk '{ if ($2 == "refs/tags/'${v}'") { print $1 } }')
+    echo " resolved k8s.io/${repo} ${v} to ${commit}"
+    gazelle $args k8s.io/${repo}@${commit}
+}
+
+# Start with an empty repository list, with a well-known Kubernetes version.
+# Also add some other deps that need patches.
+cat > third_party/go/repositories.bzl <<EOF
+load("@bazel_gazelle//:deps.bzl", "go_repository")
+
+def go_repositories():
+    go_repository(
+        name = "io_k8s_kubernetes",
+        importpath = "k8s.io/kubernetes",
+        version = "v1.19.0-alpha.2",
+        sum = "h1:kTsLVxmg/z3Fexcvu75zzGEHOYQ17jzIJFWhfQQnXDE=",
+        build_tags = ["providerless"],
+        build_file_proto_mode = "disable",
+        patches = [
+            "//third_party/go/patches:k8s-kubernetes.patch",
+            "//third_party/go/patches:k8s-kubernetes-build.patch",
+        ],
+        patch_args = ["-p1"],
+    )
+
+    go_repository(
+        name = "com_github_google_cadvisor",
+        importpath = "github.com/google/cadvisor",
+        sum = "h1:au7bcM+rjGXLBSfqjofcSONBre8tlIy94jEbp40BCOQ=",
+        version = "v0.36.1-0.20200323171535-8af10c683a96",
+        patches = [
+            "//third_party/go/patches:cadvisor.patch",
+            "//third_party/go/patches:cadvisor-build.patch",
+       ],
+        patch_args = ["-p1"],
+    )
+
+    go_repository(
+        name = "io_k8s_client_go",
+        importpath = "k8s.io/client-go",
+        sum = "h1:yqKw4cTUQraZK3fcVCMeSa+lqKwcjZ5wtcOIPnxQno4=",
+        version = "v0.19.0-alpha.2",
+        patches = [
+            "//third_party/go/patches:k8s-client-go.patch",
+            "//third_party/go/patches:k8s-client-go-build.patch",
+        ],
+        patch_args = ["-p1"],
+    )
+
+    # patches for pure mode
+    go_repository(
+        name = "com_github_containernetworking_plugins",
+        importpath = "github.com/containernetworking/plugins",
+        sum = "h1:5lnwfsAYO+V7yXhysJKy3E1A2Gy9oVut031zfdOzI9w=",
+        version = "v0.8.2",
+        patches = [
+            "//third_party/go/patches:cni-plugins-build.patch",
+        ],
+        patch_args = ["-p1"],
+    )
+
+    # required by containerd, but doesn't folow gazelle name convention
+    go_repository(                                                                                     
+        name = "com_github_opencontainers_runtime-spec",
+        importpath = "github.com/opencontainers/runtime-spec",                      
+        sum = "h1:d9F+LNYwMyi3BDN4GzZdaSiq4otb8duVEWyZjeUtOQI=",                                       
+        version = "v0.1.2-0.20171211145439-b2d941ef6a78",
+    )
+
+    go_repository(
+        name = "com_github_google_gvisor",
+        importpath = "github.com/google/gvisor",
+        sum = "h1:rpcz7X//b7LHYEa8FwGlviAPLkFHz46+RW3ur+kiyhg=",
+        version = "v0.0.0-20200325151121-d8c4eff3f77b",
+        patches = [
+            "//third_party/go/patches:gvisor.patch",
+        ],
+        patch_args = ["-p1"],
+    )
+
+
+EOF
+
+# ONCHANGE: bump //build/print-workspace-status.sh accordingly.
+k8sVersion="1.19.0-alpha.2"
+
+# k8s repo-infra, Fairly old verison, but anything newer seems to fail.
+gazelle k8s.io/repo-infra@df02ded38f9506e5bbcbf21702034b4fef815f2f
+
+
+# k8s staging/ dumps into external repos
+gazelleK8sStaging component-base $k8sVersion
+gazelleK8sStaging cloud-provider $k8sVersion
+gazelleK8sStaging kubelet $k8sVersion -build_file_proto_mode=disable
+gazelleK8sStaging csi-translation-lib $k8sVersion
+gazelleK8sStaging legacy-cloud-providers $k8sVersion
+gazelleK8sStaging apiextensions-apiserver $k8sVersion -build_file_proto_mode=disable
+gazelleK8sStaging kube-aggregator $k8sVersion -build_file_proto_mode=disable
+gazelleK8sStaging metrics $k8sVersion -build_file_proto_mode=disable
+gazelleK8sStaging kube-scheduler $k8sVersion
+gazelleK8sStaging kube-controller-manager $k8sVersion
+gazelleK8sStaging cluster-bootstrap $k8sVersion
+gazelleK8sStaging kube-proxy $k8sVersion
+gazelleK8sStaging kubectl $k8sVersion
+gazelleK8sStaging cli-runtime $k8sVersion
+gazelleK8sStaging api $k8sVersion -build_file_proto_mode=disable
+gazelleK8sStaging apimachinery $k8sVersion -build_file_proto_mode=disable
+gazelleK8sStaging apiserver $k8sVersion -build_file_proto_mode=disable
+gazelleK8sStaging cri-api $k8sVersion -build_file_proto_mode=disable
+gazelleK8sStaging sample-apiserver $k8sVersion
+
+# other k8s deps
+gazelle github.com/spf13/pflag@2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab # v1.0.5
+gazelle github.com/spf13/cobra@f2b07da1e2c38d5f12845a4f607e2e1018cbb1f5 # v0.0.5
+gazelle github.com/blang/semver@b38d23b8782a487059e8fc8773e9a5b228a77cb6 # v3.5.0
+gazelle github.com/coreos/go-systemd@95778dfbb74eb7e4dbaf43bf7d71809650ef8076
+gazelle k8s.io/utils@a9aa75ae1b89
+#gazelle github.com/google/cadvisor@8af10c683a96f85e8ceecfc2b90931aca0ed7448
+gazelle github.com/spf13/afero@588a75ec4f32903aa5e39a2619ba6a4631e28424 # v1.2.2
+gazelle github.com/armon/circbuf@bbbad097214e2918d8543d5201d12bfd7bca254d
+gazelle github.com/container-storage-interface/spec@314ac542302938640c59b6fb501c635f27015326 # v1.2.0
+gazelle github.com/docker/go-connections@3ede32e2033de7505e6500d6c868c2b9ed9f169d # v0.3.0
+gazelle github.com/moby/term@672ec06f55cd
+gazelle k8s.io/kube-openapi@e1beb1bd0f35
+gazelle github.com/go-openapi/spec@2223ab324566e4ace63ab69b9c8fff1b81a40eeb # v0.19.3
+gazelleGHRelease evanphx json-patch v4.2.0
+gazelle -build_file_proto_mode=disable go.etcd.io/etcd@e694b7bb087538c146e188a29753967d189d202b # v3.4.7
+gazelleGHRelease go-openapi jsonpointer v0.19.3
+gazelleGHRelease go-openapi swag v0.19.5
+gazelleGHRelease go-openapi jsonreference v0.19.3
+gazelleGHRelease cyphar filepath-securejoin v0.2.2
+gazelleGHRelease mailru easyjson v0.7.0
+gazelleGHRelease PuerkitoBio purell v1.1.1
+gazelle github.com/PuerkitoBio/urlesc@de5bf2ad4578
+gazelle github.com/mxk/go-flowrate@cca7078d478f
+gazelle cloud.google.com/go@8c41231e01b2085512d98153bcffb847ff9b4b9f # v0.38.0
+gazelleGHRelease karrick godirwalk v1.7.5
+gazelleGHRelease euank go-kmsg-parser v2.0.0
+gazelle github.com/mindprince/gonvml@9ebdce4bb989
+gazelle github.com/checkpoint-restore/go-criu@bdb7599cd87b
+gazelle github.com/mrunalp/fileutils@7d4729fb3618
+gazelle github.com/vishvananda/netns@0a2b9b5464df
+gazelle github.com/munnerz/goautoneg@a7dc8b61c822
+gazelle github.com/NYTimes/gziphandler@56545f4a5d46
+gazelleGHRelease vishvananda netlink v1.1.0
+gazelleGHRelease googleapis gnostic v0.4.1
+gazelle go.uber.org/zap@27376062155ad36be76b0f12cf1572a221d3a48c # v1.10.0
+gazelleGHRelease coreos go-semver v0.3.0
+gazelle go.uber.org/multierr@3c4937480c32f4c13a875a1829af76c98ca3d40a # v1.1.0
+gazelle go.uber.org/atomic@1ea20fb1cbb1cc08cbd0d913a96dead89aa18289 # v1.3.2
+gazelle github.com/coreos/pkg@97fdf19511ea
+gazelleGHRelease morikuni aec v1.0.0 
+gazelleGHRelease lithammer dedent v1.1.0
+gazelleGHRelease grpc-ecosystem go-grpc-prometheus v1.2.0
+gazelle gopkg.in/natefinch/lumberjack.v2@dd45e6a67c53f673bb49ca8a001fd3a63ceb640e # v2.0.0
+gazelleGHRelease robfig cron v1.1.0
+gazelleGHRelease coreos go-oidc v2.1.0
+gazelle gonum.org/v1/gonum@402b1e2868774b0eee0ec7c85bb9a7b36cf650ae # v0.6.2
+gazelle k8s.io/heapster@eea8c9657d0176b52226706765714c6ff6e432cc # v1.2.0
+gazelle gopkg.in/square/go-jose.v2@e94fb177d3668d35ab39c61cbb2f311550557e83 # v2.2.2
+gazelle github.com/pquerna/cachecontrol@0dec1b30a021
+gazelleGHRelease go-openapi validate v0.19.5 
+gazelleGHRelease go-openapi strfmt v0.19.3
+gazelle k8s.io/gengo@e0e292d8aa12
+gazelle golang.org/x/mod@ed3ec21bb8e252814c380df79a80f366440ddb2d # v0.2.0
+gazelle golang.org/x/xerrors@9bdfabe68543c54f90421aeb9a60ef8061b5b544
+gazelleGHRelease grpc-ecosystem grpc-gateway v1.9.5 
+gazelleGHRelease soheilhy cmux v0.1.4
+gazelle github.com/tmc/grpc-websocket-proxy@89b8d40f7ca8
+gazelleGHRelease go-openapi errors v0.19.2
+gazelleGHRelease go-openapi analysis v0.19.5
+gazelleGHRelease go-openapi loads v0.19.4
+gazelleGHRelease dustin go-humanize v1.0.0
+gazelleGHRelease mitchellh mapstructure v1.1.2
+gazelleGHRelease go-openapi runtime v0.19.4
+gazelle github.com/asaskevich/govalidator@f61b66f89f4a
+gazelle go.mongodb.org/mongo-driver@1261197350f3ad46a907489aee7ecc49b39efb82 # v1.1.2
+gazelleGHRelease jonboulle clockwork v0.1.0
+gazelleGHRelease grpc-ecosystem go-grpc-middleware v1.1.0 
+gazelle github.com/xiang90/probing@43a291ad63a2
+gazelleGHRelease gorilla websocket v1.4.0
+gazelleGHRelease google btree v1.0.0
+gazelleGHRelease dgrijalva jwt-go v3.2.0
+gazelleGHRelease go-stack stack v1.8.0
+gazelle github.com/MakeNowJust/heredoc@bb23615498cd
+gazelle github.com/daviddengcn/go-colortext@511bcaf42ccd
+gazelle github.com/liggitt/tabwriter@89fcab3d43de
+gazelle sigs.k8s.io/structured-merge-diff/v3@877aee05330847a873a1a8998b40e12a1e0fde25 # v3.0.0
+gazelle sigs.k8s.io/apiserver-network-proxy/konnectivity-client@v0.0.7
+
+
+# gRPC/proto deps (https://github.com/bazelbuild/rules_go/blob/master/go/workspace.rst#id8)
+# bump down from 1.28.1 to 1.26.0 because https://github.com/etcd-io/etcd/issues/11563
+gazelle google.golang.org/grpc@f5b0812e6fe574d90da76b205e9eb51f6ddb1919 # 1.26.0
+gazelle golang.org/x/net@d3edc9973b7eb1fb302b0ff2c62357091cea9a30 # master
+gazelle golang.org/x/text@f21a4dfb5e38f5895301dc265a8def02365cc3d0 # 0.3.0
+gazelle github.com/golang/groupcache@02826c3e79038b59d737d3b1c0a1d937f71a4433
+
+# containerd, Not an actual release, pinned to commit 8e685f78cf66e2901b2fbed2fdddd64449a74ab9 that has support for the required build tags.
+gazelle \
+    -build_tags no_zfs,no_aufs,no_devicemapper,no_btrfs \
+    -build_file_proto_mode=disable \
+    github.com/containerd/containerd@8e685f78cf66e2901b2fbed2fdddd64449a74ab9
+# containerd deps (taken from github.com/containerd/containerd/vendor.conf)
+gazelle github.com/beorn7/perks@37c8de3658fcb183f997c4e13e8337516ab753e6 # v1.0.1
+gazelle github.com/BurntSushi/toml@3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005 # v0.3.1
+gazelle github.com/cespare/xxhash/v2@d7df74196a9e781ede915320c11c378c1b2f3a1f # v2.1.1
+gazelle github.com/containerd/btrfs@153935315f4ab9be5bf03650a1341454b05efa5d
+gazelle -build_file_proto_mode=disable github.com/containerd/cgroups@7347743e5d1e8500d9f27c8e748e689ed991d92b
+gazelle github.com/containerd/console@8375c3424e4d7b114e8a90a4a40c8e1b40d1d4e6
+gazelle github.com/containerd/continuity@0ec596719c75bfd42908850990acea594b7593ac
+gazelle github.com/containerd/fifo@bda0ff6ed73c67bfb5e62bc9c697f146b7fd7f13
+gazelle github.com/containerd/go-runc@a5c2862aed5e6358b305b0e16bfce58e0549b1cd
+gazelle github.com/containerd/ttrpc@92c8520ef9f86600c650dd540266a007bf03670f
+gazelle github.com/containerd/typeurl@a93fcdb778cd272c6e9b3028b2f42d813e785d40
+gazelle github.com/coreos/go-systemd/v22@2d78030078ef61b3cae27f42ad6d0e46db51b339 # v22.0.0
+gazelle github.com/cpuguy83/go-md2man@7762f7e404f8416dfa1d9bb6a8c192aa9acb4d19 # v1.0.10
+gazelle github.com/docker/go-events@9461782956ad83b30282bf90e31fa6a70c255ba9
+gazelle github.com/docker/go-metrics@b619b3592b65de4f087d9f16863a7e6ff905973c # v0.0.1
+gazelle github.com/docker/go-units@519db1ee28dcc9fd2474ae59fca29a810482bfb1 # v0.4.0
+gazelle github.com/godbus/dbus/v5@37bf87eef99d69c4f1d3528bd66e3a87dc201472 # v5.0.3
+gazelle -build_file_proto_mode=disable github.com/gogo/googleapis@d31c731455cb061f42baff3bda55bad0118b126b # v1.2.0
+gazelle github.com/gogo/protobuf@ba06b47c162d49f2af050fb4c75bcbc86a159d5c # v1.2.1
+gazelle github.com/google/go-cmp@5a6f75716e1203a923a78c9efb94089d857df0f6 # v0.4.0
+gazelle github.com/google/uuid@0cd6bf5da1e1c83f8b45653022c74f71af0538a4 # v1.1.1
+gazelle github.com/hashicorp/errwrap@8a6fb523712970c966eefc6b39ed2c5e74880354 # v1.0.0
+gazelle github.com/hashicorp/go-multierror@886a7fbe3eb1c874d46f623bfa70af45f425b3d1 # v1.0.0
+gazelle github.com/hashicorp/golang-lru@7f827b33c0f158ec5dfbba01bb0b14a4541fd81d # v0.5.3
+gazelle github.com/imdario/mergo@7c29201646fa3de8506f701213473dd407f19646 # v0.3.7
+gazelle github.com/konsorten/go-windows-terminal-sequences@5c8c8bd35d3832f5d134ae1e1e375b69a4d25242 # v1.0.1
+gazelle github.com/matttproud/golang_protobuf_extensions@c12348ce28de40eed0136aa2b644d0ee0650e56c # v1.0.1
+gazelle github.com/Microsoft/go-winio@6c72808b55902eae4c5943626030429ff20f3b63 # v0.4.14
+gazelle -build_file_proto_mode=disable github.com/Microsoft/hcsshim@0b571ac85d7c5842b26d2571de4868634a4c39d7 # v0.8.7-24-g0b571ac8
+gazelle github.com/opencontainers/go-digest@c9281466c8b2f606084ac71339773efd177436e7
+gazelle github.com/opencontainers/image-spec@d60099175f88c47cd379c4738d158884749ed235 # v1.0.1
+gazelle github.com/opencontainers/runtime-spec@29686dbc5559d93fb1ef402eeda3e35c38d75af4 # v1.0.1-59-g29686db
+gazelle github.com/pkg/errors@ba968bfe8b2f7e042a574c888954fccecfa385b4 # v0.8.1
+gazelle github.com/prometheus/client_golang@c42bebe5a5cddfc6b28cd639103369d8a75dfa89 # v1.3.0
+gazelle github.com/prometheus/client_model@d1d2010b5beead3fa1c5f271a5cf626e40b3ad6e # v0.1.0
+gazelle github.com/prometheus/common@287d3e634a1e550c9e463dd7e5a75a422c614505 # v0.7.0
+gazelle github.com/prometheus/procfs@6d489fc7f1d9cd890a250f3ea3431b1744b9623f # v0.0.8
+gazelle github.com/russross/blackfriday@05f3235734ad95d0016f6a23902f06461fcf567a # v1.5.2
+gazelle github.com/sirupsen/logrus@8bdbc7bcc01dcbb8ec23dc8a28e332258d25251f # v1.4.1
+gazelle github.com/syndtr/gocapability@d98352740cb2c55f81556b63d4a1ec64c5a319c2
+gazelle github.com/urfave/cli@bfe2e925cfb6d44b40ad3a779165ea7e8aff9212 # v1.22.0
+gazelle go.etcd.io/bbolt@a0458a2b35708eef59eb5f620ceb3cd1c01a824d # v1.3.3
+gazelle go.opencensus.io@9c377598961b706d1542bd2d84d538b5094d596e # v0.22.0
+gazelle golang.org/x/sync@42b317875d0fa942474b76e1b46a6060d720ae6e
+gazelle golang.org/x/sys@c990c680b611ac1aeb7d8f2af94a825f98d69720
+gazelle google.golang.org/genproto@d80a6e20e776b0b17a324d0ba1ab50a39c8e8944
+gazelle gotest.tools@1083505acf35a0bd8a696b26837e1fb3187a7a83 # v2.3.0
+gazelle github.com/cilium/ebpf@60c3aa43f488292fe2ee50fb8b833b383ca8ebbb
+gazelle sigs.k8s.io/kustomize@a6f65144121d1955266b0cd836ce954c04122dc8 # v2.0.3
+gazelle vbom.ml/util@db5cfe13f5cc
+gazelle github.com/exponent-io/jsonpath@d6023ce2651d 
+
+# containerd/cri
+gazelle -build_file_proto_mode=disable github.com/containerd/cri@c0294ebfe0b4342db85c0faf7727ceb8d8c3afce # master
+gazelle github.com/containerd/go-cni@0d360c50b10b350b6bb23863fd4dfb1c232b01c9
+gazelle github.com/containernetworking/cni@4cfb7b568922a3c79a23e438dc52fe537fc9687e # v0.7.1
+# containerd/cri wants 0.7.6, but that actually doesn't build against containernetworking/cni 0.7.1. Bump to 0.8.2,
+# which does.
+gazelle github.com/davecgh/go-spew@8991bc29aa16c548c550c7ff78260e27b9ab7c73 # v1.1.1
+gazelle github.com/docker/distribution@0d3efadf0154c2b8a4e7b6621fff9809655cc580
+gazelle github.com/docker/docker@d1d5f6476656c6aad457e2a91d3436e66b6f2251
+gazelle github.com/docker/spdystream@449fdfce4d962303d702fec724ef0ad181c92528
+gazelle github.com/emicklei/go-restful@b993709ae1a4f6dd19cfa475232614441b11c9d5 # v2.9.5
+gazelle github.com/google/gofuzz@f140a6486e521aad38f5917de355cbf147cc0496 # v1.0.0
+gazelle github.com/json-iterator/go@03217c3e97663914aec3faafde50d081f197a0a2 # v1.1.8
+gazelle github.com/modern-go/concurrent@bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94 # 1.0.3
+gazelle github.com/modern-go/reflect2@4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd # 1.0.1
+gazelle -build_tags=selinux github.com/opencontainers/selinux@5215b1806f52b1fcc2070a8826c542c9d33cd3cf
+gazelle github.com/seccomp/libseccomp-golang@689e3c1541a84461afc49c1c87352a6cedf72e9c # v0.9.1
+gazelle github.com/stretchr/testify@221dbe5ed46703ee255b1da0dec05086f5035f62 # v1.4.0
+gazelle github.com/tchap/go-patricia@666120de432aea38ab06bd5c818f04f4129882c9 # v2.2.6
+gazelle golang.org/x/crypto@69ecbb4d6d5dab05e49161c6e77ea40a030884e1
+gazelle golang.org/x/oauth2@0f29369cfe4552d0e4bcddc57cc75f4d7e672a33
+gazelle golang.org/x/time@9d24e82272b4f38b78bc8cff74fa936d31ccd8ef
+gazelle gopkg.in/inf.v0@d2d2541c53f18d2a059457998ce2876cc8e67cbf # v0.9.1
+gazelle gopkg.in/yaml.v2@53403b58ad1b561927d19068c655246f2db79d48 # v2.2.8
+gazelle k8s.io/klog@2ca9ad30301bf30a8a6e0fa2110db6b8df699a91 # v1.0.0
+#k8s.io/kubernetes                                   d224476cd0730baca2b6e357d144171ed74192d6 # v1.17.1
+gazelle sigs.k8s.io/yaml@fd68e9863619f6ec2fdd8625fe1f02e7c877e480 # v1.1.0
+gazelleGHRelease fatih camelcase v1.0.0
+gazelleGHRelease ghodss yaml v1.0.0 
+gazelle github.com/gregjones/httpcache@9cad4c3443a7
+gazelleGHRelease mitchellh go-wordwrap v1.0.0
+gazelleGHRelease peterbourgon diskv v2.0.1
+gazelle github.com/Azure/go-ansiterm@d6e3b3328b78
+gazelle github.com/chai2010/gettext-go@c6fed771bfd5
+
+
+# containernetworking/plugins dependencies
+gazelle github.com/alexflint/go-filemutex@72bdc8eae2ae
+gazelleGHRelease coreos go-iptables v0.4.5
+gazelle github.com/safchain/ethtool@42ed695e3de8
+gazelle github.com/j-keck/arping@2cf9dc699c56
+
+
+# gvisor dependencies
+gazelleGHRelease grpc grpc v1.26.0
+gazelle github.com/google/subcommands@636abe8753b8
+gazelle github.com/cenkalti/backoff@2146c93394225c3732078705043ce9f26584d334 # old vesrion
+gazelleGHRelease kr pretty v0.2.0
+gazelleGHRelease kr pty v1.1.1
+gazelle github.com/gofrs/flock@886344bea079
+gazelle golang.org/x/time@555d28b269f0
+
+# runc 
+gazelleGHRelease opencontainers runc v1.0.0-rc10
+
+# sqlboiler and deps
+gazelleGHRelease volatiletech sqlboiler v3.6.1
+gazelleGHRelease friendsofgo errors v0.9.2
+gazelleGHRelease go-sql-driver mysql v1.5.0
+gazelleGHRelease spf13 cast v1.3.1
+gazelleGHRelease spf13 cobra v1.0.0
+gazelleGHRelease volatiletech null v8.0.0
+gazelleGHRelease volatiletech randomize v0.0.1
+gazelleGHRelease volatiletech strmangle v0.0.1
+gazelleGHRelease lib pq v1.2.0
+gazelle github.com/denisenkom/go-mssqldb@bbfc9a55622e
+gazelle github.com/ericlagergren/decimal@73749d4874d5
+gazelle github.com/rubenv/sql-migrate@9355dd04f4b3
+gazelle github.com/glerchundi/sqlboiler-crdb@62014c8c8df1
+gazelleGHRelease mitchellh cli v1.0.0
+gazelle github.com/olekukonko/tablewriter@a0225b3f23b5
+gazelleGHRelease mattn go-sqlite3 v1.12.0
+gazelle gopkg.in/gorp.v1@v1.7.2
+gazelle github.com/volatiletech/inflect@e7201282ae8d
+gazelleGHRelease mattn go-runewidth v0.0.2
+gazelle github.com/golang-sql/civil@cb61b32ac6fe
+gazelleGHRelease posener complete v1.1.1
+gazelleGHRelease mattn go-isatty v0.0.4
+gazelle github.com/armon/go-radix@7fddfc383310
+gazelleGHRelease bgentry speakeasy v0.1.0
+gazelleGHRelease fatih color v1.7.0
+gazelleGHRelease spf13 viper v1.3.2
+gazelleGHRelease hashicorp hcl v1.0.0
+gazelleGHRelease spf13 jwalterweatherman v1.0.0
+gazelleGHRelease magiconair properties v1.8.0
+gazelleGHRelease mattn go-colorable v0.0.9
+
+# our own deps
+gazelle github.com/google/go-tpm@ae6dd98980d4
+gazelle github.com/google/go-tpm-tools@f8c04ff88181
+gazelle github.com/insomniacslk/dhcp@5dd7202f19711228cb4a51aa8b3415421c2edefe
+gazelle github.com/cenkalti/backoff/v4@18fe4ce5a8550e0d0919b680ad3c080a5455bddf # v4.0.2
+gazelle github.com/rekby/gpt@a930afbc6edcc89c83d39b79e52025698156178d
+gazelle github.com/yalue/native_endian@51013b03be4fd97b0aabf29a6923e60359294186
+# used by incomniacslk/dhcp
+gazelle github.com/mdlayher/ethernet@0394541c37b7f86a10e0b49492f6d4f605c34163
+gazelle github.com/mdlayher/raw@50f2db8cc0658568575938a39dbaa46172921d98
+# used by insomniacslk/dhcp for pkg/uio
+gazelleGHRelease u-root u-root v6.0.0
+gazelleGHRelease diskfs go-diskfs v1.0.0
+# used by diskfs/go-diskfs
+gazelle gopkg.in/djherbis/times.v1@847c5208d8924cea0acea3376ff62aede93afe39
+gazelleGHRelease kevinburke go-bindata v3.16.0
+
+# delta & deltagen deps
+gazelleGHRelease gofrs uuid v3.2.0
+gazelleGHRelease lyft protoc-gen-star v0.4.14
+
diff --git a/third_party/go/kubernetes_version_def.bzl b/third_party/go/kubernetes_version_def.bzl
new file mode 100644
index 0000000..bb409bf
--- /dev/null
+++ b/third_party/go/kubernetes_version_def.bzl
@@ -0,0 +1,42 @@
+#  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.
+
+# This reimplements k8s.io/kubernetes-compatible version_x_defs, while namespacing
+# stamp variables with KUBERNETES_*.
+# The generated build defs then are defines by the workspace status script, see
+# //build/print-workspace-status.sh.
+
+def version_x_defs():
+    stamp_pkgs = [
+        "k8s.io/component-base/version",
+        "k8s.io/client-go/pkg/version",
+    ]
+
+    stamp_vars = [
+        "buildDate",
+        "gitCommit",
+        "gitMajor",
+        "gitMinor",
+        "gitTreeState",
+        "gitVersion",
+    ]
+
+    # Generate the cross-product.
+    x_defs = {}
+    for pkg in stamp_pkgs:
+        for var in stamp_vars:
+            x_defs["%s.%s" % (pkg, var)] = "{KUBERNETES_%s}" % var
+    return x_defs
diff --git a/third_party/kubernetes/external/BUILD b/third_party/go/patches/BUILD
similarity index 100%
rename from third_party/kubernetes/external/BUILD
rename to third_party/go/patches/BUILD
diff --git a/third_party/go/patches/cadvisor-build.patch b/third_party/go/patches/cadvisor-build.patch
new file mode 100644
index 0000000..5e7a11f
--- /dev/null
+++ b/third_party/go/patches/cadvisor-build.patch
@@ -0,0 +1,47 @@
+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 com_github_google_cadvisor.orig/fs/fs.go com_github_google_cadvisor/fs/fs.go
+--- com_github_google_cadvisor.orig/fs/BUILD.bazel	2020-04-15 17:54:23.086143468 +0200
++++ com_github_google_cadvisor/fs/BUILD.bazel	2020-04-15 17:56:17.098546899 +0200
+@@ -12,14 +12,12 @@
+         "@io_bazel_rules_go//go/platform:android": [
+             "//devicemapper:go_default_library",
+             "//utils:go_default_library",
+-            "@com_github_mistifyio_go_zfs//:go_default_library",
+             "@io_k8s_klog//:go_default_library",
+             "@io_k8s_utils//mount:go_default_library",
+         ],
+         "@io_bazel_rules_go//go/platform:linux": [
+             "//devicemapper:go_default_library",
+             "//utils:go_default_library",
+-            "@com_github_mistifyio_go_zfs//:go_default_library",
+             "@io_k8s_klog//:go_default_library",
+             "@io_k8s_utils//mount:go_default_library",
+         ],
+diff -ur com_github_google_cadvisor.orig/fs/fs.go com_github_google_cadvisor/fs/fs.go
+--- com_github_google_cadvisor.orig/container/docker/BUILD.bazel	2020-04-15 17:54:23.086143468 +0200
++++ com_github_google_cadvisor/container/docker/BUILD.bazel	2020-04-15 17:56:17.098546899 +0200
+@@ -21,7 +21,6 @@
+         "//info/v1:go_default_library",
+         "//machine:go_default_library",
+         "//watcher:go_default_library",
+-        "//zfs:go_default_library",
+         "@com_github_blang_semver//:go_default_library",
+         "@com_github_docker_docker//api/types:go_default_library",
+         "@com_github_docker_docker//api/types/container:go_default_library",
+
diff --git a/third_party/go/patches/cadvisor.patch b/third_party/go/patches/cadvisor.patch
new file mode 100644
index 0000000..9761dee
--- /dev/null
+++ b/third_party/go/patches/cadvisor.patch
@@ -0,0 +1,415 @@
+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 rips out ZFS support from cadvisor. This should be turned into an upstream change for allowing zfs to be disabled via a build tag.
+
+diff -ur com_github_google_cadvisor.orig/container/docker/factory.go com_github_google_cadvisor/container/docker/factory.go
+--- com_github_google_cadvisor.orig/container/docker/factory.go	2020-04-15 17:54:23.082143453 +0200
++++ com_github_google_cadvisor/container/docker/factory.go	2020-04-16 15:08:47.394501543 +0200
+@@ -34,7 +34,6 @@
+ 	info "github.com/google/cadvisor/info/v1"
+ 	"github.com/google/cadvisor/machine"
+ 	"github.com/google/cadvisor/watcher"
+-	"github.com/google/cadvisor/zfs"
+ 
+ 	docker "github.com/docker/docker/client"
+ 	"golang.org/x/net/context"
+@@ -102,7 +101,6 @@
+ 	aufsStorageDriver         storageDriver = "aufs"
+ 	overlayStorageDriver      storageDriver = "overlay"
+ 	overlay2StorageDriver     storageDriver = "overlay2"
+-	zfsStorageDriver          storageDriver = "zfs"
+ )
+ 
+ type dockerFactory struct {
+@@ -127,8 +125,6 @@
+ 
+ 	thinPoolName    string
+ 	thinPoolWatcher *devicemapper.ThinPoolWatcher
+-
+-	zfsWatcher *zfs.ZfsWatcher
+ }
+ 
+ func (self *dockerFactory) String() string {
+@@ -157,7 +153,6 @@
+ 		self.includedMetrics,
+ 		self.thinPoolName,
+ 		self.thinPoolWatcher,
+-		self.zfsWatcher,
+ 	)
+ 	return
+ }
+@@ -246,21 +241,6 @@
+ 	return thinPoolWatcher, nil
+ }
+ 
+-func startZfsWatcher(dockerInfo *dockertypes.Info) (*zfs.ZfsWatcher, error) {
+-	filesystem, err := dockerutil.DockerZfsFilesystem(*dockerInfo)
+-	if err != nil {
+-		return nil, err
+-	}
+-
+-	zfsWatcher, err := zfs.NewZfsWatcher(filesystem)
+-	if err != nil {
+-		return nil, err
+-	}
+-
+-	go zfsWatcher.Start()
+-	return zfsWatcher, nil
+-}
+-
+ func ensureThinLsKernelVersion(kernelVersion string) error {
+ 	// kernel 4.4.0 has the proper bug fixes to allow thin_ls to work without corrupting the thin pool
+ 	minKernelVersion := semver.MustParse("4.4.0")
+@@ -358,14 +338,6 @@
+ 		thinPoolName = status.DriverStatus[dockerutil.DriverStatusPoolName]
+ 	}
+ 
+-	var zfsWatcher *zfs.ZfsWatcher
+-	if storageDriver(dockerInfo.Driver) == zfsStorageDriver {
+-		zfsWatcher, err = startZfsWatcher(dockerInfo)
+-		if err != nil {
+-			klog.Errorf("zfs filesystem stats will not be reported: %v", err)
+-		}
+-	}
+-
+ 	klog.V(1).Infof("Registering Docker factory")
+ 	f := &dockerFactory{
+ 		cgroupSubsystems:   cgroupSubsystems,
+@@ -379,7 +351,6 @@
+ 		includedMetrics:    includedMetrics,
+ 		thinPoolName:       thinPoolName,
+ 		thinPoolWatcher:    thinPoolWatcher,
+-		zfsWatcher:         zfsWatcher,
+ 	}
+ 
+ 	container.RegisterContainerHandlerFactory(f, []watcher.ContainerWatchSource{watcher.Raw})
+diff -ur com_github_google_cadvisor.orig/container/docker/handler.go com_github_google_cadvisor/container/docker/handler.go
+--- com_github_google_cadvisor.orig/container/docker/handler.go	2020-04-15 17:54:23.082143453 +0200
++++ com_github_google_cadvisor/container/docker/handler.go	2020-04-16 15:45:56.432489633 +0200
+@@ -25,12 +25,10 @@
+ 
+ 	"github.com/google/cadvisor/container"
+ 	"github.com/google/cadvisor/container/common"
+-	dockerutil "github.com/google/cadvisor/container/docker/utils"
+ 	containerlibcontainer "github.com/google/cadvisor/container/libcontainer"
+ 	"github.com/google/cadvisor/devicemapper"
+ 	"github.com/google/cadvisor/fs"
+ 	info "github.com/google/cadvisor/info/v1"
+-	"github.com/google/cadvisor/zfs"
+ 
+ 	dockercontainer "github.com/docker/docker/api/types/container"
+ 	docker "github.com/docker/docker/client"
+@@ -87,9 +85,6 @@
+ 	// the devicemapper poolname
+ 	poolName string
+ 
+-	// zfsParent is the parent for docker zfs
+-	zfsParent string
+-
+ 	// Reference to the container
+ 	reference info.ContainerReference
+ 
+@@ -130,7 +125,6 @@
+ 	includedMetrics container.MetricSet,
+ 	thinPoolName string,
+ 	thinPoolWatcher *devicemapper.ThinPoolWatcher,
+-	zfsWatcher *zfs.ZfsWatcher,
+ ) (container.ContainerHandler, error) {
+ 	// Create the cgroup paths.
+ 	cgroupPaths := common.MakeCgroupPaths(cgroupSubsystems.MountPoints, name)
+@@ -164,8 +158,6 @@
+ 	// For devicemapper, we only need the thin pool name, and that is passed in to this call
+ 	var (
+ 		rootfsStorageDir string
+-		zfsFilesystem    string
+-		zfsParent        string
+ 	)
+ 	switch storageDriver {
+ 	case aufsStorageDriver:
+@@ -174,13 +166,6 @@
+ 		rootfsStorageDir = path.Join(storageDir, string(storageDriver), rwLayerID, overlayRWLayer)
+ 	case overlay2StorageDriver:
+ 		rootfsStorageDir = path.Join(storageDir, string(storageDriver), rwLayerID, overlay2RWLayer)
+-	case zfsStorageDriver:
+-		status, err := Status()
+-		if err != nil {
+-			return nil, fmt.Errorf("unable to determine docker status: %v", err)
+-		}
+-		zfsParent = status.DriverStatus[dockerutil.DriverStatusParentDataset]
+-		zfsFilesystem = path.Join(zfsParent, rwLayerID)
+ 	}
+ 
+ 	// We assume that if Inspect fails then the container is not known to docker.
+@@ -200,7 +185,6 @@
+ 		envs:               make(map[string]string),
+ 		labels:             ctnr.Config.Labels,
+ 		includedMetrics:    includedMetrics,
+-		zfsParent:          zfsParent,
+ 	}
+ 	// Timestamp returned by Docker is in time.RFC3339Nano format.
+ 	handler.creationTime, err = time.Parse(time.RFC3339Nano, ctnr.Created)
+@@ -244,9 +228,6 @@
+ 		handler.fsHandler = &dockerFsHandler{
+ 			fsHandler:       common.NewFsHandler(common.DefaultPeriod, rootfsStorageDir, otherStorageDir, fsInfo),
+ 			thinPoolWatcher: thinPoolWatcher,
+-			zfsWatcher:      zfsWatcher,
+-			deviceID:        ctnr.GraphDriver.Data["DeviceId"],
+-			zfsFilesystem:   zfsFilesystem,
+ 		}
+ 	}
+ 
+@@ -271,7 +252,7 @@
+ }
+ 
+ // dockerFsHandler is a composite FsHandler implementation the incorporates
+-// the common fs handler, a devicemapper ThinPoolWatcher, and a zfsWatcher
++// the common fs handler and a devicemapper ThinPoolWatcher
+ type dockerFsHandler struct {
+ 	fsHandler common.FsHandler
+ 
+@@ -279,11 +260,6 @@
+ 	thinPoolWatcher *devicemapper.ThinPoolWatcher
+ 	// deviceID is the id of the container's fs device
+ 	deviceID string
+-
+-	// zfsWatcher is the zfs filesystem watcher
+-	zfsWatcher *zfs.ZfsWatcher
+-	// zfsFilesystem is the docker zfs filesystem
+-	zfsFilesystem string
+ }
+ 
+ var _ common.FsHandler = &dockerFsHandler{}
+@@ -316,16 +292,6 @@
+ 			usage.TotalUsageBytes += thinPoolUsage
+ 		}
+ 	}
+-
+-	if h.zfsWatcher != nil {
+-		zfsUsage, err := h.zfsWatcher.GetUsage(h.zfsFilesystem)
+-		if err != nil {
+-			klog.V(5).Infof("unable to get fs usage from zfs for filesystem %s: %v", h.zfsFilesystem, err)
+-		} else {
+-			usage.BaseUsageBytes = zfsUsage
+-			usage.TotalUsageBytes += zfsUsage
+-		}
+-	}
+ 	return usage
+ }
+ 
+@@ -389,8 +355,6 @@
+ 			return fmt.Errorf("unable to determine device info for dir: %v: %v", self.rootfsStorageDir, err)
+ 		}
+ 		device = deviceInfo.Device
+-	case zfsStorageDriver:
+-		device = self.zfsParent
+ 	default:
+ 		return nil
+ 	}
+diff -ur com_github_google_cadvisor.orig/container/docker/utils/docker.go com_github_google_cadvisor/container/docker/utils/docker.go
+--- com_github_google_cadvisor.orig/container/docker/utils/docker.go	2020-04-15 17:54:23.082143453 +0200
++++ com_github_google_cadvisor/container/docker/utils/docker.go	2020-04-16 15:10:30.379817831 +0200
+@@ -69,12 +69,3 @@
+ 
+ 	return metadataDevice, nil
+ }
+-
+-func DockerZfsFilesystem(info dockertypes.Info) (string, error) {
+-	filesystem := DriverStatusValue(info.DriverStatus, DriverStatusParentDataset)
+-	if len(filesystem) == 0 {
+-		return "", fmt.Errorf("Could not get zfs filesystem")
+-	}
+-
+-	return filesystem, nil
+-}
+diff -ur com_github_google_cadvisor.orig/fs/fs.go com_github_google_cadvisor/fs/fs.go
+--- com_github_google_cadvisor.orig/fs/fs.go	2020-04-15 17:54:23.086143468 +0200
++++ com_github_google_cadvisor/fs/fs.go	2020-04-16 15:39:57.294333566 +0200
+@@ -32,7 +32,6 @@
+ 
+ 	"github.com/google/cadvisor/devicemapper"
+ 	"github.com/google/cadvisor/utils"
+-	zfs "github.com/mistifyio/go-zfs"
+ 
+ 	"k8s.io/klog"
+ 	"k8s.io/utils/mount"
+@@ -167,11 +166,9 @@
+ 
+ 	supportedFsType := map[string]bool{
+ 		// all ext systems are checked through prefix.
+-		"btrfs":   true,
+ 		"overlay": true,
+ 		"tmpfs":   true,
+ 		"xfs":     true,
+-		"zfs":     true,
+ 	}
+ 
+ 	for _, mount := range mounts {
+@@ -200,17 +197,6 @@
+ 		if mount.FsType == "tmpfs" {
+ 			mount.Source = mount.MountPoint
+ 		}
+-		// btrfs fix: following workaround fixes wrong btrfs Major and Minor Ids reported in /proc/self/mountinfo.
+-		// instead of using values from /proc/self/mountinfo we use stat to get Ids from btrfs mount point
+-		if mount.FsType == "btrfs" && mount.Major == 0 && strings.HasPrefix(mount.Source, "/dev/") {
+-			major, minor, err := getBtrfsMajorMinorIds(&mount)
+-			if err != nil {
+-				klog.Warningf("%s", err)
+-			} else {
+-				mount.Major = major
+-				mount.Minor = minor
+-			}
+-		}
+ 
+ 		// overlay fix: Making mount source unique for all overlay mounts, using the mount's major and minor ids.
+ 		if mount.FsType == "overlay" {
+@@ -312,7 +298,7 @@
+ 
+ 	// TODO(rjnagal): Detect docker root and graphdriver directories from docker info.
+ 	dockerRoot := context.Docker.Root
+-	for _, dir := range []string{"devicemapper", "btrfs", "aufs", "overlay", "overlay2", "zfs"} {
++	for _, dir := range []string{"devicemapper", "overlay", "overlay2"} {
+ 		dockerImagePaths[path.Join(dockerRoot, dir)] = struct{}{}
+ 	}
+ 	for dockerRoot != "/" && dockerRoot != "." {
+@@ -390,14 +376,6 @@
+ 				fs.Capacity, fs.Free, fs.Available, err = getDMStats(device, partition.blockSize)
+ 				klog.V(5).Infof("got devicemapper fs capacity stats: capacity: %v free: %v available: %v:", fs.Capacity, fs.Free, fs.Available)
+ 				fs.Type = DeviceMapper
+-			case ZFS.String():
+-				if _, devzfs := os.Stat("/dev/zfs"); os.IsExist(devzfs) {
+-					fs.Capacity, fs.Free, fs.Available, err = getZfstats(device)
+-					fs.Type = ZFS
+-					break
+-				}
+-				// if /dev/zfs is not present default to VFS
+-				fallthrough
+ 			default:
+ 				var inodes, inodesFree uint64
+ 				if utils.FileExists(partition.mountpoint) {
+@@ -521,30 +499,6 @@
+ 		}
+ 	}
+ 
+-	mount, found := self.mounts[dir]
+-	// try the parent dir if not found until we reach the root dir
+-	// this is an issue on btrfs systems where the directory is not
+-	// the subvolume
+-	for !found {
+-		pathdir, _ := filepath.Split(dir)
+-		// break when we reach root
+-		if pathdir == "/" {
+-			break
+-		}
+-		// trim "/" from the new parent path otherwise the next possible
+-		// filepath.Split in the loop will not split the string any further
+-		dir = strings.TrimSuffix(pathdir, "/")
+-		mount, found = self.mounts[dir]
+-	}
+-
+-	if found && mount.FsType == "btrfs" && mount.Major == 0 && strings.HasPrefix(mount.Source, "/dev/") {
+-		major, minor, err := getBtrfsMajorMinorIds(&mount)
+-		if err != nil {
+-			klog.Warningf("%s", err)
+-		} else {
+-			return &DeviceInfo{mount.Source, uint(major), uint(minor)}, nil
+-		}
+-	}
+ 	return nil, fmt.Errorf("could not find device with major: %d, minor: %d in cached partitions map", major, minor)
+ }
+ 
+@@ -715,18 +669,6 @@
+ 	return used, total, nil
+ }
+ 
+-// getZfstats returns ZFS mount stats using zfsutils
+-func getZfstats(poolName string) (uint64, uint64, uint64, error) {
+-	dataset, err := zfs.GetDataset(poolName)
+-	if err != nil {
+-		return 0, 0, 0, err
+-	}
+-
+-	total := dataset.Used + dataset.Avail + dataset.Usedbydataset
+-
+-	return total, dataset.Avail, dataset.Avail, nil
+-}
+-
+ // Simple io.Writer implementation that counts how many bytes were written.
+ type byteCounter struct{ bytesWritten uint64 }
+ 
+@@ -734,33 +676,3 @@
+ 	b.bytesWritten += uint64(len(p))
+ 	return len(p), nil
+ }
+-
+-// Get major and minor Ids for a mount point using btrfs as filesystem.
+-func getBtrfsMajorMinorIds(mount *mount.MountInfo) (int, int, error) {
+-	// btrfs fix: following workaround fixes wrong btrfs Major and Minor Ids reported in /proc/self/mountinfo.
+-	// instead of using values from /proc/self/mountinfo we use stat to get Ids from btrfs mount point
+-
+-	buf := new(syscall.Stat_t)
+-	err := syscall.Stat(mount.Source, buf)
+-	if err != nil {
+-		err = fmt.Errorf("stat failed on %s with error: %s", mount.Source, err)
+-		return 0, 0, err
+-	}
+-
+-	klog.V(4).Infof("btrfs mount %#v", mount)
+-	if buf.Mode&syscall.S_IFMT == syscall.S_IFBLK {
+-		err := syscall.Stat(mount.MountPoint, buf)
+-		if err != nil {
+-			err = fmt.Errorf("stat failed on %s with error: %s", mount.MountPoint, err)
+-			return 0, 0, err
+-		}
+-
+-		// The type Dev and Rdev in Stat_t are 32bit on mips.
+-		klog.V(4).Infof("btrfs dev major:minor %d:%d\n", int(major(uint64(buf.Dev))), int(minor(uint64(buf.Dev))))    // nolint: unconvert
+-		klog.V(4).Infof("btrfs rdev major:minor %d:%d\n", int(major(uint64(buf.Rdev))), int(minor(uint64(buf.Rdev)))) // nolint: unconvert
+-
+-		return int(major(uint64(buf.Dev))), int(minor(uint64(buf.Dev))), nil // nolint: unconvert
+-	} else {
+-		return 0, 0, fmt.Errorf("%s is not a block device", mount.Source)
+-	}
+-}
+diff -ur com_github_google_cadvisor.orig/fs/fs_test.go com_github_google_cadvisor/fs/fs_test.go
+--- com_github_google_cadvisor.orig/fs/fs_test.go	2020-04-15 17:54:23.086143468 +0200
++++ com_github_google_cadvisor/fs/fs_test.go	2020-04-16 15:10:42.829856068 +0200
+@@ -516,7 +516,6 @@
+ 				{Root: "/", MountPoint: "/b", Source: "/dev/sdb", FsType: "ext4", Major: 253, Minor: 1},
+ 				{Root: "/", MountPoint: "/c", Source: "/dev/sdc", FsType: "btrfs", Major: 253, Minor: 2},
+ 				{Root: "/", MountPoint: "/d", Source: "/dev/sdd", FsType: "xfs", Major: 253, Minor: 3},
+-				{Root: "/", MountPoint: "/e", Source: "/dev/sde", FsType: "zfs", Major: 253, Minor: 4},
+ 				{Root: "/", MountPoint: "/f", Source: "overlay", FsType: "overlay", Major: 253, Minor: 5},
+ 				{Root: "/", MountPoint: "/test1", Source: "tmpfs", FsType: "tmpfs", Major: 253, Minor: 4},
+ 				{Root: "/", MountPoint: "/test2", Source: "tmpfs", FsType: "tmpfs", Major: 253, Minor: 4},
+@@ -526,7 +525,6 @@
+ 				"/dev/sdb":      {fsType: "ext4", mountpoint: "/b", major: 253, minor: 1},
+ 				"/dev/sdc":      {fsType: "btrfs", mountpoint: "/c", major: 253, minor: 2},
+ 				"/dev/sdd":      {fsType: "xfs", mountpoint: "/d", major: 253, minor: 3},
+-				"/dev/sde":      {fsType: "zfs", mountpoint: "/e", major: 253, minor: 4},
+ 				"overlay_253-5": {fsType: "overlay", mountpoint: "/f", major: 253, minor: 5},
+ 				"/test1":        {fsType: "tmpfs", mountpoint: "/test1", major: 253, minor: 4},
+ 				"/test2":        {fsType: "tmpfs", mountpoint: "/test2", major: 253, minor: 4},
+diff -ur com_github_google_cadvisor.orig/fs/types.go com_github_google_cadvisor/fs/types.go
+--- com_github_google_cadvisor.orig/fs/types.go	2020-04-15 17:54:23.086143468 +0200
++++ com_github_google_cadvisor/fs/types.go	2020-04-16 15:10:48.264872763 +0200
+@@ -47,7 +47,6 @@
+ }
+ 
+ const (
+-	ZFS          FsType = "zfs"
+ 	DeviceMapper FsType = "devicemapper"
+ 	VFS          FsType = "vfs"
+ )
diff --git a/third_party/go/patches/cni-plugins-build.patch b/third_party/go/patches/cni-plugins-build.patch
new file mode 100644
index 0000000..e9cef5b
--- /dev/null
+++ b/third_party/go/patches/cni-plugins-build.patch
@@ -0,0 +1,64 @@
+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 16e16b82c44cf48f0752a74de83845263fd04fda Mon Sep 17 00:00:00 2001
+From: Lorenz Brun <lorenz@brun.one>
+Date: Wed, 5 Feb 2020 16:37:42 +0100
+Subject: [PATCH] Build the plugins we need in pure mode
+
+---
+ plugins/ipam/host-local/BUILD.bazel | 1 +
+ plugins/main/loopback/BUILD.bazel   | 1 +
+ plugins/main/ptp/BUILD.bazel        | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/plugins/ipam/host-local/BUILD.bazel b/plugins/ipam/host-local/BUILD.bazel
+index ce1f2d6..72817a6 100644
+--- a/plugins/ipam/host-local/BUILD.bazel
++++ b/plugins/ipam/host-local/BUILD.bazel
+@@ -22,6 +22,7 @@ go_library(
+ go_binary(
+     name = "host-local",
+     embed = [":go_default_library"],
++    pure = "on",
+     visibility = ["//visibility:public"],
+ )
+ 
+diff --git a/plugins/main/loopback/BUILD.bazel b/plugins/main/loopback/BUILD.bazel
+index c4d6e00..952bfb1 100644
+--- a/plugins/main/loopback/BUILD.bazel
++++ b/plugins/main/loopback/BUILD.bazel
+@@ -19,6 +19,7 @@ go_library(
+ go_binary(
+     name = "loopback",
+     embed = [":go_default_library"],
++    pure = "on",
+     visibility = ["//visibility:public"],
+ )
+ 
+diff --git a/plugins/main/ptp/BUILD.bazel b/plugins/main/ptp/BUILD.bazel
+index 512de12..2eb5d50 100644
+--- a/plugins/main/ptp/BUILD.bazel
++++ b/plugins/main/ptp/BUILD.bazel
+@@ -23,6 +23,7 @@ go_library(
+ go_binary(
+     name = "ptp",
+     embed = [":go_default_library"],
++    pure = "on",
+     visibility = ["//visibility:public"],
+ )
+ 
+-- 
+2.20.1
diff --git a/third_party/go/patches/gvisor.patch b/third_party/go/patches/gvisor.patch
new file mode 100644
index 0000000..143ee59
--- /dev/null
+++ b/third_party/go/patches/gvisor.patch
@@ -0,0 +1,97 @@
+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 69b2c3b6e2594a3f28e4ea1141bef542456b3eb2 Mon Sep 17 00:00:00 2001
+From: Lorenz Brun <lorenz@brun.one>
+Date: Wed, 5 Feb 2020 17:14:19 +0100
+Subject: [PATCH] Fix vdso include that breaks in an external
+
+---
+ vdso/cycle_clock.h | 2 +-
+ vdso/seqlock.h     | 4 ++--
+ vdso/vdso.cc       | 4 ++--
+ vdso/vdso_time.cc  | 8 ++++----
+ 4 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/vdso/cycle_clock.h b/vdso/cycle_clock.h
+index 5d3fbb25..fe15812c 100644
+--- a/vdso/cycle_clock.h
++++ b/vdso/cycle_clock.h
+@@ -17,7 +17,7 @@
+ 
+ #include <stdint.h>
+ 
+-#include "vdso/barrier.h"
++#include "barrier.h"
+ 
+ namespace vdso {
+ 
+diff --git a/vdso/seqlock.h b/vdso/seqlock.h
+index 7a173174..fff99748 100644
+--- a/vdso/seqlock.h
++++ b/vdso/seqlock.h
+@@ -18,8 +18,8 @@
+ 
+ #include <stdint.h>
+ 
+-#include "vdso/barrier.h"
+-#include "vdso/compiler.h"
++#include "barrier.h"
++#include "compiler.h"
+ 
+ namespace vdso {
+ 
+diff --git a/vdso/vdso.cc b/vdso/vdso.cc
+index 8bb80a7a..210d31ff 100644
+--- a/vdso/vdso.cc
++++ b/vdso/vdso.cc
+@@ -19,8 +19,8 @@
+ #include <sys/time.h>
+ #include <time.h>
+ 
+-#include "vdso/syscalls.h"
+-#include "vdso/vdso_time.h"
++#include "syscalls.h"
++#include "vdso_time.h"
+ 
+ namespace vdso {
+ namespace {
+diff --git a/vdso/vdso_time.cc b/vdso/vdso_time.cc
+index 1bb4bb86..fb5b281f 100644
+--- a/vdso/vdso_time.cc
++++ b/vdso/vdso_time.cc
+@@ -12,15 +12,15 @@
+ // See the License for the specific language governing permissions and
+ // limitations under the License.
+ 
+-#include "vdso/vdso_time.h"
++#include "vdso_time.h"
+ 
+ #include <stdint.h>
+ #include <sys/time.h>
+ #include <time.h>
+ 
+-#include "vdso/cycle_clock.h"
+-#include "vdso/seqlock.h"
+-#include "vdso/syscalls.h"
++#include "cycle_clock.h"
++#include "seqlock.h"
++#include "syscalls.h"
+ 
+ // struct params defines the layout of the parameter page maintained by the
+ // kernel (i.e., sentry).
+-- 
+2.20.1
+
diff --git a/third_party/go/patches/k8s-client-go-build.patch b/third_party/go/patches/k8s-client-go-build.patch
new file mode 100644
index 0000000..d5fad50
--- /dev/null
+++ b/third_party/go/patches/k8s-client-go-build.patch
@@ -0,0 +1,30 @@
+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",
+     ],
+ )
diff --git a/third_party/go/patches/k8s-client-go.patch b/third_party/go/patches/k8s-client-go.patch
new file mode 100644
index 0000000..ebfae0e
--- /dev/null
+++ b/third_party/go/patches/k8s-client-go.patch
@@ -0,0 +1,29 @@
+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 rips out azure/openstack auth support for k8s.io/client-go. This should be made configurable upstream.
+
+diff -ur io_k8s_client_go.orig/plugin/pkg/client/auth/plugins.go io_k8s_client_go/plugin/pkg/client/auth/plugins.go
+--- io_k8s_client_go.orig/plugin/pkg/client/auth/plugins.go	2020-04-16 17:46:53.965434780 +0200
++++ io_k8s_client_go/plugin/pkg/client/auth/plugins.go	2020-04-16 17:47:21.720538171 +0200
+@@ -18,8 +18,6 @@
+ 
+ import (
+ 	// Initialize all known client auth plugins.
+-	_ "k8s.io/client-go/plugin/pkg/client/auth/azure"
+ 	_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
+ 	_ "k8s.io/client-go/plugin/pkg/client/auth/oidc"
+-	_ "k8s.io/client-go/plugin/pkg/client/auth/openstack"
+ )
diff --git a/third_party/go/patches/k8s-kubernetes-build.patch b/third_party/go/patches/k8s-kubernetes-build.patch
new file mode 100644
index 0000000..797769a
--- /dev/null
+++ b/third_party/go/patches/k8s-kubernetes-build.patch
@@ -0,0 +1,108 @@
+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_kubernetes.orig/cmd/kubelet/app/plugins.go io_k8s_kubernetes/cmd/kubelet/app/plugins.go
+--- io_k8s_kubernetes.orig/cmd/kubelet/app/BUILD 13:43:57.827669732 +0200
++++ io_k8s_kubernetes/cmd/kubelet/app/BUILD 15:12:22.682316924 +0200
+@@ -45,8 +45,6 @@
+         "//pkg/capabilities:go_default_library",
+         "//pkg/cloudprovider/providers:go_default_library",
+         "//pkg/credentialprovider:go_default_library",
+-        "//pkg/credentialprovider/aws:go_default_library",
+-        "//pkg/credentialprovider/azure:go_default_library",
+         "//pkg/credentialprovider/gcp:go_default_library",
+         "//pkg/features:go_default_library",
+         "//pkg/kubelet:go_default_library",
+@@ -78,25 +76,11 @@
+         "//pkg/util/oom:go_default_library",
+         "//pkg/util/rlimit:go_default_library",
+         "//pkg/volume:go_default_library",
+-        "//pkg/volume/cephfs:go_default_library",
+         "//pkg/volume/configmap:go_default_library",
+         "//pkg/volume/csi:go_default_library",
+-        "//pkg/volume/downwardapi:go_default_library",
+         "//pkg/volume/emptydir:go_default_library",
+-        "//pkg/volume/fc:go_default_library",
+         "//pkg/volume/flexvolume:go_default_library",
+-        "//pkg/volume/flocker:go_default_library",
+-        "//pkg/volume/git_repo:go_default_library",
+-        "//pkg/volume/glusterfs:go_default_library",
+         "//pkg/volume/hostpath:go_default_library",
+-        "//pkg/volume/iscsi:go_default_library",
+         "//pkg/volume/local:go_default_library",
+-        "//pkg/volume/nfs:go_default_library",
+-        "//pkg/volume/portworx:go_default_library",
+-        "//pkg/volume/projected:go_default_library",
+-        "//pkg/volume/quobyte:go_default_library",
+-        "//pkg/volume/rbd:go_default_library",
+-        "//pkg/volume/scaleio:go_default_library",
+         "//pkg/volume/secret:go_default_library",
+-        "//pkg/volume/storageos:go_default_library",
+         "//pkg/volume/util/hostutil:go_default_library",
+--- io_k8s_kubernetes.orig/cmd/kubelet/app/options/BUILD 13:43:57.827669732 +0200
++++ io_k8s_kubernetes/cmd/kubelet/app/options/BUILD 15:12:22.682316924 +0200
+@@ -20,8 +20,6 @@
+     importpath = "k8s.io/kubernetes/cmd/kubelet/app/options",
+     deps = [
+         "//pkg/apis/core:go_default_library",
+-        "//pkg/credentialprovider/azure:go_default_library",
+-        "//pkg/credentialprovider/gcp:go_default_library",
+         "//pkg/features:go_default_library",
+         "//pkg/kubelet/apis:go_default_library",
+         "//pkg/kubelet/apis/config:go_default_library",
+--- io_k8s_kubernetes.orig/pkg/kubelet/cadvisor/BUILD 13:43:57.827669732 +0200
++++ io_k8s_kubernetes/pkg/kubelet/cadvisor/BUILD 15:12:22.682316924 +0200
+@@ -37,8 +37,6 @@
+             "@com_github_google_cadvisor//container/systemd/install:go_default_library",
+             "@com_github_google_cadvisor//fs:go_default_library",
+             "@com_github_google_cadvisor//manager:go_default_library",
+-            "@com_github_google_cadvisor//utils/cloudinfo/aws:go_default_library",
+-            "@com_github_google_cadvisor//utils/cloudinfo/azure:go_default_library",
+             "@com_github_google_cadvisor//utils/cloudinfo/gce:go_default_library",
+             "@com_github_google_cadvisor//utils/sysfs:go_default_library",
+             "@io_k8s_klog//:go_default_library",
+@@ -52,8 +50,6 @@
+             "@com_github_google_cadvisor//container/systemd/install:go_default_library",
+             "@com_github_google_cadvisor//fs:go_default_library",
+             "@com_github_google_cadvisor//manager:go_default_library",
+-            "@com_github_google_cadvisor//utils/cloudinfo/aws:go_default_library",
+-            "@com_github_google_cadvisor//utils/cloudinfo/azure:go_default_library",
+             "@com_github_google_cadvisor//utils/cloudinfo/gce:go_default_library",
+             "@com_github_google_cadvisor//utils/sysfs:go_default_library",
+             "@io_k8s_klog//:go_default_library",
+--- io_k8s_kubernetes.orig/cmd/kube-controller-manager/app/BUILD 13:43:57.827669732 +0200
++++ io_k8s_kubernetes/cmd/kube-controller-manager/app/BUILD 15:12:22.682316924 +0200
+@@ -90,19 +90,9 @@
+         "//pkg/volume:go_default_library",
+         "//pkg/volume/csi:go_default_library",
+         "//pkg/volume/csimigration:go_default_library",
+-        "//pkg/volume/fc:go_default_library",
+         "//pkg/volume/flexvolume:go_default_library",
+-        "//pkg/volume/flocker:go_default_library",
+-        "//pkg/volume/glusterfs:go_default_library",
+         "//pkg/volume/hostpath:go_default_library",
+-        "//pkg/volume/iscsi:go_default_library",
+         "//pkg/volume/local:go_default_library",
+-        "//pkg/volume/nfs:go_default_library",
+-        "//pkg/volume/portworx:go_default_library",
+-        "//pkg/volume/quobyte:go_default_library",
+-        "//pkg/volume/rbd:go_default_library",
+-        "//pkg/volume/scaleio:go_default_library",
+-        "//pkg/volume/storageos:go_default_library",
+         "//pkg/volume/util:go_default_library",
+         "@com_github_spf13_cobra//:go_default_library",
+         "@io_k8s_api//core/v1:go_default_library",
diff --git a/third_party/go/patches/k8s-kubernetes.patch b/third_party/go/patches/k8s-kubernetes.patch
new file mode 100644
index 0000000..6d4663e
--- /dev/null
+++ b/third_party/go/patches/k8s-kubernetes.patch
@@ -0,0 +1,386 @@
+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 fixes OpenAPI codegen for when included from the Smalltown workspace. It basically undoes vendorification.
+
+diff -ur io_k8s_kubernetes.orig/build/code_generation.bzl io_k8s_kubernetes/build/code_generation.bzl
+--- io_k8s_kubernetes.orig/build/code_generation.bzl	2020-04-15 13:43:57.785669620 +0200
++++ io_k8s_kubernetes/build/code_generation.bzl	2020-04-16 18:19:44.297531873 +0200
+@@ -27,6 +27,12 @@
+         ...
+     )
+     """
++    if pkg.startswith('staging/src/k8s.io/'):
++        parts = pkg.split('/', 4)
++        project = parts[3]
++        project = project.replace('-', '_')
++        path = parts[4]
++        return "@io_k8s_%s//%s:go_default_library" % (project, path)
+     return "//%s:go_default_library" % pkg
+
+ def go_pkg(pkg):
+@@ -42,6 +48,8 @@
+         ...
+     )
+     """
++    if pkg.startswith('staging/src/'):
++        return pkg[len('staging/src/'):]
+     for prefix in ["staging/src", "vendor"]:
+         if pkg.startswith(prefix):
+             return paths.relativize(pkg, prefix)
+@@ -49,8 +57,8 @@
+
+ def openapi_deps():
+     deps = [
+-        "//vendor/github.com/go-openapi/spec:go_default_library",
+-        "//vendor/k8s.io/kube-openapi/pkg/common:go_default_library",
++        "@com_github_go_openapi_spec//:go_default_library",
++        "@io_k8s_kube_openapi//pkg/common:go_default_library",
+     ]
+     deps.extend([bazel_go_library(pkg) for pkg in tags_values_pkgs["openapi-gen"]["true"]])
+     return deps
+@@ -76,7 +84,7 @@
+         # the generator must run from the repo root inside the generated GOPATH.
+         # All of bazel's $(location)s are relative to the original working directory, however.
+         cmd = " ".join([
+-            "$(location //vendor/k8s.io/kube-openapi/cmd/openapi-gen)",
++            "$(location @io_k8s_kube_openapi//cmd/openapi-gen)",
+             "--v 1",
+             "--logtostderr",
+             "--go-header-file $(location //" + openapi_vendor_prefix + "hack/boilerplate:boilerplate.generatego.txt)",
+@@ -88,6 +96,6 @@
+             "&& rm tmp_api_violations.report",
+         ]),
+         go_deps = openapi_deps(),
+-        tools = ["//vendor/k8s.io/kube-openapi/cmd/openapi-gen"],
++        tools = ["@io_k8s_kube_openapi//cmd/openapi-gen"],
+         message = "GenOpenAPI",
+     )
+
+The rest rips out a bunch of volume providers. We're only interested in CSI and hostpath/local.
+
+diff -ur io_k8s_kubernetes.orig/cmd/kube-apiserver/app/options/globalflags.go io_k8s_kubernetes/cmd/kube-apiserver/app/options/globalflags.go
+--- io_k8s_kubernetes.orig/cmd/kube-apiserver/app/options/globalflags.go	2020-04-15 13:43:57.811669689 +0200
++++ io_k8s_kubernetes/cmd/kube-apiserver/app/options/globalflags.go	2020-04-17 13:29:41.578264893 +0200
+@@ -32,9 +32,6 @@
+ func AddCustomGlobalFlags(fs *pflag.FlagSet) {
+ 	// Lookup flags in global flag set and re-register the values with our flagset.
+ 
+-	// Adds flags from k8s.io/kubernetes/pkg/cloudprovider/providers.
+-	registerLegacyGlobalFlags(fs)
+-
+ 	// Adds flags from k8s.io/apiserver/pkg/admission.
+ 	globalflag.Register(fs, "default-not-ready-toleration-seconds")
+ 	globalflag.Register(fs, "default-unreachable-toleration-seconds")
+diff -ur io_k8s_kubernetes.orig/cmd/kube-controller-manager/app/controllermanager.go io_k8s_kubernetes/cmd/kube-controller-manager/app/controllermanager.go
+--- io_k8s_kubernetes.orig/cmd/kube-controller-manager/app/controllermanager.go	2020-04-15 13:43:57.812669692 +0200
++++ io_k8s_kubernetes/cmd/kube-controller-manager/app/controllermanager.go	2020-04-17 13:30:39.975397151 +0200
+@@ -126,7 +126,6 @@
+ 	namedFlagSets := s.Flags(KnownControllers(), ControllersDisabledByDefault.List())
+ 	verflag.AddFlags(namedFlagSets.FlagSet("global"))
+ 	globalflag.AddGlobalFlags(namedFlagSets.FlagSet("global"), cmd.Name())
+-	registerLegacyGlobalFlags(namedFlagSets)
+ 	for _, f := range namedFlagSets.FlagSets {
+ 		fs.AddFlagSet(f)
+ 	}
+diff -ur io_k8s_kubernetes.orig/cmd/kube-controller-manager/app/plugins.go io_k8s_kubernetes/cmd/kube-controller-manager/app/plugins.go
+--- io_k8s_kubernetes.orig/cmd/kube-controller-manager/app/plugins.go	2020-04-15 13:43:57.813669694 +0200
++++ io_k8s_kubernetes/cmd/kube-controller-manager/app/plugins.go	2020-04-17 13:34:19.393894095 +0200
+@@ -32,19 +32,9 @@
+ 	// Volume plugins
+ 	"k8s.io/kubernetes/pkg/volume"
+ 	"k8s.io/kubernetes/pkg/volume/csi"
+-	"k8s.io/kubernetes/pkg/volume/fc"
+ 	"k8s.io/kubernetes/pkg/volume/flexvolume"
+-	"k8s.io/kubernetes/pkg/volume/flocker"
+-	"k8s.io/kubernetes/pkg/volume/glusterfs"
+ 	"k8s.io/kubernetes/pkg/volume/hostpath"
+-	"k8s.io/kubernetes/pkg/volume/iscsi"
+ 	"k8s.io/kubernetes/pkg/volume/local"
+-	"k8s.io/kubernetes/pkg/volume/nfs"
+-	"k8s.io/kubernetes/pkg/volume/portworx"
+-	"k8s.io/kubernetes/pkg/volume/quobyte"
+-	"k8s.io/kubernetes/pkg/volume/rbd"
+-	"k8s.io/kubernetes/pkg/volume/scaleio"
+-	"k8s.io/kubernetes/pkg/volume/storageos"
+ 	volumeutil "k8s.io/kubernetes/pkg/volume/util"
+ 
+ 	utilfeature "k8s.io/apiserver/pkg/util/feature"
+@@ -58,18 +48,7 @@
+ // The list of plugins is manually compiled. This code and the plugin
+ // initialization code for kubelet really, really need a through refactor.
+ func ProbeAttachableVolumePlugins() ([]volume.VolumePlugin, error) {
+-	var err error
+ 	allPlugins := []volume.VolumePlugin{}
+-	allPlugins, err = appendAttachableLegacyProviderVolumes(allPlugins, utilfeature.DefaultFeatureGate)
+-	if err != nil {
+-		return allPlugins, err
+-	}
+-	allPlugins = append(allPlugins, portworx.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, scaleio.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, storageos.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, fc.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, iscsi.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, rbd.ProbeVolumePlugins()...)
+ 	allPlugins = append(allPlugins, csi.ProbeVolumePlugins()...)
+ 	return allPlugins, nil
+ }
+@@ -83,18 +62,7 @@
+ 
+ // ProbeExpandableVolumePlugins returns volume plugins which are expandable
+ func ProbeExpandableVolumePlugins(config persistentvolumeconfig.VolumeConfiguration) ([]volume.VolumePlugin, error) {
+-	var err error
+ 	allPlugins := []volume.VolumePlugin{}
+-	allPlugins, err = appendExpandableLegacyProviderVolumes(allPlugins, utilfeature.DefaultFeatureGate)
+-	if err != nil {
+-		return allPlugins, err
+-	}
+-	allPlugins = append(allPlugins, portworx.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, glusterfs.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, rbd.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, scaleio.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, storageos.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, fc.ProbeVolumePlugins()...)
+ 	return allPlugins, nil
+ }
+ 
+@@ -124,30 +92,7 @@
+ 	}
+ 	allPlugins = append(allPlugins, hostpath.ProbeVolumePlugins(hostPathConfig)...)
+ 
+-	nfsConfig := volume.VolumeConfig{
+-		RecyclerMinimumTimeout:   int(config.PersistentVolumeRecyclerConfiguration.MinimumTimeoutNFS),
+-		RecyclerTimeoutIncrement: int(config.PersistentVolumeRecyclerConfiguration.IncrementTimeoutNFS),
+-		RecyclerPodTemplate:      volume.NewPersistentVolumeRecyclerPodTemplate(),
+-	}
+-	if err := AttemptToLoadRecycler(config.PersistentVolumeRecyclerConfiguration.PodTemplateFilePathNFS, &nfsConfig); err != nil {
+-		klog.Fatalf("Could not create NFS recycler pod from file %s: %+v", config.PersistentVolumeRecyclerConfiguration.PodTemplateFilePathNFS, err)
+-	}
+-	allPlugins = append(allPlugins, nfs.ProbeVolumePlugins(nfsConfig)...)
+-	allPlugins = append(allPlugins, glusterfs.ProbeVolumePlugins()...)
+-	// add rbd provisioner
+-	allPlugins = append(allPlugins, rbd.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, quobyte.ProbeVolumePlugins()...)
+-	var err error
+-	allPlugins, err = appendExpandableLegacyProviderVolumes(allPlugins, utilfeature.DefaultFeatureGate)
+-	if err != nil {
+-		return allPlugins, err
+-	}
+-
+-	allPlugins = append(allPlugins, flocker.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, portworx.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, scaleio.ProbeVolumePlugins()...)
+ 	allPlugins = append(allPlugins, local.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, storageos.ProbeVolumePlugins()...)
+ 
+ 	if utilfeature.DefaultFeatureGate.Enabled(features.CSIInlineVolume) {
+ 		allPlugins = append(allPlugins, csi.ProbeVolumePlugins()...)
+diff -ur io_k8s_kubernetes.orig/cmd/kubectl/BUILD io_k8s_kubernetes/cmd/kubectl/BUILD
+--- io_k8s_kubernetes.orig/cmd/kubectl/BUILD	2020-04-20 14:58:52.573455879 +0200
++++ io_k8s_kubernetes/cmd/kubectl/BUILD	2020-04-20 14:56:41.199032687 +0200
+@@ -3,7 +3,7 @@
+     "go_binary",
+     "go_library",
+ )
+-load("//staging/src/k8s.io/component-base/version:def.bzl", "version_x_defs")
++load("@//third_party/go:kubernetes_version_def.bzl", "version_x_defs")
+ 
+ go_binary(
+     name = "kubectl",
+
+
+We also take the opportunity to remove azure/gcp auth.
+
+diff -ur io_k8s_kubernetes.orig/cmd/kubelet/app/options/globalflags.go io_k8s_kubernetes/cmd/kubelet/app/options/globalflags.go
+--- io_k8s_kubernetes.orig/cmd/kubelet/app/options/globalflags.go	2020-04-15 13:43:57.827669732 +0200
++++ io_k8s_kubernetes/cmd/kubelet/app/options/globalflags.go	2020-04-16 15:58:30.964945445 +0200
+@@ -28,10 +28,6 @@
+ 	"k8s.io/component-base/logs"
+ 	"k8s.io/component-base/version/verflag"
+ 	"k8s.io/klog"
+-
+-	// ensure libs have a chance to globally register their flags
+-	_ "k8s.io/kubernetes/pkg/credentialprovider/azure"
+-	_ "k8s.io/kubernetes/pkg/credentialprovider/gcp"
+ )
+ 
+ // AddGlobalFlags explicitly registers flags that libraries (glog, verflag, etc.) register
+@@ -80,14 +76,8 @@
+ 
+ // addCredentialProviderFlags adds flags from k8s.io/kubernetes/pkg/credentialprovider
+ func addCredentialProviderFlags(fs *pflag.FlagSet) {
+-	// lookup flags in global flag set and re-register the values with our flagset
+-	global := pflag.CommandLine
+ 	local := pflag.NewFlagSet(os.Args[0], pflag.ExitOnError)
+ 
+-	// TODO(#58034): This is not a static file, so it's not quite as straightforward as --google-json-key.
+-	// We need to figure out how ACR users can dynamically provide pull credentials before we can deprecate this.
+-	pflagRegister(global, local, "azure-container-registry-config")
+-
+ 	fs.AddFlagSet(local)
+ }
+ 
+diff -ur io_k8s_kubernetes.orig/cmd/kubelet/app/plugins.go io_k8s_kubernetes/cmd/kubelet/app/plugins.go
+--- io_k8s_kubernetes.orig/cmd/kubelet/app/plugins.go	2020-04-15 13:43:57.827669732 +0200
++++ io_k8s_kubernetes/cmd/kubelet/app/plugins.go	2020-04-16 16:10:13.366081373 +0200
+@@ -19,8 +19,6 @@
+ // This file exists to force the desired plugin implementations to be linked.
+ import (
+ 	// Credential providers
+-	_ "k8s.io/kubernetes/pkg/credentialprovider/aws"
+-	_ "k8s.io/kubernetes/pkg/credentialprovider/azure"
+ 	_ "k8s.io/kubernetes/pkg/credentialprovider/gcp"
+ 
+ 	"k8s.io/component-base/featuregate"
+@@ -28,27 +26,13 @@
+ 
+ 	// Volume plugins
+ 	"k8s.io/kubernetes/pkg/volume"
+-	"k8s.io/kubernetes/pkg/volume/cephfs"
+ 	"k8s.io/kubernetes/pkg/volume/configmap"
+ 	"k8s.io/kubernetes/pkg/volume/csi"
+-	"k8s.io/kubernetes/pkg/volume/downwardapi"
+ 	"k8s.io/kubernetes/pkg/volume/emptydir"
+-	"k8s.io/kubernetes/pkg/volume/fc"
+ 	"k8s.io/kubernetes/pkg/volume/flexvolume"
+-	"k8s.io/kubernetes/pkg/volume/flocker"
+-	"k8s.io/kubernetes/pkg/volume/git_repo"
+-	"k8s.io/kubernetes/pkg/volume/glusterfs"
+ 	"k8s.io/kubernetes/pkg/volume/hostpath"
+-	"k8s.io/kubernetes/pkg/volume/iscsi"
+ 	"k8s.io/kubernetes/pkg/volume/local"
+-	"k8s.io/kubernetes/pkg/volume/nfs"
+-	"k8s.io/kubernetes/pkg/volume/portworx"
+-	"k8s.io/kubernetes/pkg/volume/projected"
+-	"k8s.io/kubernetes/pkg/volume/quobyte"
+-	"k8s.io/kubernetes/pkg/volume/rbd"
+-	"k8s.io/kubernetes/pkg/volume/scaleio"
+ 	"k8s.io/kubernetes/pkg/volume/secret"
+-	"k8s.io/kubernetes/pkg/volume/storageos"
+ 
+ 	// Cloud providers
+ 	_ "k8s.io/kubernetes/pkg/cloudprovider/providers"
+@@ -64,30 +48,11 @@
+ 	//
+ 	// Kubelet does not currently need to configure volume plugins.
+ 	// If/when it does, see kube-controller-manager/app/plugins.go for example of using volume.VolumeConfig
+-	var err error
+-	allPlugins, err = appendLegacyProviderVolumes(allPlugins, featureGate)
+-	if err != nil {
+-		return allPlugins, err
+-	}
+ 	allPlugins = append(allPlugins, emptydir.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, git_repo.ProbeVolumePlugins()...)
+ 	allPlugins = append(allPlugins, hostpath.ProbeVolumePlugins(volume.VolumeConfig{})...)
+-	allPlugins = append(allPlugins, nfs.ProbeVolumePlugins(volume.VolumeConfig{})...)
+ 	allPlugins = append(allPlugins, secret.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, iscsi.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, glusterfs.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, rbd.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, quobyte.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, cephfs.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, downwardapi.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, fc.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, flocker.ProbeVolumePlugins()...)
+ 	allPlugins = append(allPlugins, configmap.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, projected.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, portworx.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, scaleio.ProbeVolumePlugins()...)
+ 	allPlugins = append(allPlugins, local.ProbeVolumePlugins()...)
+-	allPlugins = append(allPlugins, storageos.ProbeVolumePlugins()...)
+ 	allPlugins = append(allPlugins, csi.ProbeVolumePlugins()...)
+ 	return allPlugins, nil
+ }
+diff -ur io_k8s_kubernetes.orig/cmd/kubelet/app/plugins_providers.go io_k8s_kubernetes/cmd/kubelet/app/plugins_providers.go
+--- io_k8s_kubernetes.orig/cmd/kubelet/app/plugins_providers.go	2020-04-15 13:43:57.827669732 +0200
++++ io_k8s_kubernetes/cmd/kubelet/app/plugins_providers.go	2020-04-15 16:29:49.402465237 +0200
+@@ -24,13 +24,7 @@
+ 	"k8s.io/klog"
+ 	"k8s.io/kubernetes/pkg/features"
+ 	"k8s.io/kubernetes/pkg/volume"
+-	"k8s.io/kubernetes/pkg/volume/awsebs"
+-	"k8s.io/kubernetes/pkg/volume/azure_dd"
+-	"k8s.io/kubernetes/pkg/volume/azure_file"
+-	"k8s.io/kubernetes/pkg/volume/cinder"
+ 	"k8s.io/kubernetes/pkg/volume/csimigration"
+-	"k8s.io/kubernetes/pkg/volume/gcepd"
+-	"k8s.io/kubernetes/pkg/volume/vsphere_volume"
+ )
+ 
+ type probeFn func() []volume.VolumePlugin
+@@ -60,11 +54,6 @@
+ 
+ func appendLegacyProviderVolumes(allPlugins []volume.VolumePlugin, featureGate featuregate.FeatureGate) ([]volume.VolumePlugin, error) {
+ 	pluginMigrationStatus := make(map[string]pluginInfo)
+-	pluginMigrationStatus[plugins.AWSEBSInTreePluginName] = pluginInfo{pluginMigrationFeature: features.CSIMigrationAWS, pluginMigrationCompleteFeature: features.CSIMigrationAWSComplete, pluginProbeFunction: awsebs.ProbeVolumePlugins}
+-	pluginMigrationStatus[plugins.GCEPDInTreePluginName] = pluginInfo{pluginMigrationFeature: features.CSIMigrationGCE, pluginMigrationCompleteFeature: features.CSIMigrationGCEComplete, pluginProbeFunction: gcepd.ProbeVolumePlugins}
+-	pluginMigrationStatus[plugins.CinderInTreePluginName] = pluginInfo{pluginMigrationFeature: features.CSIMigrationOpenStack, pluginMigrationCompleteFeature: features.CSIMigrationOpenStackComplete, pluginProbeFunction: cinder.ProbeVolumePlugins}
+-	pluginMigrationStatus[plugins.AzureDiskInTreePluginName] = pluginInfo{pluginMigrationFeature: features.CSIMigrationAzureDisk, pluginMigrationCompleteFeature: features.CSIMigrationAzureDiskComplete, pluginProbeFunction: azure_dd.ProbeVolumePlugins}
+-	pluginMigrationStatus[plugins.AzureFileInTreePluginName] = pluginInfo{pluginMigrationFeature: features.CSIMigrationAzureFile, pluginMigrationCompleteFeature: features.CSIMigrationAzureFileComplete, pluginProbeFunction: azure_file.ProbeVolumePlugins}
+ 
+ 	var err error
+ 	for pluginName, pluginInfo := range pluginMigrationStatus {
+@@ -74,6 +63,5 @@
+ 		}
+ 	}
+ 
+-	allPlugins = append(allPlugins, vsphere_volume.ProbeVolumePlugins()...)
+ 	return allPlugins, nil
+ }
+diff -ur io_k8s_kubernetes.orig/cmd/kubelet/BUILD io_k8s_kubernetes/cmd/kubelet/BUILD
+--- io_k8s_kubernetes.orig/cmd/kubelet/BUILD	2020-04-15 13:43:57.827669732 +0200
++++ io_k8s_kubernetes/cmd/kubelet/BUILD	2020-04-20 14:56:20.446965836 +0200
+@@ -5,7 +5,7 @@
+     go_binary = "go_binary_conditional_pure",
+ )
+ load("@io_bazel_rules_go//go:def.bzl", "go_library")
+-load("//staging/src/k8s.io/component-base/version:def.bzl", "version_x_defs")
++load("@//third_party/go:kubernetes_version_def.bzl", "version_x_defs")
+ 
+ go_binary(
+     name = "kubelet",
+diff -ur io_k8s_kubernetes.orig/pkg/controller/nodeipam/ipam/cidr_allocator.go io_k8s_kubernetes/pkg/controller/nodeipam/ipam/cidr_allocator.go
+--- io_k8s_kubernetes.orig/pkg/controller/nodeipam/ipam/cidr_allocator.go	2020-04-15 13:43:57.860669820 +0200
++++ io_k8s_kubernetes/pkg/controller/nodeipam/ipam/cidr_allocator.go	2020-04-17 13:18:36.157842990 +0200
+@@ -111,8 +111,6 @@
+ 	switch allocatorType {
+ 	case RangeAllocatorType:
+ 		return NewCIDRRangeAllocator(kubeClient, nodeInformer, allocatorParams, nodeList)
+-	case CloudAllocatorType:
+-		return NewCloudCIDRAllocator(kubeClient, cloud, nodeInformer)
+ 	default:
+ 		return nil, fmt.Errorf("invalid CIDR allocator type: %v", allocatorType)
+ 	}
+diff -ur io_k8s_kubernetes.orig/pkg/controller/nodeipam/nolegacyprovider.go io_k8s_kubernetes/pkg/controller/nodeipam/nolegacyprovider.go
+--- io_k8s_kubernetes.orig/pkg/controller/nodeipam/nolegacyprovider.go	2020-04-15 13:43:57.860669820 +0200
++++ io_k8s_kubernetes/pkg/controller/nodeipam/nolegacyprovider.go	2020-04-17 13:27:12.440927122 +0200
+@@ -1,5 +1,3 @@
+-// +build providerless
+-
+ /*
+ Copyright 2019 The Kubernetes Authors.
+ 
+diff -ur io_k8s_kubernetes.orig/pkg/kubelet/cadvisor/cadvisor_linux.go io_k8s_kubernetes/pkg/kubelet/cadvisor/cadvisor_linux.go
+--- io_k8s_kubernetes.orig/pkg/kubelet/cadvisor/cadvisor_linux.go	2020-04-15 13:43:57.875669859 +0200
++++ io_k8s_kubernetes/pkg/kubelet/cadvisor/cadvisor_linux.go	2020-04-15 18:24:28.683551309 +0200
+@@ -34,8 +34,6 @@
+
+ 	// Register cloud info providers.
+ 	// TODO(#68522): Remove this in 1.20+ once the cAdvisor endpoints are removed.
+-	_ "github.com/google/cadvisor/utils/cloudinfo/aws"
+-	_ "github.com/google/cadvisor/utils/cloudinfo/azure"
+ 	_ "github.com/google/cadvisor/utils/cloudinfo/gce"
+
+ 	"github.com/google/cadvisor/cache/memory"
diff --git a/third_party/go/repositories.bzl b/third_party/go/repositories.bzl
index 32ff950..b4b7dd8 100644
--- a/third_party/go/repositories.bzl
+++ b/third_party/go/repositories.bzl
@@ -18,563 +18,200 @@
 
 def go_repositories():
     go_repository(
-        name = "co_honnef_go_tools",
-        importpath = "honnef.co/go/tools",
-        sum = "h1:/hemPrYIhOhy8zYrNj+069zDB68us2sMGsfkFJO0iZs=",
-        version = "v0.0.0-20190523083050-ea95bdfd59fc",
+        name = "io_k8s_kubernetes",
+        importpath = "k8s.io/kubernetes",
+        version = "v1.19.0-alpha.2",
+        sum = "h1:kTsLVxmg/z3Fexcvu75zzGEHOYQ17jzIJFWhfQQnXDE=",
+        build_tags = ["providerless"],
+        build_file_proto_mode = "disable",
+        patches = [
+            "//third_party/go/patches:k8s-kubernetes.patch",
+            "//third_party/go/patches:k8s-kubernetes-build.patch",
+        ],
+        patch_args = ["-p1"],
     )
 
     go_repository(
-        name = "com_github_alecthomas_template",
-        importpath = "github.com/alecthomas/template",
-        sum = "h1:cAKDfWh5VpdgMhJosfJnn5/FoN2SRZ4p7fJNX58YPaU=",
-        version = "v0.0.0-20160405071501-a0175ee3bccc",
-    )
-    go_repository(
-        name = "com_github_alecthomas_units",
-        importpath = "github.com/alecthomas/units",
-        sum = "h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY=",
-        version = "v0.0.0-20151022065526-2efee857e7cf",
+        name = "com_github_google_cadvisor",
+        importpath = "github.com/google/cadvisor",
+        sum = "h1:au7bcM+rjGXLBSfqjofcSONBre8tlIy94jEbp40BCOQ=",
+        version = "v0.36.1-0.20200323171535-8af10c683a96",
+        patches = [
+            "//third_party/go/patches:cadvisor.patch",
+            "//third_party/go/patches:cadvisor-build.patch",
+        ],
+        patch_args = ["-p1"],
     )
 
     go_repository(
-        name = "com_github_armon_consul_api",
-        importpath = "github.com/armon/consul-api",
-        sum = "h1:G1bPvciwNyF7IUmKXNt9Ak3m6u9DE1rF+RmtIkBpVdA=",
-        version = "v0.0.0-20180202201655-eb2c6b5be1b6",
+        name = "io_k8s_client_go",
+        importpath = "k8s.io/client-go",
+        sum = "h1:YqJuHm/xOYP2VIOWPnQO+ix+Ag5KditpdHmIreWYyTY=",
+        version = "v0.19.0-alpha.2",
+        patches = [
+            "//third_party/go/patches:k8s-client-go.patch",
+            "//third_party/go/patches:k8s-client-go-build.patch",
+        ],
+        patch_args = ["-p1"],
+    )
+
+    # patches for pure mode
+    go_repository(
+        name = "com_github_containernetworking_plugins",
+        importpath = "github.com/containernetworking/plugins",
+        sum = "h1:5lnwfsAYO+V7yXhysJKy3E1A2Gy9oVut031zfdOzI9w=",
+        version = "v0.8.2",
+        patches = [
+            "//third_party/go/patches:cni-plugins-build.patch",
+        ],
+        patch_args = ["-p1"],
+    )
+
+    # required by containerd, but doesn't folow gazelle name convention
+    go_repository(
+        name = "com_github_opencontainers_runtime-spec",
+        importpath = "github.com/opencontainers/runtime-spec",
+        sum = "h1:Cef96rKLuXxeGzERI/0ve9yAzIeTpx0qz9JKFDZALYw=",
+        version = "v1.0.2-0.20190207185410-29686dbc5559",
     )
 
     go_repository(
-        name = "com_github_beorn7_perks",
-        importpath = "github.com/beorn7/perks",
-        sum = "h1:HWo1m869IqiPhD389kmkxeTalrjNbbJTC8LXupb+sl0=",
-        version = "v1.0.0",
+        name = "com_github_google_gvisor",
+        importpath = "github.com/google/gvisor",
+        sum = "h1:rpcz7X//b7LHYEa8FwGlviAPLkFHz46+RW3ur+kiyhg=",
+        version = "v0.0.0-20200325151121-d8c4eff3f77b",
+        patches = [
+            "//third_party/go/patches:gvisor.patch",
+        ],
+        patch_args = ["-p1"],
     )
     go_repository(
-        name = "com_github_bgentry_speakeasy",
-        importpath = "github.com/bgentry/speakeasy",
-        sum = "h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY=",
-        version = "v0.1.0",
+        name = "io_k8s_repo_infra",
+        importpath = "k8s.io/repo-infra",
+        sum = "h1:PQyAIB6SRdV0a3Vj/VA39L1uANW36k/zg3tOk/Ffh3U=",
+        version = "v0.0.0-20190329054012-df02ded38f95",
     )
-
     go_repository(
-        name = "com_github_burntsushi_toml",
-        importpath = "github.com/BurntSushi/toml",
-        sum = "h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=",
-        version = "v0.3.1",
+        name = "io_k8s_component_base",
+        importpath = "k8s.io/component-base",
+        sum = "h1:nZfjiRab7LcpScUgnudRCG6UMRVmZ3L0GNZZWHkYjus=",
+        version = "v0.19.0-alpha.2",
     )
-
     go_repository(
-        name = "com_github_client9_misspell",
-        importpath = "github.com/client9/misspell",
-        sum = "h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI=",
-        version = "v0.3.4",
+        name = "io_k8s_cloud_provider",
+        importpath = "k8s.io/cloud-provider",
+        sum = "h1:nFQ/M6B8o+/ICEHbjLFMe4nHgH/8jAHQ1GFw2NJ5Elo=",
+        version = "v0.19.0-alpha.2",
     )
-
     go_repository(
-        name = "com_github_coreos_etcd",
-        importpath = "github.com/coreos/etcd",
-        sum = "h1:jFneRYjIvLMLhDLCzuTuU4rSJUjRplcJQ7pD7MnhC04=",
-        version = "v3.3.10+incompatible",
+        name = "io_k8s_kubelet",
+        build_file_proto_mode = "disable",
+        importpath = "k8s.io/kubelet",
+        sum = "h1:UPkB1eGbkIWr38J++4Gk7LZjcYeB5JfJBqKzRGfJ/VM=",
+        version = "v0.19.0-alpha.2",
     )
     go_repository(
-        name = "com_github_coreos_go_etcd",
-        importpath = "github.com/coreos/go-etcd",
-        sum = "h1:bXhRBIXoTm9BYHS3gE0TtQuyNZyeEMux2sDi4oo5YOo=",
-        version = "v2.0.0+incompatible",
+        name = "io_k8s_csi_translation_lib",
+        importpath = "k8s.io/csi-translation-lib",
+        sum = "h1:lH3FPZqHFwPthCQKLKNP90LR5oqjAMxYMJNhicDA5d8=",
+        version = "v0.19.0-alpha.2",
     )
-
     go_repository(
-        name = "com_github_coreos_go_semver",
-        importpath = "github.com/coreos/go-semver",
-        sum = "h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=",
-        version = "v0.3.0",
+        name = "io_k8s_legacy_cloud_providers",
+        importpath = "k8s.io/legacy-cloud-providers",
+        sum = "h1:jpu9SqacduO6iKtiCKCovH/uZ0GL1PkbsJndUZKUxtc=",
+        version = "v0.19.0-alpha.2",
     )
     go_repository(
-        name = "com_github_coreos_go_systemd",
-        importpath = "github.com/coreos/go-systemd",
-        sum = "h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8=",
-        version = "v0.0.0-20190321100706-95778dfbb74e",
+        name = "io_k8s_apiextensions_apiserver",
+        build_file_proto_mode = "disable",
+        importpath = "k8s.io/apiextensions-apiserver",
+        sum = "h1:lQjE543mSh4jeBxrvnwz37DCzGHW2UMefX8eCzk8uAU=",
+        version = "v0.19.0-alpha.2",
     )
     go_repository(
-        name = "com_github_coreos_pkg",
-        importpath = "github.com/coreos/pkg",
-        sum = "h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg=",
-        version = "v0.0.0-20180928190104-399ea9e2e55f",
+        name = "io_k8s_kube_aggregator",
+        build_file_proto_mode = "disable",
+        importpath = "k8s.io/kube-aggregator",
+        sum = "h1:Li0htDytvDHRnf7IR9AWGSahhyvD4qVxWIJwsUVgo2w=",
+        version = "v0.19.0-alpha.2",
     )
     go_repository(
-        name = "com_github_cpuguy83_go_md2man",
-        importpath = "github.com/cpuguy83/go-md2man",
-        sum = "h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk=",
-        version = "v1.0.10",
+        name = "io_k8s_metrics",
+        build_file_proto_mode = "disable",
+        importpath = "k8s.io/metrics",
+        sum = "h1:5/OfIQ5HeJutKUPpjXXdcgFqxmFf01bYfnFRd1li5b8=",
+        version = "v0.19.0-alpha.2",
     )
-
     go_repository(
-        name = "com_github_davecgh_go_spew",
-        importpath = "github.com/davecgh/go-spew",
-        sum = "h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=",
-        version = "v1.1.1",
+        name = "io_k8s_kube_scheduler",
+        importpath = "k8s.io/kube-scheduler",
+        sum = "h1:EpIJpmI5Nn3mii1aaWg5VFMd9Y0Qt+jCcduVxH92Vk8=",
+        version = "v0.19.0-alpha.2",
     )
-
     go_repository(
-        name = "com_github_dgrijalva_jwt_go",
-        importpath = "github.com/dgrijalva/jwt-go",
-        sum = "h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=",
-        version = "v3.2.0+incompatible",
+        name = "io_k8s_kube_controller_manager",
+        importpath = "k8s.io/kube-controller-manager",
+        sum = "h1:E5GkOKLf+ODm2uXQaBqtmf+D4ZJpUUlo8XJoX0nEDL0=",
+        version = "v0.19.0-alpha.2",
     )
-
     go_repository(
-        name = "com_github_diskfs_go_diskfs",
-        importpath = "github.com/diskfs/go-diskfs",
-        sum = "h1:6FpT3lje7LzjItwqQ6ZRyD5pfroKgVq4UyWwelTjPCM=",
-        version = "v0.0.0-20190829135618-cf5830e4e419",
+        name = "io_k8s_cluster_bootstrap",
+        importpath = "k8s.io/cluster-bootstrap",
+        sum = "h1:MHG+0kAEEh4nDQU2iC8NXNILDDIANK12RB8PcAjyej4=",
+        version = "v0.19.0-alpha.2",
     )
-
     go_repository(
-        name = "com_github_dustin_go_humanize",
-        importpath = "github.com/dustin/go-humanize",
-        sum = "h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=",
-        version = "v1.0.0",
+        name = "io_k8s_kube_proxy",
+        importpath = "k8s.io/kube-proxy",
+        sum = "h1:8awQLk0DLJEXew80mjbFTMNs9EtbtXJElBi7K7BqalE=",
+        version = "v0.19.0-alpha.2",
     )
-
     go_repository(
-        name = "com_github_fatih_color",
-        importpath = "github.com/fatih/color",
-        sum = "h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys=",
-        version = "v1.7.0",
+        name = "io_k8s_kubectl",
+        importpath = "k8s.io/kubectl",
+        sum = "h1:ygJWExSY2hnEHt72gJV6DgPDmkdp6xwkQlrZbtmW9EI=",
+        version = "v0.19.0-alpha.2",
     )
-
     go_repository(
-        name = "com_github_fsnotify_fsnotify",
-        importpath = "github.com/fsnotify/fsnotify",
-        sum = "h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=",
-        version = "v1.4.7",
+        name = "io_k8s_node_api",
+        importpath = "k8s.io/node-api",
+        sum = "h1:L5S79H5EO4jDK/ARsypIXeOrirXJmFplj4ZBIvnK+WM=",
+        version = "v0.17.5",
     )
-
     go_repository(
-        name = "com_github_ghodss_yaml",
-        importpath = "github.com/ghodss/yaml",
-        sum = "h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=",
-        version = "v1.0.0",
+        name = "io_k8s_cli_runtime",
+        importpath = "k8s.io/cli-runtime",
+        sum = "h1:/cZeGGp0GxuFSUdjz8jlUQP75QJVz99YtXEU1uNW/LI=",
+        version = "v0.19.0-alpha.2",
     )
-
     go_repository(
-        name = "com_github_go_kit_kit",
-        importpath = "github.com/go-kit/kit",
-        sum = "h1:Wz+5lgoB0kkuqLEc6NVmwRknTKP6dTGbSqvhZtBI/j0=",
-        version = "v0.8.0",
+        name = "io_k8s_api",
+        build_file_proto_mode = "disable",
+        importpath = "k8s.io/api",
+        sum = "h1:GVZeds8bgQOSdQ/LYcjL7+NstBByZ5L3U/Ks6+E+QRI=",
+        version = "v0.19.0-alpha.2",
     )
-
     go_repository(
-        name = "com_github_go_logfmt_logfmt",
-        importpath = "github.com/go-logfmt/logfmt",
-        sum = "h1:8HUsc87TaSWLKwrnumgC8/YconD2fJQsRJAsWaPg2ic=",
-        version = "v0.3.0",
+        name = "io_k8s_apimachinery",
+        build_file_proto_mode = "disable",
+        importpath = "k8s.io/apimachinery",
+        sum = "h1:N155+ZeSeRnCFyzjYRv3vg9GWJIUm5ElZba66f7qicY=",
+        version = "v0.19.0-alpha.2",
     )
-
     go_repository(
-        name = "com_github_go_stack_stack",
-        importpath = "github.com/go-stack/stack",
-        sum = "h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=",
-        version = "v1.8.0",
+        name = "io_k8s_apiserver",
+        build_file_proto_mode = "disable",
+        importpath = "k8s.io/apiserver",
+        sum = "h1:k1fpzJAPZvtRT9Z8Rc42kciGehIH0GiEmTgEmc46drw=",
+        version = "v0.19.0-alpha.2",
     )
-
     go_repository(
-        name = "com_github_gogo_protobuf",
-        importpath = "github.com/gogo/protobuf",
-        sum = "h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=",
-        version = "v1.2.2-0.20190723190241-65acae22fc9d",
-    )
-    go_repository(
-        name = "com_github_golang_glog",
-        importpath = "github.com/golang/glog",
-        sum = "h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=",
-        version = "v0.0.0-20160126235308-23def4e6c14b",
-    )
-    go_repository(
-        name = "com_github_golang_groupcache",
-        importpath = "github.com/golang/groupcache",
-        sum = "h1:ZgQEtGgCBiWRM39fZuwSd1LwSqqSW0hOdXCYYDX0R3I=",
-        version = "v0.0.0-20190702054246-869f871628b6",
-    )
-
-    go_repository(
-        name = "com_github_golang_mock",
-        importpath = "github.com/golang/mock",
-        sum = "h1:G5FRp8JnTd7RQH5kemVNlMeyXQAztQ3mOWV95KxsXH8=",
-        version = "v1.1.1",
-    )
-    go_repository(
-        name = "com_github_golang_protobuf",
-        importpath = "github.com/golang/protobuf",
-        sum = "h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I=",
-        version = "v1.3.3",
-    )
-
-    go_repository(
-        name = "com_github_google_btree",
-        importpath = "github.com/google/btree",
-        sum = "h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=",
-        version = "v1.0.0",
-    )
-    go_repository(
-        name = "com_github_google_go_cmp",
-        importpath = "github.com/google/go-cmp",
-        sum = "h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg=",
-        version = "v0.3.1",
-    )
-
-    go_repository(
-        name = "com_github_google_go_tpm",
-        importpath = "github.com/google/go-tpm",
-        sum = "h1:GNNkIb6NSjYfw+KvgUFW590mcgsSFihocSrbXct1sEw=",
-        version = "v0.1.2-0.20190725015402-ae6dd98980d4",
-    )
-    go_repository(
-        name = "com_github_google_go_tpm_tools",
-        importpath = "github.com/google/go-tpm-tools",
-        sum = "h1:1Y5W2uh6E7I6hhI6c0WVSbV+Ae15uhemqi3RvSgtZpk=",
-        version = "v0.0.0-20190731025042-f8c04ff88181",
-    )
-    go_repository(
-        name = "com_github_google_gofuzz",
-        importpath = "github.com/google/gofuzz",
-        sum = "h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=",
-        version = "v1.0.0",
-    )
-
-    go_repository(
-        name = "com_github_google_uuid",
-        importpath = "github.com/google/uuid",
-        sum = "h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=",
-        version = "v1.1.1",
-    )
-
-    go_repository(
-        name = "com_github_gorilla_websocket",
-        importpath = "github.com/gorilla/websocket",
-        sum = "h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM=",
-        version = "v1.4.1",
-    )
-
-    go_repository(
-        name = "com_github_grpc_ecosystem_go_grpc_middleware",
-        importpath = "github.com/grpc-ecosystem/go-grpc-middleware",
-        sum = "h1:z53tR0945TRRQO/fLEVPI6SMv7ZflF0TEaTAoU7tOzg=",
-        version = "v1.0.1-0.20190118093823-f849b5445de4",
-    )
-    go_repository(
-        name = "com_github_grpc_ecosystem_go_grpc_prometheus",
-        importpath = "github.com/grpc-ecosystem/go-grpc-prometheus",
-        sum = "h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho=",
-        version = "v1.2.0",
-    )
-    go_repository(
-        name = "com_github_grpc_ecosystem_grpc_gateway",
-        importpath = "github.com/grpc-ecosystem/grpc-gateway",
-        sum = "h1:UImYN5qQ8tuGpGE16ZmjvcTtTw24zw1QAp/SlnNrZhI=",
-        version = "v1.9.5",
-    )
-
-    go_repository(
-        name = "com_github_hashicorp_hcl",
-        importpath = "github.com/hashicorp/hcl",
-        sum = "h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=",
-        version = "v1.0.0",
-    )
-
-    go_repository(
-        name = "com_github_hugelgupf_socketpair",
-        importpath = "github.com/hugelgupf/socketpair",
-        sum = "h1:/jC7qQFrv8CrSJVmaolDVOxTfS9kc36uB6H40kdbQq8=",
-        version = "v0.0.0-20190730060125-05d35a94e714",
-    )
-
-    go_repository(
-        name = "com_github_inconshreveable_mousetrap",
-        importpath = "github.com/inconshreveable/mousetrap",
-        sum = "h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=",
-        version = "v1.0.0",
-    )
-    go_repository(
-        name = "com_github_insomniacslk_dhcp",
-        importpath = "github.com/insomniacslk/dhcp",
-        sum = "h1:2PyiA5CVpWhQ4CPINgksFnopxYOGUN1n2IjKwrRqQDE=",
-        version = "v0.0.0-20190814082028-393ae75a101b",
-    )
-
-    go_repository(
-        name = "com_github_jonboulle_clockwork",
-        importpath = "github.com/jonboulle/clockwork",
-        sum = "h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo=",
-        version = "v0.1.0",
-    )
-    go_repository(
-        name = "com_github_json_iterator_go",
-        importpath = "github.com/json-iterator/go",
-        sum = "h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=",
-        version = "v1.1.8",
-    )
-
-    go_repository(
-        name = "com_github_julienschmidt_httprouter",
-        importpath = "github.com/julienschmidt/httprouter",
-        sum = "h1:TDTW5Yz1mjftljbcKqRcrYhd4XeOoI98t+9HbQbYf7g=",
-        version = "v1.2.0",
-    )
-
-    go_repository(
-        name = "com_github_kisielk_errcheck",
-        importpath = "github.com/kisielk/errcheck",
-        sum = "h1:reN85Pxc5larApoH1keMBiu2GWtPqXQ1nc9gx+jOU+E=",
-        version = "v1.2.0",
-    )
-    go_repository(
-        name = "com_github_kisielk_gotool",
-        importpath = "github.com/kisielk/gotool",
-        sum = "h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg=",
-        version = "v1.0.0",
-    )
-
-    go_repository(
-        name = "com_github_konsorten_go_windows_terminal_sequences",
-        importpath = "github.com/konsorten/go-windows-terminal-sequences",
-        sum = "h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s=",
-        version = "v1.0.2",
-    )
-    go_repository(
-        name = "com_github_kr_logfmt",
-        importpath = "github.com/kr/logfmt",
-        sum = "h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY=",
-        version = "v0.0.0-20140226030751-b84e30acd515",
-    )
-    go_repository(
-        name = "com_github_kr_pretty",
-        importpath = "github.com/kr/pretty",
-        sum = "h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=",
-        version = "v0.1.0",
-    )
-    go_repository(
-        name = "com_github_kr_pty",
-        importpath = "github.com/kr/pty",
-        sum = "h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw=",
-        version = "v1.1.1",
-    )
-    go_repository(
-        name = "com_github_kr_text",
-        importpath = "github.com/kr/text",
-        sum = "h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=",
-        version = "v0.1.0",
-    )
-
-    go_repository(
-        name = "com_github_magiconair_properties",
-        importpath = "github.com/magiconair/properties",
-        sum = "h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY=",
-        version = "v1.8.0",
-    )
-
-    go_repository(
-        name = "com_github_mattn_go_colorable",
-        importpath = "github.com/mattn/go-colorable",
-        sum = "h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4=",
-        version = "v0.0.9",
-    )
-    go_repository(
-        name = "com_github_mattn_go_isatty",
-        importpath = "github.com/mattn/go-isatty",
-        sum = "h1:bnP0vzxcAdeI1zdubAl5PjU6zsERjGZb7raWodagDYs=",
-        version = "v0.0.4",
-    )
-    go_repository(
-        name = "com_github_mattn_go_runewidth",
-        importpath = "github.com/mattn/go-runewidth",
-        sum = "h1:UnlwIPBGaTZfPQ6T1IGzPI0EkYAQmT9fAEJ/poFC63o=",
-        version = "v0.0.2",
-    )
-    go_repository(
-        name = "com_github_matttproud_golang_protobuf_extensions",
-        importpath = "github.com/matttproud/golang_protobuf_extensions",
-        sum = "h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=",
-        version = "v1.0.1",
-    )
-    go_repository(
-        name = "com_github_mdlayher_ethernet",
-        importpath = "github.com/mdlayher/ethernet",
-        sum = "h1:lez6TS6aAau+8wXUP3G9I3TGlmPFEq2CTxBaRqY6AGE=",
-        version = "v0.0.0-20190606142754-0394541c37b7",
-    )
-    go_repository(
-        name = "com_github_mdlayher_raw",
-        importpath = "github.com/mdlayher/raw",
-        sum = "h1:Xjvm7UTnKTwrlhbs+8qA6I0v1iX77rY3QxftSgvOVRk=",
-        version = "v0.0.0-20190606144222-a54781e5f38f",
-    )
-
-    go_repository(
-        name = "com_github_mitchellh_go_homedir",
-        importpath = "github.com/mitchellh/go-homedir",
-        sum = "h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=",
-        version = "v1.1.0",
-    )
-
-    go_repository(
-        name = "com_github_mitchellh_mapstructure",
-        importpath = "github.com/mitchellh/mapstructure",
-        sum = "h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=",
-        version = "v1.1.2",
-    )
-
-    go_repository(
-        name = "com_github_modern_go_concurrent",
-        importpath = "github.com/modern-go/concurrent",
-        sum = "h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=",
-        version = "v0.0.0-20180306012644-bacd9c7ef1dd",
-    )
-    go_repository(
-        name = "com_github_modern_go_reflect2",
-        importpath = "github.com/modern-go/reflect2",
-        sum = "h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=",
-        version = "v1.0.1",
-    )
-    go_repository(
-        name = "com_github_mwitkow_go_conntrack",
-        importpath = "github.com/mwitkow/go-conntrack",
-        sum = "h1:F9x/1yl3T2AeKLr2AMdilSD8+f9bvMnNN8VS5iDtovc=",
-        version = "v0.0.0-20161129095857-cc309e4a2223",
-    )
-
-    go_repository(
-        name = "com_github_olekukonko_tablewriter",
-        importpath = "github.com/olekukonko/tablewriter",
-        sum = "h1:58+kh9C6jJVXYjt8IE48G2eWl6BjwU5Gj0gqY84fy78=",
-        version = "v0.0.0-20170122224234-a0225b3f23b5",
-    )
-
-    go_repository(
-        name = "com_github_onsi_ginkgo",
-        importpath = "github.com/onsi/ginkgo",
-        sum = "h1:Ix8l273rp3QzYgXSR+c8d1fTG7UPgYkOSELPhiY/YGw=",
-        version = "v1.6.0",
-    )
-    go_repository(
-        name = "com_github_onsi_gomega",
-        importpath = "github.com/onsi/gomega",
-        sum = "h1:3mYCb7aPxS/RU7TI1y4rkEn1oKmPRjNJLNEXgw7MH2I=",
-        version = "v1.4.2",
-    )
-
-    go_repository(
-        name = "com_github_pelletier_go_toml",
-        importpath = "github.com/pelletier/go-toml",
-        sum = "h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc=",
-        version = "v1.2.0",
-    )
-
-    go_repository(
-        name = "com_github_pkg_errors",
-        importpath = "github.com/pkg/errors",
-        sum = "h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=",
-        version = "v0.8.1",
-    )
-
-    go_repository(
-        name = "com_github_pmezard_go_difflib",
-        importpath = "github.com/pmezard/go-difflib",
-        sum = "h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=",
-        version = "v1.0.0",
-    )
-
-    go_repository(
-        name = "com_github_prometheus_client_golang",
-        importpath = "github.com/prometheus/client_golang",
-        sum = "h1:vrDKnkGzuGvhNAL56c7DBz29ZL+KxnoR0x7enabFceM=",
-        version = "v1.0.0",
-    )
-    go_repository(
-        name = "com_github_prometheus_client_model",
-        importpath = "github.com/prometheus/client_model",
-        sum = "h1:gQz4mCbXsO+nc9n1hCxHcGA3Zx3Eo+UHZoInFGUIXNM=",
-        version = "v0.0.0-20190812154241-14fe0d1b01d4",
-    )
-    go_repository(
-        name = "com_github_prometheus_common",
-        importpath = "github.com/prometheus/common",
-        sum = "h1:K0MGApIoQvMw27RTdJkPbr3JZ7DNbtxQNyi5STVM6Kw=",
-        version = "v0.4.1",
-    )
-    go_repository(
-        name = "com_github_prometheus_procfs",
-        importpath = "github.com/prometheus/procfs",
-        sum = "h1:6LJUbpNm42llc4HRCuvApCSWB/WfhuNo9K98Q9sNGfs=",
-        version = "v0.0.2",
-    )
-
-    go_repository(
-        name = "com_github_rekby_gpt",
-        importpath = "github.com/rekby/gpt",
-        sum = "h1:cFRSGvObVNqtA4pnu8Y/0CWxc4WFvfssCVTrslH/yg4=",
-        version = "v0.0.0-20190209220743-520ac65554cf",
-    )
-
-    go_repository(
-        name = "com_github_rogpeppe_fastuuid",
-        importpath = "github.com/rogpeppe/fastuuid",
-        sum = "h1:gu+uRPtBe88sKxUCEXRoeCvVG90TJmwhiqRpvdhQFng=",
-        version = "v0.0.0-20150106093220-6724a57986af",
-    )
-
-    go_repository(
-        name = "com_github_russross_blackfriday",
-        importpath = "github.com/russross/blackfriday",
-        sum = "h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo=",
-        version = "v1.5.2",
-    )
-
-    go_repository(
-        name = "com_github_satori_go_uuid",
-        importpath = "github.com/satori/go.uuid",
-        sum = "h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=",
-        version = "v1.2.0",
-    )
-
-    go_repository(
-        name = "com_github_sirupsen_logrus",
-        importpath = "github.com/sirupsen/logrus",
-        sum = "h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=",
-        version = "v1.4.2",
-    )
-
-    go_repository(
-        name = "com_github_soheilhy_cmux",
-        importpath = "github.com/soheilhy/cmux",
-        sum = "h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E=",
-        version = "v0.1.4",
-    )
-
-    go_repository(
-        name = "com_github_spf13_afero",
-        importpath = "github.com/spf13/afero",
-        sum = "h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc=",
-        version = "v1.2.2",
-    )
-    go_repository(
-        name = "com_github_spf13_cast",
-        importpath = "github.com/spf13/cast",
-        sum = "h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8=",
-        version = "v1.3.0",
-    )
-    go_repository(
-        name = "com_github_spf13_cobra",
-        importpath = "github.com/spf13/cobra",
-        sum = "h1:f0B+LkLX6DtmRH1isoNA9VTtNUK9K8xYd28JNNfOv/s=",
-        version = "v0.0.5",
-    )
-    go_repository(
-        name = "com_github_spf13_jwalterweatherman",
-        importpath = "github.com/spf13/jwalterweatherman",
-        sum = "h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk=",
-        version = "v1.0.0",
+        name = "io_k8s_cri_api",
+        build_file_proto_mode = "disable",
+        importpath = "k8s.io/cri-api",
+        sum = "h1:JDsPY0mIzxR6JYGWKWhX7NIIXa9giiVQ1X/RE0Mw1GY=",
+        version = "v0.19.0-alpha.2",
     )
     go_repository(
         name = "com_github_spf13_pflag",
@@ -583,231 +220,191 @@
         version = "v1.0.5",
     )
     go_repository(
-        name = "com_github_spf13_viper",
-        importpath = "github.com/spf13/viper",
-        sum = "h1:VUFqw5KcqRf7i70GOzW7N+Q7+gxVBkSSqiXB12+JQ4M=",
-        version = "v1.3.2",
-    )
-
-    go_repository(
-        name = "com_github_stretchr_objx",
-        importpath = "github.com/stretchr/objx",
-        sum = "h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48=",
-        version = "v0.2.0",
-    )
-    go_repository(
-        name = "com_github_stretchr_testify",
-        importpath = "github.com/stretchr/testify",
-        sum = "h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=",
-        version = "v1.4.0",
-    )
-
-    go_repository(
-        name = "com_github_tmc_grpc_websocket_proxy",
-        importpath = "github.com/tmc/grpc-websocket-proxy",
-        sum = "h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ=",
-        version = "v0.0.0-20190109142713-0ad062ec5ee5",
-    )
-
-    go_repository(
-        name = "com_github_u_root_u_root",
-        importpath = "github.com/u-root/u-root",
-        sum = "h1:YqPGmRoRyYmeg17KIWFRSyVq6LX5T6GSzawyA6wG6EE=",
-        version = "v6.0.0+incompatible",
-    )
-
-    go_repository(
-        name = "com_github_ugorji_go_codec",
-        importpath = "github.com/ugorji/go/codec",
-        sum = "h1:3SVOIvH7Ae1KRYyQWRjXWJEA9sS/c/pjvH++55Gr648=",
-        version = "v0.0.0-20181204163529-d75b2dcb6bc8",
-    )
-    go_repository(
-        name = "com_github_urfave_cli",
-        importpath = "github.com/urfave/cli",
-        sum = "h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw=",
-        version = "v1.20.0",
-    )
-
-    go_repository(
-        name = "com_github_vishvananda_netlink",
-        importpath = "github.com/vishvananda/netlink",
-        sum = "h1:bqNY2lgheFIu1meHUFSH3d7vG93AFyqg3oGbJCOJgSM=",
+        name = "com_github_spf13_cobra",
+        importpath = "github.com/spf13/cobra",
+        sum = "h1:6m/oheQuQ13N9ks4hubMG6BnvwOeaJrqSPLahSnczz8=",
         version = "v1.0.0",
     )
     go_repository(
-        name = "com_github_vishvananda_netns",
-        importpath = "github.com/vishvananda/netns",
-        sum = "h1:nBX3nTcmxEtHSERBJaIo1Qa26VwRaopnZmfDQUXsF4I=",
-        version = "v0.0.0-20190625233234-7109fa855b0f",
+        name = "com_github_blang_semver",
+        importpath = "github.com/blang/semver",
+        sum = "h1:CGxCgetQ64DKk7rdZ++Vfnb1+ogGNnB17OJKJXD2Cfs=",
+        version = "v3.5.0+incompatible",
     )
     go_repository(
-        name = "com_github_xiang90_probing",
-        importpath = "github.com/xiang90/probing",
-        sum = "h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8=",
-        version = "v0.0.0-20190116061207-43a291ad63a2",
+        name = "com_github_coreos_go_systemd",
+        importpath = "github.com/coreos/go-systemd",
+        sum = "h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8=",
+        version = "v0.0.0-20190321100706-95778dfbb74e",
     )
     go_repository(
-        name = "com_github_xordataexchange_crypt",
-        importpath = "github.com/xordataexchange/crypt",
-        sum = "h1:ESFSdwYZvkeru3RtdrYueztKhOBCSAAzS4Gf+k0tEow=",
-        version = "v0.0.3-0.20170626215501-b2862e3d0a77",
+        name = "io_k8s_utils",
+        importpath = "k8s.io/utils",
+        sum = "h1:d4vVOjXm687F1iLSP2q3lyPPuyvTUt3aVoBpi2DqRsU=",
+        version = "v0.0.0-20200324210504-a9aa75ae1b89",
     )
     go_repository(
-        name = "com_github_yalue_native_endian",
-        importpath = "github.com/yalue/native_endian",
-        sum = "h1:nsQCScpQ8RRf+wIooqfyyEUINV2cAPuo2uVtHSBbA4M=",
-        version = "v0.0.0-20180607135909-51013b03be4f",
-    )
-
-    go_repository(
-        name = "com_google_cloud_go",
-        importpath = "cloud.google.com/go",
-        sum = "h1:eOI3/cP2VTU6uZLDYAoic+eyzzB9YyGmJ7eIjl8rOPg=",
-        version = "v0.34.0",
-    )
-
-    go_repository(
-        name = "in_gopkg_alecthomas_kingpin_v2",
-        importpath = "gopkg.in/alecthomas/kingpin.v2",
-        sum = "h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=",
-        version = "v2.2.6",
-    )
-
-    go_repository(
-        name = "in_gopkg_check_v1",
-        importpath = "gopkg.in/check.v1",
-        sum = "h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=",
-        version = "v1.0.0-20190902080502-41f04d3bba15",
+        name = "com_github_spf13_afero",
+        importpath = "github.com/spf13/afero",
+        sum = "h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc=",
+        version = "v1.2.2",
     )
     go_repository(
-        name = "in_gopkg_cheggaaa_pb_v1",
-        importpath = "gopkg.in/cheggaaa/pb.v1",
-        sum = "h1:Ev7yu1/f6+d+b3pi5vPdRPc6nNtP1umSfcWiEfRqv6I=",
-        version = "v1.0.25",
-    )
-
-    go_repository(
-        name = "in_gopkg_resty_v1",
-        importpath = "gopkg.in/resty.v1",
-        sum = "h1:CuXP0Pjfw9rOuY6EP+UvtNvt5DSqHpIxILZKT/quCZI=",
-        version = "v1.12.0",
-    )
-
-    go_repository(
-        name = "in_gopkg_yaml_v2",
-        importpath = "gopkg.in/yaml.v2",
-        sum = "h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=",
-        version = "v2.2.4",
+        name = "com_github_armon_circbuf",
+        importpath = "github.com/armon/circbuf",
+        sum = "h1:QEF07wC0T1rKkctt1RINW/+RMTVmiwxETico2l3gxJA=",
+        version = "v0.0.0-20150827004946-bbbad097214e",
     )
     go_repository(
-        name = "io_etcd_go_bbolt",
-        importpath = "go.etcd.io/bbolt",
-        sum = "h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk=",
-        version = "v1.3.3",
+        name = "com_github_container_storage_interface_spec",
+        importpath = "github.com/container-storage-interface/spec",
+        sum = "h1:bD9KIVgaVKKkQ/UbVUY9kCaH/CJbhNxe0eeB4JeJV2s=",
+        version = "v1.2.0",
+    )
+    go_repository(
+        name = "com_github_docker_go_connections",
+        importpath = "github.com/docker/go-connections",
+        sum = "h1:3lOnM9cSzgGwx8VfK/NGOW5fLQ0GjIlCkaktF+n1M6o=",
+        version = "v0.3.0",
+    )
+    go_repository(
+        name = "io_k8s_kube_openapi",
+        importpath = "k8s.io/kube-openapi",
+        sum = "h1:FDWYFE3itI1G8UFOMjUuLbROZExo+Rrfm/Qaf473rm4=",
+        version = "v0.0.0-20200403204345-e1beb1bd0f35",
+    )
+    go_repository(
+        name = "com_github_go_openapi_spec",
+        importpath = "github.com/go-openapi/spec",
+        sum = "h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc=",
+        version = "v0.19.3",
+    )
+    go_repository(
+        name = "com_github_evanphx_json_patch",
+        importpath = "github.com/evanphx/json-patch",
+        sum = "h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=",
+        version = "v4.2.0+incompatible",
     )
     go_repository(
         name = "io_etcd_go_etcd",
         build_file_proto_mode = "disable",
         importpath = "go.etcd.io/etcd",
-        sum = "h1:TcJ8iNja1CH/h/3QcsydKL5krb0MIPjMJLYgzClNaSQ=",
-        version = "v0.5.0-alpha.5.0.20200306183522-221f0cc107cb",
+        sum = "h1:C7kWARE8r64ppRadl40yfNo6pag+G6ocvGU2xZ6yNes=",
+        version = "v0.5.0-alpha.5.0.20200401174654-e694b7bb0875",
     )
-
     go_repository(
-        name = "io_k8s_sigs_yaml",
-        importpath = "sigs.k8s.io/yaml",
-        sum = "h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=",
+        name = "com_github_go_openapi_jsonpointer",
+        importpath = "github.com/go-openapi/jsonpointer",
+        sum = "h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=",
+        version = "v0.19.3",
+    )
+    go_repository(
+        name = "com_github_go_openapi_swag",
+        importpath = "github.com/go-openapi/swag",
+        sum = "h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=",
+        version = "v0.19.5",
+    )
+    go_repository(
+        name = "com_github_go_openapi_jsonreference",
+        importpath = "github.com/go-openapi/jsonreference",
+        sum = "h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o=",
+        version = "v0.19.3",
+    )
+    go_repository(
+        name = "com_github_cyphar_filepath_securejoin",
+        importpath = "github.com/cyphar/filepath-securejoin",
+        sum = "h1:jCwT2GTP+PY5nBz3c/YL5PAIbusElVrPujOBSCj8xRg=",
+        version = "v0.2.2",
+    )
+    go_repository(
+        name = "com_github_mailru_easyjson",
+        importpath = "github.com/mailru/easyjson",
+        sum = "h1:aizVhC/NAAcKWb+5QsU1iNOZb4Yws5UO2I+aIprQITM=",
+        version = "v0.7.0",
+    )
+    go_repository(
+        name = "com_github_puerkitobio_purell",
+        importpath = "github.com/PuerkitoBio/purell",
+        sum = "h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=",
+        version = "v1.1.1",
+    )
+    go_repository(
+        name = "com_github_puerkitobio_urlesc",
+        importpath = "github.com/PuerkitoBio/urlesc",
+        sum = "h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=",
+        version = "v0.0.0-20170810143723-de5bf2ad4578",
+    )
+    go_repository(
+        name = "com_github_mxk_go_flowrate",
+        importpath = "github.com/mxk/go-flowrate",
+        sum = "h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus=",
+        version = "v0.0.0-20140419014527-cca7078d478f",
+    )
+    go_repository(
+        name = "com_google_cloud_go",
+        importpath = "cloud.google.com/go",
+        sum = "h1:ROfEUZz+Gh5pa62DJWXSaonyu3StP6EA6lPEXPI6mCo=",
+        version = "v0.38.0",
+    )
+    go_repository(
+        name = "com_github_karrick_godirwalk",
+        importpath = "github.com/karrick/godirwalk",
+        sum = "h1:VbzFqwXwNbAZoA6W5odrLr+hKK197CcENcPh6E/gJ0M=",
+        version = "v1.7.5",
+    )
+    go_repository(
+        name = "com_github_euank_go_kmsg_parser",
+        importpath = "github.com/euank/go-kmsg-parser",
+        sum = "h1:cHD53+PLQuuQyLZeriD1V/esuG4MuU0Pjs5y6iknohY=",
+        version = "v2.0.0+incompatible",
+    )
+    go_repository(
+        name = "com_github_mindprince_gonvml",
+        importpath = "github.com/mindprince/gonvml",
+        sum = "h1:PS1dLCGtD8bb9RPKJrc8bS7qHL6JnW1CZvwzH9dPoUs=",
+        version = "v0.0.0-20190828220739-9ebdce4bb989",
+    )
+    go_repository(
+        name = "com_github_checkpoint_restore_go_criu",
+        importpath = "github.com/checkpoint-restore/go-criu",
+        sum = "h1:T4nWG1TXIxeor8mAu5bFguPJgSIGhZqv/f0z55KCrJM=",
+        version = "v0.0.0-20190109184317-bdb7599cd87b",
+    )
+    go_repository(
+        name = "com_github_mrunalp_fileutils",
+        importpath = "github.com/mrunalp/fileutils",
+        sum = "h1:7InQ7/zrOh6SlFjaXFubv0xX0HsuC9qJsdqm7bNQpYM=",
+        version = "v0.0.0-20171103030105-7d4729fb3618",
+    )
+    go_repository(
+        name = "com_github_vishvananda_netns",
+        importpath = "github.com/vishvananda/netns",
+        sum = "h1:OviZH7qLw/7ZovXvuNyL3XQl8UFofeikI1NW1Gypu7k=",
+        version = "v0.0.0-20191106174202-0a2b9b5464df",
+    )
+    go_repository(
+        name = "com_github_munnerz_goautoneg",
+        importpath = "github.com/munnerz/goautoneg",
+        sum = "h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=",
+        version = "v0.0.0-20191010083416-a7dc8b61c822",
+    )
+    go_repository(
+        name = "com_github_nytimes_gziphandler",
+        importpath = "github.com/NYTimes/gziphandler",
+        sum = "h1:lsxEuwrXEAokXB9qhlbKWPpo3KMLZQ5WB5WLQRW1uq0=",
+        version = "v0.0.0-20170623195520-56545f4a5d46",
+    )
+    go_repository(
+        name = "com_github_vishvananda_netlink",
+        importpath = "github.com/vishvananda/netlink",
+        sum = "h1:1iyaYNBLmP6L0220aDnYQpo1QEV4t4hJ+xEEhhJH8j0=",
         version = "v1.1.0",
     )
-
     go_repository(
-        name = "org_golang_google_appengine",
-        importpath = "google.golang.org/appengine",
-        sum = "h1:KxkO13IPW4Lslp2bz+KHP2E3gtFlrIGNThxkZQ3g+4c=",
-        version = "v1.5.0",
-    )
-    go_repository(
-        name = "org_golang_google_genproto",
-        importpath = "google.golang.org/genproto",
-        sum = "h1:gSJIx1SDwno+2ElGhA4+qG2zF97qiUzTM+rQ0klBOcE=",
-        version = "v0.0.0-20190819201941-24fa4b261c55",
-    )
-    go_repository(
-        name = "org_golang_google_grpc",
-        build_file_proto_mode = "disable",
-        importpath = "google.golang.org/grpc",
-        sum = "h1:bO/TA4OxCOummhSf10siHuG7vJOiwh7SpRpFZDkOgl4=",
-        version = "v1.28.0",
-    )
-
-    go_repository(
-        name = "org_golang_x_crypto",
-        importpath = "golang.org/x/crypto",
-        sum = "h1:c0o/qxkaO2LF5t6fQrT4b5hzyggAkLLlCUjqfRxd8Q4=",
-        version = "v0.0.0-20191002192127-34f69633bfdc",
-    )
-
-    go_repository(
-        name = "org_golang_x_lint",
-        importpath = "golang.org/x/lint",
-        sum = "h1:XQyxROzUlZH+WIQwySDgnISgOivlhjIEwaQaJEJrrN0=",
-        version = "v0.0.0-20190313153728-d0100b6bd8b3",
-    )
-    go_repository(
-        name = "org_golang_x_net",
-        importpath = "golang.org/x/net",
-        sum = "h1:rjwSpXsdiK0dV8/Naq3kAw9ymfAeJIyd0upUIElB+lI=",
-        version = "v0.0.0-20191004110552-13f9640d40b9",
-    )
-    go_repository(
-        name = "org_golang_x_oauth2",
-        importpath = "golang.org/x/oauth2",
-        sum = "h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0=",
-        version = "v0.0.0-20190604053449-0f29369cfe45",
-    )
-
-    go_repository(
-        name = "org_golang_x_sync",
-        importpath = "golang.org/x/sync",
-        sum = "h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=",
-        version = "v0.0.0-20190423024810-112230192c58",
-    )
-    go_repository(
-        name = "org_golang_x_sys",
-        importpath = "golang.org/x/sys",
-        sum = "h1:ZtoklVMHQy6BFRHkbG6JzK+S6rX82//Yeok1vMlizfQ=",
-        version = "v0.0.0-20191018095205-727590c5006e",
-    )
-    go_repository(
-        name = "org_golang_x_text",
-        importpath = "golang.org/x/text",
-        sum = "h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=",
-        version = "v0.3.2",
-    )
-    go_repository(
-        name = "org_golang_x_time",
-        importpath = "golang.org/x/time",
-        sum = "h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ=",
-        version = "v0.0.0-20190308202827-9d24e82272b4",
-    )
-    go_repository(
-        name = "org_golang_x_tools",
-        importpath = "golang.org/x/tools",
-        sum = "h1:KfpJVdWhuRqNk4XVXzjXf2KAV4TBEP77SYdFGjeGuIE=",
-        version = "v0.0.0-20190624180213-70d37148ca0c",
-    )
-    go_repository(
-        name = "org_uber_go_atomic",
-        importpath = "go.uber.org/atomic",
-        sum = "h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=",
-        version = "v1.4.0",
-    )
-    go_repository(
-        name = "org_uber_go_multierr",
-        importpath = "go.uber.org/multierr",
-        sum = "h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI=",
-        version = "v1.1.0",
+        name = "com_github_googleapis_gnostic",
+        importpath = "github.com/googleapis/gnostic",
+        sum = "h1:DLJCy1n/vrD4HPjOvYcT8aYQXpPIzoRZONaYwyycI+I=",
+        version = "v0.4.1",
     )
     go_repository(
         name = "org_uber_go_zap",
@@ -816,100 +413,410 @@
         version = "v1.10.0",
     )
     go_repository(
-        name = "com_github_apmckinlay_gsuneido",
-        importpath = "github.com/apmckinlay/gsuneido",
-        sum = "h1:WwxMm9boNuaj5YW+qfRoORxLLJrSRiK1zovCfGNddY0=",
-        version = "v0.0.0-20190404155041-0b6cd442a18f",
-    )
-    go_repository(
-        name = "com_github_armon_go_radix",
-        importpath = "github.com/armon/go-radix",
-        sum = "h1:BUAU3CGlLvorLI26FmByPp2eC2qla6E1Tw+scpcg/to=",
-        version = "v0.0.0-20180808171621-7fddfc383310",
-    )
-    go_repository(
-        name = "com_github_cockroachdb_apd",
-        importpath = "github.com/cockroachdb/apd",
-        sum = "h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I=",
-        version = "v1.1.0",
-    )
-    go_repository(
-        name = "com_github_data_dog_go_sqlmock",
-        importpath = "github.com/DATA-DOG/go-sqlmock",
-        sum = "h1:CWUqKXe0s8A2z6qCgkP4Kru7wC11YoAnoupUKFDnH08=",
-        version = "v1.3.3",
-    )
-    go_repository(
-        name = "com_github_denisenkom_go_mssqldb",
-        importpath = "github.com/denisenkom/go-mssqldb",
-        sum = "h1:epsH3lb7KVbXHYk7LYGN5EiE0MxcevHU85CKITJ0wUY=",
-        version = "v0.0.0-20191001013358-cfbb681360f0",
-    )
-    go_repository(
-        name = "com_github_ericlagergren_decimal",
-        importpath = "github.com/ericlagergren/decimal",
-        sum = "h1:gImfQgMq4P8DtUESTFGgqBaYuUwc0xE7AoYRKkYzrOc=",
-        version = "v0.0.0-20191018222636-98d6b4cb4b5e",
-    )
-    go_repository(
-        name = "com_github_friendsofgo_errors",
-        importpath = "github.com/friendsofgo/errors",
-        sum = "h1:X6NYxef4efCBdwI7BgS820zFaN7Cphrmb+Pljdzjtgk=",
-        version = "v0.9.2",
-    )
-    go_repository(
-        name = "com_github_glerchundi_sqlboiler_crdb",
-        importpath = "github.com/glerchundi/sqlboiler-crdb",
-        sum = "h1:qC5Gu83hkXlQVECFs1u/9EdwYjo58RYaxWnJZGa0YN0=",
-        version = "v0.0.0-20191112134934-62014c8c8df1",
-    )
-    go_repository(
-        name = "com_github_go_sql_driver_mysql",
-        importpath = "github.com/go-sql-driver/mysql",
-        sum = "h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA=",
-        version = "v1.4.1",
-    )
-    go_repository(
-        name = "com_github_gobuffalo_envy",
-        importpath = "github.com/gobuffalo/envy",
-        sum = "h1:GlXgaiBkmrYMHco6t4j7SacKO4XUjvh5pwXh0f4uxXU=",
-        version = "v1.7.0",
-    )
-    go_repository(
-        name = "com_github_gobuffalo_logger",
-        importpath = "github.com/gobuffalo/logger",
-        sum = "h1:xw9Ko9EcC5iAFprrjJ6oZco9UpzS5MQ4jAwghsLHdy4=",
-        version = "v1.0.0",
-    )
-    go_repository(
-        name = "com_github_gobuffalo_packd",
-        importpath = "github.com/gobuffalo/packd",
-        sum = "h1:eMwymTkA1uXsqxS0Tpoop3Lc0u3kTfiMBE6nKtQU4g4=",
+        name = "com_github_coreos_go_semver",
+        importpath = "github.com/coreos/go-semver",
+        sum = "h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=",
         version = "v0.3.0",
     )
     go_repository(
-        name = "com_github_gobuffalo_packr",
-        importpath = "github.com/gobuffalo/packr",
-        sum = "h1:hu1fuVR3fXEZR7rXNW3h8rqSML8EVAf6KNm0NKO/wKg=",
-        version = "v1.30.1",
+        name = "org_uber_go_multierr",
+        importpath = "go.uber.org/multierr",
+        sum = "h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI=",
+        version = "v1.1.0",
     )
     go_repository(
-        name = "com_github_gobuffalo_packr_v2",
-        importpath = "github.com/gobuffalo/packr/v2",
-        sum = "h1:TFOeY2VoGamPjQLiNDT3mn//ytzk236VMO2j7iHxJR4=",
-        version = "v2.5.1",
+        name = "org_uber_go_atomic",
+        importpath = "go.uber.org/atomic",
+        sum = "h1:2Oa65PReHzfn29GpvgsYwloV9AVFHPDk8tYxt2c2tr4=",
+        version = "v1.3.2",
     )
     go_repository(
-        name = "com_github_gofrs_uuid",
-        importpath = "github.com/gofrs/uuid",
-        sum = "h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE=",
+        name = "com_github_coreos_pkg",
+        importpath = "github.com/coreos/pkg",
+        sum = "h1:n2Ltr3SrfQlf/9nOna1DoGKxLx3qTSI8Ttl6Xrqp6mw=",
+        version = "v0.0.0-20180108230652-97fdf19511ea",
+    )
+    go_repository(
+        name = "com_github_morikuni_aec",
+        importpath = "github.com/morikuni/aec",
+        sum = "h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=",
+        version = "v1.0.0",
+    )
+    go_repository(
+        name = "com_github_lithammer_dedent",
+        importpath = "github.com/lithammer/dedent",
+        sum = "h1:VNzHMVCBNG1j0fh3OrsFRkVUwStdDArbgBWoPAffktY=",
+        version = "v1.1.0",
+    )
+    go_repository(
+        name = "com_github_grpc_ecosystem_go_grpc_prometheus",
+        importpath = "github.com/grpc-ecosystem/go-grpc-prometheus",
+        sum = "h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho=",
+        version = "v1.2.0",
+    )
+    go_repository(
+        name = "in_gopkg_natefinch_lumberjack_v2",
+        importpath = "gopkg.in/natefinch/lumberjack.v2",
+        sum = "h1:Kjoe/521+yYTO0xv6VymPwLPVq3RES8170ZpJkrFE9Q=",
+        version = "v2.0.0-20161104145732-dd45e6a67c53",
+    )
+    go_repository(
+        name = "com_github_robfig_cron",
+        importpath = "github.com/robfig/cron",
+        sum = "h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ=",
+        version = "v1.2.0",
+    )
+    go_repository(
+        name = "com_github_coreos_go_oidc",
+        importpath = "github.com/coreos/go-oidc",
+        sum = "h1:sdJrfw8akMnCuUlaZU3tE/uYXFgfqom8DBE9so9EBsM=",
+        version = "v2.1.0+incompatible",
+    )
+    go_repository(
+        name = "org_gonum_v1_gonum",
+        importpath = "gonum.org/v1/gonum",
+        sum = "h1:4r+yNT0+8SWcOkXP+63H2zQbN+USnC73cjGUxnDF94Q=",
+        version = "v0.6.2",
+    )
+    go_repository(
+        name = "io_k8s_heapster",
+        importpath = "k8s.io/heapster",
+        sum = "h1:zq1luJo07HL2HT4hiddH4nron62gVRlAq/DpOV3n31s=",
+        version = "v1.2.0",
+    )
+    go_repository(
+        name = "in_gopkg_square_go_jose_v2",
+        importpath = "gopkg.in/square/go-jose.v2",
+        sum = "h1:orlkJ3myw8CN1nVQHBFfloD+L3egixIa4FvUP6RosSA=",
+        version = "v2.2.2",
+    )
+    go_repository(
+        name = "com_github_pquerna_cachecontrol",
+        importpath = "github.com/pquerna/cachecontrol",
+        sum = "h1:0XM1XL/OFFJjXsYXlG30spTkV/E9+gmd5GD1w2HE8xM=",
+        version = "v0.0.0-20171018203845-0dec1b30a021",
+    )
+    go_repository(
+        name = "com_github_go_openapi_validate",
+        importpath = "github.com/go-openapi/validate",
+        sum = "h1:QhCBKRYqZR+SKo4gl1lPhPahope8/RLt6EVgY8X80w0=",
+        version = "v0.19.5",
+    )
+    go_repository(
+        name = "com_github_go_openapi_strfmt",
+        importpath = "github.com/go-openapi/strfmt",
+        sum = "h1:eRfyY5SkaNJCAwmmMcADjY31ow9+N7MCLW7oRkbsINA=",
+        version = "v0.19.3",
+    )
+    go_repository(
+        name = "io_k8s_gengo",
+        importpath = "k8s.io/gengo",
+        sum = "h1:pZzawYyz6VRNPVYpqGv61LWCimQv1BihyeqFrp50/G4=",
+        version = "v0.0.0-20200205140755-e0e292d8aa12",
+    )
+    go_repository(
+        name = "org_golang_x_mod",
+        importpath = "golang.org/x/mod",
+        sum = "h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ=",
+        version = "v0.2.0",
+    )
+    go_repository(
+        name = "org_golang_x_xerrors",
+        importpath = "golang.org/x/xerrors",
+        sum = "h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=",
+        version = "v0.0.0-20191204190536-9bdfabe68543",
+    )
+    go_repository(
+        name = "com_github_grpc_ecosystem_grpc_gateway",
+        importpath = "github.com/grpc-ecosystem/grpc-gateway",
+        sum = "h1:UImYN5qQ8tuGpGE16ZmjvcTtTw24zw1QAp/SlnNrZhI=",
+        version = "v1.9.5",
+    )
+    go_repository(
+        name = "com_github_soheilhy_cmux",
+        importpath = "github.com/soheilhy/cmux",
+        sum = "h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E=",
+        version = "v0.1.4",
+    )
+    go_repository(
+        name = "com_github_tmc_grpc_websocket_proxy",
+        importpath = "github.com/tmc/grpc-websocket-proxy",
+        sum = "h1:ndzgwNDnKIqyCvHTXaCqh9KlOWKvBry6nuXMJmonVsE=",
+        version = "v0.0.0-20170815181823-89b8d40f7ca8",
+    )
+    go_repository(
+        name = "com_github_go_openapi_errors",
+        importpath = "github.com/go-openapi/errors",
+        sum = "h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY=",
+        version = "v0.19.2",
+    )
+    go_repository(
+        name = "com_github_go_openapi_analysis",
+        importpath = "github.com/go-openapi/analysis",
+        sum = "h1:8b2ZgKfKIUTVQpTb77MoRDIMEIwvDVw40o3aOXdfYzI=",
+        version = "v0.19.5",
+    )
+    go_repository(
+        name = "com_github_go_openapi_loads",
+        importpath = "github.com/go-openapi/loads",
+        sum = "h1:5I4CCSqoWzT+82bBkNIvmLc0UOsoKKQ4Fz+3VxOB7SY=",
+        version = "v0.19.4",
+    )
+    go_repository(
+        name = "com_github_dustin_go_humanize",
+        importpath = "github.com/dustin/go-humanize",
+        sum = "h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=",
+        version = "v1.0.0",
+    )
+    go_repository(
+        name = "com_github_mitchellh_mapstructure",
+        importpath = "github.com/mitchellh/mapstructure",
+        sum = "h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=",
+        version = "v1.1.2",
+    )
+    go_repository(
+        name = "com_github_go_openapi_runtime",
+        importpath = "github.com/go-openapi/runtime",
+        sum = "h1:csnOgcgAiuGoM/Po7PEpKDoNulCcF3FGbSnbHfxgjMI=",
+        version = "v0.19.4",
+    )
+    go_repository(
+        name = "com_github_asaskevich_govalidator",
+        importpath = "github.com/asaskevich/govalidator",
+        sum = "h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA=",
+        version = "v0.0.0-20190424111038-f61b66f89f4a",
+    )
+    go_repository(
+        name = "org_mongodb_go_mongo_driver",
+        importpath = "go.mongodb.org/mongo-driver",
+        sum = "h1:jxcFYjlkl8xaERsgLo+RNquI0epW6zuy/ZRQs6jnrFA=",
+        version = "v1.1.2",
+    )
+    go_repository(
+        name = "com_github_jonboulle_clockwork",
+        importpath = "github.com/jonboulle/clockwork",
+        sum = "h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo=",
+        version = "v0.1.0",
+    )
+    go_repository(
+        name = "com_github_grpc_ecosystem_go_grpc_middleware",
+        importpath = "github.com/grpc-ecosystem/go-grpc-middleware",
+        sum = "h1:THDBEeQ9xZ8JEaCLyLQqXMMdRqNr0QAUJTIkQAUtFjg=",
+        version = "v1.1.0",
+    )
+    go_repository(
+        name = "com_github_xiang90_probing",
+        importpath = "github.com/xiang90/probing",
+        sum = "h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8=",
+        version = "v0.0.0-20190116061207-43a291ad63a2",
+    )
+    go_repository(
+        name = "com_github_gorilla_websocket",
+        importpath = "github.com/gorilla/websocket",
+        sum = "h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=",
+        version = "v1.4.0",
+    )
+    go_repository(
+        name = "com_github_google_btree",
+        importpath = "github.com/google/btree",
+        sum = "h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=",
+        version = "v1.0.0",
+    )
+    go_repository(
+        name = "com_github_dgrijalva_jwt_go",
+        importpath = "github.com/dgrijalva/jwt-go",
+        sum = "h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=",
         version = "v3.2.0+incompatible",
     )
     go_repository(
-        name = "com_github_golang_sql_civil",
-        importpath = "github.com/golang-sql/civil",
-        sum = "h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY=",
-        version = "v0.0.0-20190719163853-cb61b32ac6fe",
+        name = "com_github_go_stack_stack",
+        importpath = "github.com/go-stack/stack",
+        sum = "h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=",
+        version = "v1.8.0",
+    )
+    go_repository(
+        name = "com_github_makenowjust_heredoc",
+        importpath = "github.com/MakeNowJust/heredoc",
+        sum = "h1:sjQovDkwrZp8u+gxLtPgKGjk5hCxuy2hrRejBTA9xFU=",
+        version = "v0.0.0-20170808103936-bb23615498cd",
+    )
+    go_repository(
+        name = "com_github_daviddengcn_go_colortext",
+        importpath = "github.com/daviddengcn/go-colortext",
+        sum = "h1:uVsMphB1eRx7xB1njzL3fuMdWRN8HtVzoUOItHMwv5c=",
+        version = "v0.0.0-20160507010035-511bcaf42ccd",
+    )
+    go_repository(
+        name = "com_github_liggitt_tabwriter",
+        importpath = "github.com/liggitt/tabwriter",
+        sum = "h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0=",
+        version = "v0.0.0-20181228230101-89fcab3d43de",
+    )
+    go_repository(
+        name = "io_k8s_sigs_structured_merge_diff_v3",
+        importpath = "sigs.k8s.io/structured-merge-diff/v3",
+        sum = "h1:dOmIZBMfhcHS09XZkMyUgkq5trg3/jRyJYFZUiaOp8E=",
+        version = "v3.0.0",
+    )
+    go_repository(
+        name = "org_golang_google_grpc",
+        importpath = "google.golang.org/grpc",
+        sum = "h1:2dTRdpdFEEhJYQD8EMLB61nnrzSCTbG38PhqdhvOltg=",
+        version = "v1.26.0",
+    )
+    go_repository(
+        name = "org_golang_x_net",
+        importpath = "golang.org/x/net",
+        sum = "h1:3G+cUijn7XD+S4eJFddp53Pv7+slrESplyjG25HgL+k=",
+        version = "v0.0.0-20200324143707-d3edc9973b7e",
+    )
+    go_repository(
+        name = "org_golang_x_text",
+        importpath = "golang.org/x/text",
+        sum = "h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=",
+        version = "v0.3.0",
+    )
+    go_repository(
+        name = "com_github_golang_groupcache",
+        importpath = "github.com/golang/groupcache",
+        sum = "h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=",
+        version = "v0.0.0-20160516000752-02826c3e7903",
+    )
+    go_repository(
+        name = "com_github_containerd_containerd",
+        build_file_proto_mode = "disable",
+        build_tags = ["no_zfs", "no_aufs", "no_devicemapper", "no_btrfs"],
+        importpath = "github.com/containerd/containerd",
+        sum = "h1:IeFaEbvx6mQe9K1cXG2K7zynPwge3YUrQlLTyiNiveU=",
+        version = "v1.3.1-0.20200218165203-8e685f78cf66",
+    )
+    go_repository(
+        name = "com_github_beorn7_perks",
+        importpath = "github.com/beorn7/perks",
+        sum = "h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=",
+        version = "v1.0.1",
+    )
+    go_repository(
+        name = "com_github_burntsushi_toml",
+        importpath = "github.com/BurntSushi/toml",
+        sum = "h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=",
+        version = "v0.3.1",
+    )
+    go_repository(
+        name = "com_github_cespare_xxhash_v2",
+        importpath = "github.com/cespare/xxhash/v2",
+        sum = "h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=",
+        version = "v2.1.1",
+    )
+    go_repository(
+        name = "com_github_containerd_btrfs",
+        importpath = "github.com/containerd/btrfs",
+        sum = "h1:u5X1yvVEsXLcuTWYsFSpTgQKRvo2VTB5gOHcERpF9ZI=",
+        version = "v0.0.0-20200117014249-153935315f4a",
+    )
+    go_repository(
+        name = "com_github_containerd_cgroups",
+        build_file_proto_mode = "disable",
+        importpath = "github.com/containerd/cgroups",
+        sum = "h1:sL8rdngVdYA2SLRwj6sSZ1cLDpBkFBd7IZVp0M2Lboc=",
+        version = "v0.0.0-20200113070643-7347743e5d1e",
+    )
+    go_repository(
+        name = "com_github_containerd_console",
+        importpath = "github.com/containerd/console",
+        sum = "h1:fU3UuQapBs+zLJu82NhR11Rif1ny2zfMMAyPJzSN5tQ=",
+        version = "v1.0.0",
+    )
+    go_repository(
+        name = "com_github_containerd_continuity",
+        importpath = "github.com/containerd/continuity",
+        sum = "h1:hBSbT5nWoYGwpmUa8TCsSVFVSdTyFoNlz85rNkH4OGk=",
+        version = "v0.0.0-20200107062522-0ec596719c75",
+    )
+    go_repository(
+        name = "com_github_containerd_fifo",
+        importpath = "github.com/containerd/fifo",
+        sum = "h1:KFbqHhDeaHM7IfFtXHfUHMDaUStpM2YwBR+iJCIOsKk=",
+        version = "v0.0.0-20190816180239-bda0ff6ed73c",
+    )
+    go_repository(
+        name = "com_github_containerd_go_runc",
+        importpath = "github.com/containerd/go-runc",
+        sum = "h1:9aJwmidmB33rxuib1NxR5NT4nvDMA9/S2sDR/D3tE5U=",
+        version = "v0.0.0-20191206163734-a5c2862aed5e",
+    )
+    go_repository(
+        name = "com_github_containerd_ttrpc",
+        importpath = "github.com/containerd/ttrpc",
+        sum = "h1:NY8Zk2i7TpkLxrkOASo+KTFq9iNCEmMH2/ZG9OuOw6k=",
+        version = "v1.0.0",
+    )
+    go_repository(
+        name = "com_github_containerd_typeurl",
+        importpath = "github.com/containerd/typeurl",
+        sum = "h1:7LMH7LfEmpWeCkGcIputvd4P0Rnd0LrIv1Jk2s5oobs=",
+        version = "v1.0.0",
+    )
+    go_repository(
+        name = "com_github_coreos_go_systemd_v22",
+        importpath = "github.com/coreos/go-systemd/v22",
+        sum = "h1:XJIw/+VlJ+87J+doOxznsAWIdmWuViOVhkQamW5YV28=",
+        version = "v22.0.0",
+    )
+    go_repository(
+        name = "com_github_cpuguy83_go_md2man",
+        importpath = "github.com/cpuguy83/go-md2man",
+        sum = "h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk=",
+        version = "v1.0.10",
+    )
+    go_repository(
+        name = "com_github_docker_go_events",
+        importpath = "github.com/docker/go-events",
+        sum = "h1:VXIse57M5C6ezDuCPyq6QmMvEJ2xclYKZ35SfkXdm3E=",
+        version = "v0.0.0-20170721190031-9461782956ad",
+    )
+    go_repository(
+        name = "com_github_docker_go_metrics",
+        importpath = "github.com/docker/go-metrics",
+        sum = "h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8=",
+        version = "v0.0.1",
+    )
+    go_repository(
+        name = "com_github_docker_go_units",
+        importpath = "github.com/docker/go-units",
+        sum = "h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw=",
+        version = "v0.4.0",
+    )
+    go_repository(
+        name = "com_github_godbus_dbus_v5",
+        importpath = "github.com/godbus/dbus/v5",
+        sum = "h1:ZqHaoEF7TBzh4jzPmqVhE/5A1z9of6orkAe5uHoAeME=",
+        version = "v5.0.3",
+    )
+    go_repository(
+        name = "com_github_gogo_googleapis",
+        build_file_proto_mode = "disable",
+        importpath = "github.com/gogo/googleapis",
+        sum = "h1:Z0v3OJDotX9ZBpdz2V+AI7F4fITSZhVE5mg6GQppwMM=",
+        version = "v1.2.0",
+    )
+    go_repository(
+        name = "com_github_gogo_protobuf",
+        importpath = "github.com/gogo/protobuf",
+        sum = "h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE=",
+        version = "v1.2.1",
+    )
+    go_repository(
+        name = "com_github_google_go_cmp",
+        importpath = "github.com/google/go-cmp",
+        sum = "h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=",
+        version = "v0.4.0",
+    )
+    go_repository(
+        name = "com_github_google_uuid",
+        importpath = "github.com/google/uuid",
+        sum = "h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=",
+        version = "v1.1.1",
     )
     go_repository(
         name = "com_github_hashicorp_errwrap",
@@ -924,130 +831,198 @@
         version = "v1.0.0",
     )
     go_repository(
-        name = "com_github_joho_godotenv",
-        importpath = "github.com/joho/godotenv",
-        sum = "h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc=",
+        name = "com_github_hashicorp_golang_lru",
+        importpath = "github.com/hashicorp/golang-lru",
+        sum = "h1:YPkqC67at8FYaadspW/6uE0COsBxS2656RLEr8Bppgk=",
+        version = "v0.5.3",
+    )
+    go_repository(
+        name = "com_github_imdario_mergo",
+        importpath = "github.com/imdario/mergo",
+        sum = "h1:Y+UAYTZ7gDEuOfhxKWy+dvb5dRQ6rJjFSdX2HZY1/gI=",
+        version = "v0.3.7",
+    )
+    go_repository(
+        name = "com_github_konsorten_go_windows_terminal_sequences",
+        importpath = "github.com/konsorten/go-windows-terminal-sequences",
+        sum = "h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=",
+        version = "v1.0.1",
+    )
+    go_repository(
+        name = "com_github_matttproud_golang_protobuf_extensions",
+        importpath = "github.com/matttproud/golang_protobuf_extensions",
+        sum = "h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=",
+        version = "v1.0.1",
+    )
+    go_repository(
+        name = "com_github_microsoft_go_winio",
+        importpath = "github.com/Microsoft/go-winio",
+        sum = "h1:+hMXMk01us9KgxGb7ftKQt2Xpf5hH/yky+TDA+qxleU=",
+        version = "v0.4.14",
+    )
+    go_repository(
+        name = "com_github_microsoft_hcsshim",
+        build_file_proto_mode = "disable",
+        importpath = "github.com/Microsoft/hcsshim",
+        sum = "h1:GDxLeqRF1hCkdTFNncrs8fZNcB6Fg79G0Q3m38EyySM=",
+        version = "v0.8.8-0.20200109000640-0b571ac85d7c",
+    )
+    go_repository(
+        name = "com_github_opencontainers_go_digest",
+        importpath = "github.com/opencontainers/go-digest",
+        sum = "h1:2C93eP55foV5f0eNmXbidhKzwUZbs/Gk4PRp1zfeffs=",
+        version = "v1.0.0-rc1.0.20180430190053-c9281466c8b2",
+    )
+    go_repository(
+        name = "com_github_opencontainers_image_spec",
+        importpath = "github.com/opencontainers/image-spec",
+        sum = "h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI=",
+        version = "v1.0.1",
+    )
+    go_repository(
+        name = "com_github_pkg_errors",
+        importpath = "github.com/pkg/errors",
+        sum = "h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=",
+        version = "v0.8.1",
+    )
+    go_repository(
+        name = "com_github_prometheus_client_golang",
+        importpath = "github.com/prometheus/client_golang",
+        sum = "h1:miYCvYqFXtl/J9FIy8eNpBfYthAEFg+Ys0XyUVEcDsc=",
         version = "v1.3.0",
     )
     go_repository(
-        name = "com_github_karrick_godirwalk",
-        importpath = "github.com/karrick/godirwalk",
-        sum = "h1:BqUm+LuJcXjGv1d2mj3gBiQyrQ57a0rYoAmhvJQ7RDU=",
-        version = "v1.10.12",
+        name = "com_github_prometheus_client_model",
+        importpath = "github.com/prometheus/client_model",
+        sum = "h1:ElTg5tNp4DqfV7UQjDqv2+RJlNzsDtvNAWccbItceIE=",
+        version = "v0.1.0",
     )
     go_repository(
-        name = "com_github_kevinburke_go_bindata",
-        importpath = "github.com/kevinburke/go-bindata",
-        sum = "h1:TFzFZop2KxGhqNwsyjgmIh5JOrpG940MZlm5gNbxr8g=",
-        version = "v3.16.0+incompatible",
+        name = "com_github_prometheus_common",
+        importpath = "github.com/prometheus/common",
+        sum = "h1:L+1lyG48J1zAQXA3RBX/nG/B3gjlHq0zTt2tlbJLyCY=",
+        version = "v0.7.0",
     )
     go_repository(
-        name = "com_github_lib_pq",
-        importpath = "github.com/lib/pq",
-        sum = "h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0=",
-        version = "v1.2.0",
+        name = "com_github_prometheus_procfs",
+        importpath = "github.com/prometheus/procfs",
+        sum = "h1:+fpWZdT24pJBiqJdAwYBjPSk+5YmQzYNPYzQsdzLkt8=",
+        version = "v0.0.8",
     )
     go_repository(
-        name = "com_github_lopezator_sqlboiler_crdb",
-        importpath = "github.com/lopezator/sqlboiler-crdb",
-        sum = "h1:20v0EGG1kKmwcnFFirot/D1f0jQENqUn1LCzQetOw2E=",
-        version = "v0.0.0-20190904145422-465f6643a423",
+        name = "com_github_russross_blackfriday",
+        importpath = "github.com/russross/blackfriday",
+        sum = "h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo=",
+        version = "v1.5.2",
     )
     go_repository(
-        name = "com_github_mitchellh_cli",
-        importpath = "github.com/mitchellh/cli",
-        sum = "h1:iGBIsUe3+HZ/AD/Vd7DErOt5sU9fa8Uj7A2s1aggv1Y=",
-        version = "v1.0.0",
+        name = "com_github_sirupsen_logrus",
+        importpath = "github.com/sirupsen/logrus",
+        sum = "h1:GL2rEmy6nsikmW0r8opw9JIRScdMF5hA8cOYLH7In1k=",
+        version = "v1.4.1",
     )
     go_repository(
-        name = "com_github_posener_complete",
-        importpath = "github.com/posener/complete",
-        sum = "h1:ccV59UEOTzVDnDUEFdT95ZzHVZ+5+158q8+SJb2QV5w=",
+        name = "com_github_syndtr_gocapability",
+        importpath = "github.com/syndtr/gocapability",
+        sum = "h1:b6uOv7YOFK0TYG7HtkIgExQo+2RdLuwRft63jn2HWj8=",
+        version = "v0.0.0-20180916011248-d98352740cb2",
+    )
+    go_repository(
+        name = "com_github_urfave_cli",
+        importpath = "github.com/urfave/cli",
+        sum = "h1:8nz/RUUotroXnOpYzT/Fy3sBp+2XEbXaY641/s3nbFI=",
+        version = "v1.22.0",
+    )
+    go_repository(
+        name = "io_etcd_go_bbolt",
+        importpath = "go.etcd.io/bbolt",
+        sum = "h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk=",
+        version = "v1.3.3",
+    )
+    go_repository(
+        name = "io_opencensus_go",
+        importpath = "go.opencensus.io",
+        sum = "h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4=",
+        version = "v0.22.0",
+    )
+    go_repository(
+        name = "org_golang_x_sync",
+        importpath = "golang.org/x/sync",
+        sum = "h1:Bl/8QSvNqXvPGPGXa2z5xUTmV7VDcZyvRZ+QQXkXTZQ=",
+        version = "v0.0.0-20181108010431-42b317875d0f",
+    )
+    go_repository(
+        name = "org_golang_google_genproto",
+        importpath = "google.golang.org/genproto",
+        sum = "h1:wVJP1pATLVPNxCz4R2mTO6HUJgfGE0PmIu2E10RuhCw=",
+        version = "v0.0.0-20170523043604-d80a6e20e776",
+    )
+    go_repository(
+        name = "tools_gotest",
+        importpath = "gotest.tools",
+        sum = "h1:YPidOweaQrSUDfne29Fnuwwo8uoQZuxnrAzZ+Q0pTeE=",
+        version = "v1.4.1-0.20181223230014-1083505acf35",
+    )
+    go_repository(
+        name = "com_github_cilium_ebpf",
+        importpath = "github.com/cilium/ebpf",
+        sum = "h1:kNrHgLQr3ftwQr9JKL3lmyNVlc/7Mjd8lwcbccE5BsI=",
+        version = "v0.0.0-20191203103619-60c3aa43f488",
+    )
+    go_repository(
+        name = "io_k8s_sigs_kustomize",
+        importpath = "sigs.k8s.io/kustomize",
+        sum = "h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0=",
+        version = "v2.0.3+incompatible",
+    )
+    go_repository(
+        name = "ml_vbom_util",
+        importpath = "vbom.ml/util",
+        sum = "h1:MksmcCZQWAQJCTA5T0jgI/0sJ51AVm4Z41MrmfczEoc=",
+        version = "v0.0.0-20160121211510-db5cfe13f5cc",
+    )
+    go_repository(
+        name = "com_github_exponent_io_jsonpath",
+        importpath = "github.com/exponent-io/jsonpath",
+        sum = "h1:105gxyaGwCFad8crR9dcMQWvV9Hvulu6hwUh4tWPJnM=",
+        version = "v0.0.0-20151013193312-d6023ce2651d",
+    )
+    go_repository(
+        name = "com_github_containerd_cri",
+        build_file_proto_mode = "disable",
+        importpath = "github.com/containerd/cri",
+        sum = "h1:tkxzigQGIymwkagfa+zsr1GzlYWJCVh6dUVhEc3fQeo=",
+        version = "v1.11.1-0.20200130003317-c0294ebfe0b4",
+    )
+    go_repository(
+        name = "com_github_containerd_go_cni",
+        importpath = "github.com/containerd/go-cni",
+        sum = "h1:76H5xRcgFYQvHpdlKBiw3CJOeaatmhn6ZETIsNWZJVs=",
+        version = "v0.0.0-20190822145629-0d360c50b10b",
+    )
+    go_repository(
+        name = "com_github_containernetworking_cni",
+        importpath = "github.com/containernetworking/cni",
+        sum = "h1:fE3r16wpSEyaqY4Z4oFrLMmIGfBYIKpPrHK31EJ9FzE=",
+        version = "v0.7.1",
+    )
+    go_repository(
+        name = "com_github_davecgh_go_spew",
+        importpath = "github.com/davecgh/go-spew",
+        sum = "h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=",
         version = "v1.1.1",
     )
     go_repository(
-        name = "com_github_rogpeppe_go_internal",
-        importpath = "github.com/rogpeppe/go-internal",
-        sum = "h1:RR9dF3JtopPvtkroDZuVD7qquD0bnHlKSqaQhgwt8yk=",
-        version = "v1.3.0",
+        name = "com_github_docker_distribution",
+        importpath = "github.com/docker/distribution",
+        sum = "h1:dvc1KSkIYTVjZgHf/CTC2diTYC8PzhaA5sFISRfNVrE=",
+        version = "v2.7.1-0.20190205005809-0d3efadf0154+incompatible",
     )
     go_repository(
-        name = "com_github_rubenv_sql_migrate",
-        importpath = "github.com/rubenv/sql-migrate",
-        sum = "h1:lwDYefgiwhjuAuVnMVUYknoF+Yg9CBUykYGvYoPCNnQ=",
-        version = "v0.0.0-20191025130928-9355dd04f4b3",
-    )
-    go_repository(
-        name = "com_github_shopspring_decimal",
-        importpath = "github.com/shopspring/decimal",
-        sum = "h1:pntxY8Ary0t43dCZ5dqY4YTJCObLY1kIXl0uzMv+7DE=",
-        version = "v0.0.0-20180709203117-cd690d0c9e24",
-    )
-    go_repository(
-        name = "com_github_volatiletech_inflect",
-        importpath = "github.com/volatiletech/inflect",
-        sum = "h1:gI4/tqP6lCY5k6Sg+4k9qSoBXmPwG+xXgMpK7jivD4M=",
-        version = "v0.0.0-20170731032912-e7201282ae8d",
-    )
-    go_repository(
-        name = "com_github_volatiletech_null",
-        importpath = "github.com/volatiletech/null",
-        sum = "h1:7wP8m5d/gZ6kW/9GnrLtMCRre2dlEnaQ9Km5OXlK4zg=",
-        version = "v8.0.0+incompatible",
-    )
-    go_repository(
-        name = "com_github_volatiletech_sqlboiler",
-        importpath = "github.com/volatiletech/sqlboiler",
-        sum = "h1:EI9MwhgyXiqKbvZaomzL8scDs/k+21QAyo9z7GXBZQU=",
-        version = "v3.6.1+incompatible",
-    )
-    go_repository(
-        name = "com_github_ziutek_mymysql",
-        importpath = "github.com/ziutek/mymysql",
-        sum = "h1:GB0qdRGsTwQSBVYuVShFBKaXSnSnYYC2d9knnE1LHFs=",
-        version = "v1.5.4",
-    )
-    go_repository(
-        name = "in_gopkg_errgo_v2",
-        importpath = "gopkg.in/errgo.v2",
-        sum = "h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8=",
-        version = "v2.1.0",
-    )
-    go_repository(
-        name = "in_gopkg_gorp_v1",
-        importpath = "gopkg.in/gorp.v1",
-        sum = "h1:j3DWlAyGVv8whO7AcIWznQ2Yj7yJkn34B8s63GViAAw=",
-        version = "v1.7.2",
-    )
-    go_repository(
-        name = "in_gopkg_inf_v0",
-        importpath = "gopkg.in/inf.v0",
-        sum = "h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=",
-        version = "v0.9.1",
-    )
-    go_repository(
-        name = "org_golang_x_xerrors",
-        importpath = "golang.org/x/xerrors",
-        sum = "h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc=",
-        version = "v0.0.0-20190717185122-a985d3407aa7",
-    )
-    go_repository(
-        name = "com_github_mattn_go_sqlite3",
-        importpath = "github.com/mattn/go-sqlite3",
-        sum = "h1:u/x3mp++qUxvYfulZ4HKOvVO0JWhk7HtE8lWhbGz/Do=",
-        version = "v1.12.0",
-    )
-    go_repository(
-        name = "com_github_cockroachdb_datadriven",
-        importpath = "github.com/cockroachdb/datadriven",
-        sum = "h1:OaNxuTZr7kxeODyLWsRMC+OD03aFUH+mW6r2d+MWa5Y=",
-        version = "v0.0.0-20190809214429-80d97fb3cbaa",
-    )
-    go_repository(
-        name = "com_github_creack_pty",
-        importpath = "github.com/creack/pty",
-        sum = "h1:6pwm8kMQKCmgUg0ZHTm5+/YvRK0s3THD/28+T6/kk4A=",
-        version = "v1.1.7",
+        name = "com_github_docker_docker",
+        importpath = "github.com/docker/docker",
+        sum = "h1:+kIkr4upwOTq7D78hByaTvwFw5F8WRkoGwDgBNJt4SA=",
+        version = "v17.12.0-ce-rc1.0.20191121165722-d1d5f6476656+incompatible",
     )
     go_repository(
         name = "com_github_docker_spdystream",
@@ -1056,154 +1031,89 @@
         version = "v0.0.0-20160310174837-449fdfce4d96",
     )
     go_repository(
-        name = "com_github_elazarl_goproxy",
-        importpath = "github.com/elazarl/goproxy",
-        sum = "h1:p1yVGRW3nmb85p1Sh1ZJSDm4A4iKLS5QNbvUHMgGu/M=",
-        version = "v0.0.0-20170405201442-c4fc26588b6e",
-    )
-    go_repository(
         name = "com_github_emicklei_go_restful",
         importpath = "github.com/emicklei/go-restful",
-        sum = "h1:H2pdYOb3KQ1/YsqVWoWNLQO+fusocsw354rqGTZtAgw=",
-        version = "v0.0.0-20170410110728-ff4f55a20633",
+        sum = "h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk=",
+        version = "v2.9.5+incompatible",
     )
     go_repository(
-        name = "com_github_evanphx_json_patch",
-        importpath = "github.com/evanphx/json-patch",
-        sum = "h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=",
-        version = "v4.2.0+incompatible",
-    )
-    go_repository(
-        name = "com_github_go_logr_logr",
-        importpath = "github.com/go-logr/logr",
-        sum = "h1:M1Tv3VzNlEHg6uyACnRdtrploV2P7wZqH8BoQMtz0cg=",
-        version = "v0.1.0",
-    )
-    go_repository(
-        name = "com_github_go_openapi_jsonpointer",
-        importpath = "github.com/go-openapi/jsonpointer",
-        sum = "h1:wSt/4CYxs70xbATrGXhokKF1i0tZjENLOo1ioIO13zk=",
-        version = "v0.0.0-20160704185906-46af16f9f7b1",
-    )
-    go_repository(
-        name = "com_github_go_openapi_jsonreference",
-        importpath = "github.com/go-openapi/jsonreference",
-        sum = "h1:tF+augKRWlWx0J0B7ZyyKSiTyV6E1zZe+7b3qQlcEf8=",
-        version = "v0.0.0-20160704190145-13c6e3589ad9",
-    )
-    go_repository(
-        name = "com_github_go_openapi_spec",
-        importpath = "github.com/go-openapi/spec",
-        sum = "h1:C1JKChikHGpXwT5UQDFaryIpDtyyGL/CR6C2kB7F1oc=",
-        version = "v0.0.0-20160808142527-6aced65f8501",
-    )
-    go_repository(
-        name = "com_github_go_openapi_swag",
-        importpath = "github.com/go-openapi/swag",
-        sum = "h1:zP3nY8Tk2E6RTkqGYrarZXuzh+ffyLDljLxCy1iJw80=",
-        version = "v0.0.0-20160704191624-1d0bd113de87",
-    )
-    go_repository(
-        name = "com_github_googleapis_gnostic",
-        importpath = "github.com/googleapis/gnostic",
-        sum = "h1:7XGaL1e6bYS1yIonGp9761ExpPPV1ui0SAC59Yube9k=",
-        version = "v0.0.0-20170729233727-0c5108395e2d",
-    )
-    go_repository(
-        name = "com_github_hashicorp_golang_lru",
-        importpath = "github.com/hashicorp/golang-lru",
-        sum = "h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=",
-        version = "v0.5.1",
-    )
-    go_repository(
-        name = "com_github_hpcloud_tail",
-        importpath = "github.com/hpcloud/tail",
-        sum = "h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=",
+        name = "com_github_google_gofuzz",
+        importpath = "github.com/google/gofuzz",
+        sum = "h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=",
         version = "v1.0.0",
     )
     go_repository(
-        name = "com_github_imdario_mergo",
-        importpath = "github.com/imdario/mergo",
-        sum = "h1:CGgOkSJeqMRmt0D9XLWExdT4m4F1vd3FV3VPt+0VxkQ=",
-        version = "v0.3.8",
+        name = "com_github_json_iterator_go",
+        importpath = "github.com/json-iterator/go",
+        sum = "h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=",
+        version = "v1.1.8",
     )
     go_repository(
-        name = "com_github_mailru_easyjson",
-        importpath = "github.com/mailru/easyjson",
-        sum = "h1:TpvdAwDAt1K4ANVOfcihouRdvP+MgAfDWwBuct4l6ZY=",
-        version = "v0.0.0-20160728113105-d5b7844b561a",
+        name = "com_github_modern_go_concurrent",
+        importpath = "github.com/modern-go/concurrent",
+        sum = "h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=",
+        version = "v0.0.0-20180306012644-bacd9c7ef1dd",
     )
     go_repository(
-        name = "com_github_munnerz_goautoneg",
-        importpath = "github.com/munnerz/goautoneg",
-        sum = "h1:7PxY7LVfSZm7PEeBTyK1rj1gABdCO2mbri6GKO1cMDs=",
-        version = "v0.0.0-20120707110453-a547fc61f48d",
+        name = "com_github_modern_go_reflect2",
+        importpath = "github.com/modern-go/reflect2",
+        sum = "h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg=",
+        version = "v0.0.0-20180701023420-4b7aa43c6742",
     )
     go_repository(
-        name = "com_github_mxk_go_flowrate",
-        importpath = "github.com/mxk/go-flowrate",
-        sum = "h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus=",
-        version = "v0.0.0-20140419014527-cca7078d478f",
+        name = "com_github_opencontainers_selinux",
+        build_tags = ["selinux"],
+        importpath = "github.com/opencontainers/selinux",
+        sum = "h1:B8hYj3NxHmjsC3T+tnlZ1UhInqUgnyF1zlGPmzNg2Qk=",
+        version = "v1.3.1-0.20190929122143-5215b1806f52",
     )
     go_repository(
-        name = "com_github_nytimes_gziphandler",
-        importpath = "github.com/NYTimes/gziphandler",
-        sum = "h1:lsxEuwrXEAokXB9qhlbKWPpo3KMLZQ5WB5WLQRW1uq0=",
-        version = "v0.0.0-20170623195520-56545f4a5d46",
+        name = "com_github_seccomp_libseccomp_golang",
+        importpath = "github.com/seccomp/libseccomp-golang",
+        sum = "h1:NJjM5DNFOs0s3kYE1WUOr6G8V97sdt46rlXTMfXGWBo=",
+        version = "v0.9.1",
     )
     go_repository(
-        name = "com_github_onsi_ginkgo",
-        importpath = "github.com/onsi/ginkgo",
-        sum = "h1:q/mM8GF/n0shIN8SaAZ0V+jnLPzen6WIVZdiwrRlMlo=",
-        version = "v1.10.1",
+        name = "com_github_stretchr_testify",
+        importpath = "github.com/stretchr/testify",
+        sum = "h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=",
+        version = "v1.4.0",
     )
     go_repository(
-        name = "com_github_onsi_gomega",
-        importpath = "github.com/onsi/gomega",
-        sum = "h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME=",
-        version = "v1.7.0",
+        name = "com_github_tchap_go_patricia",
+        importpath = "github.com/tchap/go-patricia",
+        sum = "h1:JvoDL7JSoIP2HDE8AbDH3zC8QBPxmzYe32HHy5yQ+Ck=",
+        version = "v2.2.6+incompatible",
     )
     go_repository(
-        name = "com_github_puerkitobio_purell",
-        importpath = "github.com/PuerkitoBio/purell",
-        sum = "h1:0GoNN3taZV6QI81IXgCbxMyEaJDXMSIjArYBCYzVVvs=",
-        version = "v1.0.0",
+        name = "org_golang_x_crypto",
+        importpath = "golang.org/x/crypto",
+        sum = "h1:9FCpayM9Egr1baVnV1SX0H87m+XB0B8S0hAMi99X/3U=",
+        version = "v0.0.0-20200128174031-69ecbb4d6d5d",
     )
     go_repository(
-        name = "com_github_puerkitobio_urlesc",
-        importpath = "github.com/PuerkitoBio/urlesc",
-        sum = "h1:JCHLVE3B+kJde7bIEo5N4J+ZbLhp0J1Fs+ulyRws4gE=",
-        version = "v0.0.0-20160726150825-5bd2802263f2",
+        name = "org_golang_x_oauth2",
+        importpath = "golang.org/x/oauth2",
+        sum = "h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0=",
+        version = "v0.0.0-20190604053449-0f29369cfe45",
     )
     go_repository(
-        name = "in_gopkg_fsnotify_v1",
-        importpath = "gopkg.in/fsnotify.v1",
-        sum = "h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=",
-        version = "v1.4.7",
+        name = "org_golang_x_time",
+        importpath = "golang.org/x/time",
+        sum = "h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs=",
+        version = "v0.0.0-20191024005414-555d28b269f0",
     )
     go_repository(
-        name = "in_gopkg_tomb_v1",
-        importpath = "gopkg.in/tomb.v1",
-        sum = "h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=",
-        version = "v1.0.0-20141024135613-dd632973f1e7",
+        name = "in_gopkg_inf_v0",
+        importpath = "gopkg.in/inf.v0",
+        sum = "h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=",
+        version = "v0.9.1",
     )
     go_repository(
-        name = "io_k8s_apimachinery",
-        importpath = "k8s.io/apimachinery",
-        sum = "h1:zUjS3szTxoUjTDYNvdFkYt2uMEXLcthcbp+7uZvWhYM=",
-        version = "v0.17.1",
-    )
-    go_repository(
-        name = "io_k8s_client_go",
-        importpath = "k8s.io/client-go",
-        sum = "h1:LBbX2+lOwY9flffWlJM7f1Ct8V2SRNiMRDFeiwnJo9o=",
-        version = "v11.0.0+incompatible",
-    )
-    go_repository(
-        name = "io_k8s_gengo",
-        importpath = "k8s.io/gengo",
-        sum = "h1:4s3/R4+OYYYUKptXPhZKjQ04WJ6EhQQVFdjOFvCazDk=",
-        version = "v0.0.0-20190128074634-0689ccc1d7d6",
+        name = "in_gopkg_yaml_v2",
+        importpath = "gopkg.in/yaml.v2",
+        sum = "h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=",
+        version = "v2.2.8",
     )
     go_repository(
         name = "io_k8s_klog",
@@ -1212,40 +1122,370 @@
         version = "v1.0.0",
     )
     go_repository(
-        name = "io_k8s_kube_openapi",
-        importpath = "k8s.io/kube-openapi",
-        sum = "h1:UcxjrRMyNx/i/y8G7kPvLyy7rfbeuf1PYyBf973pgyU=",
-        version = "v0.0.0-20191107075043-30be4d16710a",
+        name = "io_k8s_sigs_yaml",
+        importpath = "sigs.k8s.io/yaml",
+        sum = "h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=",
+        version = "v1.1.0",
     )
     go_repository(
-        name = "io_k8s_sigs_structured_merge_diff",
-        importpath = "sigs.k8s.io/structured-merge-diff",
-        sum = "h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ=",
-        version = "v0.0.0-20190525122527-15d366b2352e",
+        name = "com_github_fatih_camelcase",
+        importpath = "github.com/fatih/camelcase",
+        sum = "h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8=",
+        version = "v1.0.0",
     )
     go_repository(
-        name = "io_k8s_utils",
-        importpath = "k8s.io/utils",
-        sum = "h1:p0Ai3qVtkbCG/Af26dBmU0E1W58NID3hSSh7cMyylpM=",
-        version = "v0.0.0-20191114200735-6ca3b61696b6",
+        name = "com_github_ghodss_yaml",
+        importpath = "github.com/ghodss/yaml",
+        sum = "h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=",
+        version = "v1.0.0",
     )
     go_repository(
-        name = "io_k8s_api",
-        importpath = "k8s.io/api",
-        sum = "h1:i46MidoDOE9tvQ0TTEYggf3ka/pziP1+tHI/GFVeJao=",
-        version = "v0.17.1",
+        name = "com_github_gregjones_httpcache",
+        importpath = "github.com/gregjones/httpcache",
+        sum = "h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM=",
+        version = "v0.0.0-20180305231024-9cad4c3443a7",
+    )
+    go_repository(
+        name = "com_github_mitchellh_go_wordwrap",
+        importpath = "github.com/mitchellh/go-wordwrap",
+        sum = "h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4=",
+        version = "v1.0.0",
+    )
+    go_repository(
+        name = "com_github_peterbourgon_diskv",
+        importpath = "github.com/peterbourgon/diskv",
+        sum = "h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI=",
+        version = "v2.0.1+incompatible",
+    )
+    go_repository(
+        name = "com_github_azure_go_ansiterm",
+        importpath = "github.com/Azure/go-ansiterm",
+        sum = "h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8=",
+        version = "v0.0.0-20170929234023-d6e3b3328b78",
+    )
+    go_repository(
+        name = "com_github_chai2010_gettext_go",
+        importpath = "github.com/chai2010/gettext-go",
+        sum = "h1:7aWHqerlJ41y6FOsEUvknqgXnGmJyJSbjhAWq5pO4F8=",
+        version = "v0.0.0-20160711120539-c6fed771bfd5",
+    )
+    go_repository(
+        name = "com_github_alexflint_go_filemutex",
+        importpath = "github.com/alexflint/go-filemutex",
+        sum = "h1:AMzIhMUqU3jMrZiTuW0zkYeKlKDAFD+DG20IoO421/Y=",
+        version = "v0.0.0-20171022225611-72bdc8eae2ae",
+    )
+    go_repository(
+        name = "com_github_coreos_go_iptables",
+        importpath = "github.com/coreos/go-iptables",
+        sum = "h1:DpHb9vJrZQEFMcVLFKAAGMUVX0XoRC0ptCthinRYm38=",
+        version = "v0.4.5",
+    )
+    go_repository(
+        name = "com_github_safchain_ethtool",
+        importpath = "github.com/safchain/ethtool",
+        sum = "h1:2c1EFnZHIPCW8qKWgHMH/fX2PkSabFc5mrVzfUNdg5U=",
+        version = "v0.0.0-20190326074333-42ed695e3de8",
+    )
+    go_repository(
+        name = "com_github_j_keck_arping",
+        importpath = "github.com/j-keck/arping",
+        sum = "h1:742eGXur0715JMq73aD95/FU0XpVKXqNuTnEfXsLOYQ=",
+        version = "v0.0.0-20160618110441-2cf9dc699c56",
+    )
+    go_repository(
+        name = "com_github_grpc_grpc",
+        importpath = "github.com/grpc/grpc",
+        sum = "h1:0/fjvIF5JHJdr34/JPEk1DJFFonjW37pDLvuAy9YieQ=",
+        version = "v1.26.0",
+    )
+    go_repository(
+        name = "com_github_google_subcommands",
+        importpath = "github.com/google/subcommands",
+        sum = "h1:8nlgEAjIalk6uj/CGKCdOO8CQqTeysvcW4RFZ6HbkGM=",
+        version = "v1.0.2-0.20190508160503-636abe8753b8",
+    )
+    go_repository(
+        name = "com_github_cenkalti_backoff",
+        importpath = "github.com/cenkalti/backoff",
+        sum = "h1:8eZxmY1yvxGHzdzTEhI09npjMVGzNAdrqzruTX6jcK4=",
+        version = "v1.1.1-0.20190506075156-2146c9339422",
+    )
+    go_repository(
+        name = "com_github_kr_pretty",
+        importpath = "github.com/kr/pretty",
+        sum = "h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs=",
+        version = "v0.2.0",
+    )
+    go_repository(
+        name = "com_github_kr_pty",
+        importpath = "github.com/kr/pty",
+        sum = "h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw=",
+        version = "v1.1.1",
+    )
+    go_repository(
+        name = "com_github_gofrs_flock",
+        importpath = "github.com/gofrs/flock",
+        sum = "h1:JFTFz3HZTGmgMz4E1TabNBNJljROSYgja1b4l50FNVs=",
+        version = "v0.6.1-0.20180915234121-886344bea079",
+    )
+    go_repository(
+        name = "com_github_opencontainers_runc",
+        importpath = "github.com/opencontainers/runc",
+        sum = "h1:AbmCEuSZXVflng0/cboQkpdEOeBsPMjz6tmq4Pv8MZw=",
+        version = "v1.0.0-rc10",
+    )
+    go_repository(
+        name = "com_github_volatiletech_sqlboiler",
+        importpath = "github.com/volatiletech/sqlboiler",
+        sum = "h1:EI9MwhgyXiqKbvZaomzL8scDs/k+21QAyo9z7GXBZQU=",
+        version = "v3.6.1+incompatible",
+    )
+    go_repository(
+        name = "com_github_friendsofgo_errors",
+        importpath = "github.com/friendsofgo/errors",
+        sum = "h1:X6NYxef4efCBdwI7BgS820zFaN7Cphrmb+Pljdzjtgk=",
+        version = "v0.9.2",
+    )
+    go_repository(
+        name = "com_github_go_sql_driver_mysql",
+        importpath = "github.com/go-sql-driver/mysql",
+        sum = "h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=",
+        version = "v1.5.0",
+    )
+    go_repository(
+        name = "com_github_spf13_cast",
+        importpath = "github.com/spf13/cast",
+        sum = "h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng=",
+        version = "v1.3.1",
+    )
+    go_repository(
+        name = "com_github_volatiletech_null",
+        importpath = "github.com/volatiletech/null",
+        sum = "h1:7wP8m5d/gZ6kW/9GnrLtMCRre2dlEnaQ9Km5OXlK4zg=",
+        version = "v8.0.0+incompatible",
+    )
+    go_repository(
+        name = "com_github_volatiletech_randomize",
+        importpath = "github.com/volatiletech/randomize",
+        sum = "h1:eE5yajattWqTB2/eN8df4dw+8jwAzBtbdo5sbWC4nMk=",
+        version = "v0.0.1",
+    )
+    go_repository(
+        name = "com_github_volatiletech_strmangle",
+        importpath = "github.com/volatiletech/strmangle",
+        sum = "h1:UKQoHmY6be/R3tSvD2nQYrH41k43OJkidwEiC74KIzk=",
+        version = "v0.0.1",
+    )
+    go_repository(
+        name = "com_github_lib_pq",
+        importpath = "github.com/lib/pq",
+        sum = "h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0=",
+        version = "v1.2.0",
+    )
+    go_repository(
+        name = "com_github_denisenkom_go_mssqldb",
+        importpath = "github.com/denisenkom/go-mssqldb",
+        sum = "h1:LzwWXEScfcTu7vUZNlDDWDARoSGEtvlDKK2BYHowNeE=",
+        version = "v0.0.0-20200206145737-bbfc9a55622e",
+    )
+    go_repository(
+        name = "com_github_ericlagergren_decimal",
+        importpath = "github.com/ericlagergren/decimal",
+        sum = "h1:HQGCJNlqt1dUs/BhtEKmqWd6LWS+DWYVxi9+Jo4r0jE=",
+        version = "v0.0.0-20181231230500-73749d4874d5",
+    )
+    go_repository(
+        name = "com_github_rubenv_sql_migrate",
+        importpath = "github.com/rubenv/sql-migrate",
+        sum = "h1:lwDYefgiwhjuAuVnMVUYknoF+Yg9CBUykYGvYoPCNnQ=",
+        version = "v0.0.0-20191025130928-9355dd04f4b3",
+    )
+    go_repository(
+        name = "com_github_glerchundi_sqlboiler_crdb",
+        importpath = "github.com/glerchundi/sqlboiler-crdb",
+        sum = "h1:qC5Gu83hkXlQVECFs1u/9EdwYjo58RYaxWnJZGa0YN0=",
+        version = "v0.0.0-20191112134934-62014c8c8df1",
+    )
+    go_repository(
+        name = "com_github_mitchellh_cli",
+        importpath = "github.com/mitchellh/cli",
+        sum = "h1:iGBIsUe3+HZ/AD/Vd7DErOt5sU9fa8Uj7A2s1aggv1Y=",
+        version = "v1.0.0",
+    )
+    go_repository(
+        name = "com_github_olekukonko_tablewriter",
+        importpath = "github.com/olekukonko/tablewriter",
+        sum = "h1:58+kh9C6jJVXYjt8IE48G2eWl6BjwU5Gj0gqY84fy78=",
+        version = "v0.0.0-20170122224234-a0225b3f23b5",
+    )
+    go_repository(
+        name = "com_github_mattn_go_sqlite3",
+        importpath = "github.com/mattn/go-sqlite3",
+        sum = "h1:u/x3mp++qUxvYfulZ4HKOvVO0JWhk7HtE8lWhbGz/Do=",
+        version = "v1.12.0",
+    )
+    go_repository(
+        name = "in_gopkg_gorp_v1",
+        importpath = "gopkg.in/gorp.v1",
+        sum = "h1:j3DWlAyGVv8whO7AcIWznQ2Yj7yJkn34B8s63GViAAw=",
+        version = "v1.7.2",
+    )
+    go_repository(
+        name = "com_github_volatiletech_inflect",
+        importpath = "github.com/volatiletech/inflect",
+        sum = "h1:gI4/tqP6lCY5k6Sg+4k9qSoBXmPwG+xXgMpK7jivD4M=",
+        version = "v0.0.0-20170731032912-e7201282ae8d",
+    )
+    go_repository(
+        name = "com_github_mattn_go_runewidth",
+        importpath = "github.com/mattn/go-runewidth",
+        sum = "h1:UnlwIPBGaTZfPQ6T1IGzPI0EkYAQmT9fAEJ/poFC63o=",
+        version = "v0.0.2",
+    )
+    go_repository(
+        name = "com_github_golang_sql_civil",
+        importpath = "github.com/golang-sql/civil",
+        sum = "h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY=",
+        version = "v0.0.0-20190719163853-cb61b32ac6fe",
+    )
+    go_repository(
+        name = "com_github_posener_complete",
+        importpath = "github.com/posener/complete",
+        sum = "h1:ccV59UEOTzVDnDUEFdT95ZzHVZ+5+158q8+SJb2QV5w=",
+        version = "v1.1.1",
+    )
+    go_repository(
+        name = "com_github_mattn_go_isatty",
+        importpath = "github.com/mattn/go-isatty",
+        sum = "h1:bnP0vzxcAdeI1zdubAl5PjU6zsERjGZb7raWodagDYs=",
+        version = "v0.0.4",
+    )
+    go_repository(
+        name = "com_github_armon_go_radix",
+        importpath = "github.com/armon/go-radix",
+        sum = "h1:BUAU3CGlLvorLI26FmByPp2eC2qla6E1Tw+scpcg/to=",
+        version = "v0.0.0-20180808171621-7fddfc383310",
+    )
+    go_repository(
+        name = "com_github_bgentry_speakeasy",
+        importpath = "github.com/bgentry/speakeasy",
+        sum = "h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY=",
+        version = "v0.1.0",
+    )
+    go_repository(
+        name = "com_github_fatih_color",
+        importpath = "github.com/fatih/color",
+        sum = "h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys=",
+        version = "v1.7.0",
+    )
+    go_repository(
+        name = "com_github_spf13_viper",
+        importpath = "github.com/spf13/viper",
+        sum = "h1:VUFqw5KcqRf7i70GOzW7N+Q7+gxVBkSSqiXB12+JQ4M=",
+        version = "v1.3.2",
+    )
+    go_repository(
+        name = "com_github_hashicorp_hcl",
+        importpath = "github.com/hashicorp/hcl",
+        sum = "h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=",
+        version = "v1.0.0",
+    )
+    go_repository(
+        name = "com_github_spf13_jwalterweatherman",
+        importpath = "github.com/spf13/jwalterweatherman",
+        sum = "h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk=",
+        version = "v1.0.0",
+    )
+    go_repository(
+        name = "com_github_magiconair_properties",
+        importpath = "github.com/magiconair/properties",
+        sum = "h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY=",
+        version = "v1.8.0",
+    )
+    go_repository(
+        name = "com_github_mattn_go_colorable",
+        importpath = "github.com/mattn/go-colorable",
+        sum = "h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4=",
+        version = "v0.0.9",
+    )
+    go_repository(
+        name = "com_github_google_go_tpm",
+        importpath = "github.com/google/go-tpm",
+        sum = "h1:GNNkIb6NSjYfw+KvgUFW590mcgsSFihocSrbXct1sEw=",
+        version = "v0.1.2-0.20190725015402-ae6dd98980d4",
+    )
+    go_repository(
+        name = "com_github_google_go_tpm_tools",
+        importpath = "github.com/google/go-tpm-tools",
+        sum = "h1:1Y5W2uh6E7I6hhI6c0WVSbV+Ae15uhemqi3RvSgtZpk=",
+        version = "v0.0.0-20190731025042-f8c04ff88181",
+    )
+    go_repository(
+        name = "com_github_insomniacslk_dhcp",
+        importpath = "github.com/insomniacslk/dhcp",
+        sum = "h1:P1pxzF2xvdnSY12ODSSwjxA4tyEjDEJNn829OXKnqks=",
+        version = "v0.0.0-20200402185128-5dd7202f1971",
     )
     go_repository(
         name = "com_github_cenkalti_backoff_v4",
         importpath = "github.com/cenkalti/backoff/v4",
-        sum = "h1:6VeaLF9aI+MAUQ95106HwWzYZgJJpZ4stumjj6RFYAU=",
-        version = "v4.0.0",
+        sum = "h1:JIufpQLbh4DkbQoii76ItQIUFzevQSqOLZca4eamEDs=",
+        version = "v4.0.2",
     )
     go_repository(
-        name = "org_golang_x_exp",
-        importpath = "golang.org/x/exp",
-        sum = "h1:c2HOrn5iMezYjSlGPncknSEr/8x5LELb/ilJbXi9DEA=",
-        version = "v0.0.0-20190121172915-509febef88a4",
+        name = "com_github_rekby_gpt",
+        importpath = "github.com/rekby/gpt",
+        sum = "h1:goZGTwEEn8mWLcY012VouWZWkJ8GrXm9tS3VORMxT90=",
+        version = "v0.0.0-20200219180433-a930afbc6edc",
+    )
+    go_repository(
+        name = "com_github_yalue_native_endian",
+        importpath = "github.com/yalue/native_endian",
+        sum = "h1:nsQCScpQ8RRf+wIooqfyyEUINV2cAPuo2uVtHSBbA4M=",
+        version = "v0.0.0-20180607135909-51013b03be4f",
+    )
+    go_repository(
+        name = "com_github_mdlayher_ethernet",
+        importpath = "github.com/mdlayher/ethernet",
+        sum = "h1:lez6TS6aAau+8wXUP3G9I3TGlmPFEq2CTxBaRqY6AGE=",
+        version = "v0.0.0-20190606142754-0394541c37b7",
+    )
+    go_repository(
+        name = "com_github_mdlayher_raw",
+        importpath = "github.com/mdlayher/raw",
+        sum = "h1:aFkJ6lx4FPip+S+Uw4aTegFMct9shDvP+79PsSxpm3w=",
+        version = "v0.0.0-20191009151244-50f2db8cc065",
+    )
+    go_repository(
+        name = "com_github_u_root_u_root",
+        importpath = "github.com/u-root/u-root",
+        sum = "h1:YqPGmRoRyYmeg17KIWFRSyVq6LX5T6GSzawyA6wG6EE=",
+        version = "v6.0.0+incompatible",
+    )
+    go_repository(
+        name = "com_github_diskfs_go_diskfs",
+        importpath = "github.com/diskfs/go-diskfs",
+        sum = "h1:sLQnXItICiYgiHcYNNujKT9kOKnk7diOvZGEKvxrwpc=",
+        version = "v1.0.0",
+    )
+    go_repository(
+        name = "in_gopkg_djherbis_times_v1",
+        importpath = "gopkg.in/djherbis/times.v1",
+        sum = "h1:UCvDKl1L/fmBygl2Y7hubXCnY7t4Yj46ZrBFNUipFbM=",
+        version = "v1.2.0",
+    )
+    go_repository(
+        name = "com_github_kevinburke_go_bindata",
+        importpath = "github.com/kevinburke/go-bindata",
+        sum = "h1:TFzFZop2KxGhqNwsyjgmIh5JOrpG940MZlm5gNbxr8g=",
+        version = "v3.16.0+incompatible",
+    )
+    go_repository(
+        name = "com_github_gofrs_uuid",
+        importpath = "github.com/gofrs/uuid",
+        sum = "h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE=",
+        version = "v3.2.0+incompatible",
     )
     go_repository(
         name = "com_github_lyft_protoc_gen_star",
@@ -1254,44 +1494,20 @@
         version = "v0.4.14",
     )
     go_repository(
-        name = "com_github_census_instrumentation_opencensus_proto",
-        importpath = "github.com/census-instrumentation/opencensus-proto",
-        sum = "h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk=",
-        version = "v0.2.1",
+        name = "com_github_moby_term",
+        importpath = "github.com/moby/term",
+        sum = "h1:aY7OQNf2XqY/JQ6qREWamhI/81os/agb2BAGpcx5yWI=",
+        version = "v0.0.0-20200312100748-672ec06f55cd",
     )
     go_repository(
-        name = "com_github_cncf_udpa_go",
-        importpath = "github.com/cncf/udpa/go",
-        sum = "h1:WBZRG4aNOuI15bLRrCgN8fCq8E5Xuty6jGbmSNEvSsU=",
-        version = "v0.0.0-20191209042840-269d4d468f6f",
+        name = "io_k8s_sigs_apiserver_network_proxy_konnectivity_client",
+        importpath = "sigs.k8s.io/apiserver-network-proxy/konnectivity-client",
+        sum = "h1:uuHDyjllyzRyCIvvn0OBjiRB0SgBZGqHNYAmjR7fO50=",
+        version = "v0.0.7",
     )
     go_repository(
-        name = "com_github_coreos_go_systemd_v22",
-        importpath = "github.com/coreos/go-systemd/v22",
-        sum = "h1:XJIw/+VlJ+87J+doOxznsAWIdmWuViOVhkQamW5YV28=",
-        version = "v22.0.0",
-    )
-    go_repository(
-        name = "com_github_coreos_license_bill_of_materials",
-        importpath = "github.com/coreos/license-bill-of-materials",
-        sum = "h1:vHRufSa2k8tfkcDdia1vJFa+oiBvvPxW94mg76PPAoA=",
-        version = "v0.0.0-20190913234955-13baff47494e",
-    )
-    go_repository(
-        name = "com_github_envoyproxy_go_control_plane",
-        importpath = "github.com/envoyproxy/go-control-plane",
-        sum = "h1:rEvIZUSZ3fx39WIi3JkQqQBitGwpELBIYWeBVh6wn+E=",
-        version = "v0.9.4",
-    )
-    go_repository(
-        name = "com_github_envoyproxy_protoc_gen_validate",
-        importpath = "github.com/envoyproxy/protoc-gen-validate",
-        sum = "h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A=",
-        version = "v0.1.0",
-    )
-    go_repository(
-        name = "com_github_godbus_dbus_v5",
-        importpath = "github.com/godbus/dbus/v5",
-        sum = "h1:ZqHaoEF7TBzh4jzPmqVhE/5A1z9of6orkAe5uHoAeME=",
-        version = "v5.0.3",
+        name = "io_k8s_sample_apiserver",
+        importpath = "k8s.io/sample-apiserver",
+        sum = "h1:Nw+rJYx+0cb8Kxtxhe87iT73S6CF67396cIf7tU3JZ8=",
+        version = "v0.19.0-alpha.2",
     )
diff --git a/third_party/kubernetes/external/BUILD b/third_party/gvisor/BUILD
similarity index 100%
copy from third_party/kubernetes/external/BUILD
copy to third_party/gvisor/BUILD
diff --git a/third_party/kubernetes/BUILD.bazel b/third_party/kubernetes/BUILD.bazel
deleted file mode 100644
index 4b366ba..0000000
--- a/third_party/kubernetes/BUILD.bazel
+++ /dev/null
@@ -1,5 +0,0 @@
-alias(
-    name = "kubectl",
-    actual = "@kubernetes//cmd/kubectl",
-    visibility = ["//visibility:public"],
-)
diff --git a/third_party/kubernetes/external.bzl b/third_party/kubernetes/external.bzl
deleted file mode 100644
index 66cb4f4..0000000
--- a/third_party/kubernetes/external.bzl
+++ /dev/null
@@ -1,31 +0,0 @@
-#  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.
-
-load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
-
-def kubernetes_external(name, version):
-    sums = {
-        "1.16.4": "3a49373ba56c73c282deb0cfa2ec7bfcc6bf46acb6992f01319eb703cbf68996",
-        "1.18.0": "d87be01d4c75ebf29f181fd6bfcfe7fdd097d9c519e50500e21e199f859e6226",
-    }
-    http_archive(
-        name = name,
-        patch_args = ["-p1"],
-        patches = [
-        ],
-        sha256 = sums[version],
-        urls = ["https://dl.k8s.io/v%s/kubernetes-src.tar.gz" % version],
-    )
diff --git a/third_party/kubernetes/external/BUILD b/third_party/py/BUILD
similarity index 100%
copy from third_party/kubernetes/external/BUILD
copy to third_party/py/BUILD
diff --git a/third_party/kubernetes/external/BUILD b/third_party/py/requirements.txt
similarity index 100%
copy from third_party/kubernetes/external/BUILD
copy to third_party/py/requirements.txt
