diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index b271589c4..a64b91823 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -1,1818 +1,1754 @@ { - "ImportPath": "k8s.io/apiserver", - "GoVersion": "go1.9", - "GodepVersion": "v79", - "Packages": [ - "./..." - ], - "Deps": [ - { - "ImportPath": "bitbucket.org/ww/goautoneg", - "Rev": "75cd24fc2f2c2a2088577d12123ddee5f54e0675" - }, - { - "ImportPath": "github.com/NYTimes/gziphandler", - "Rev": "56545f4a5d46df9a6648819d1664c3a03a13ffdb" - }, - { - "ImportPath": "github.com/PuerkitoBio/purell", - "Rev": "8a290539e2e8629dbc4e6bad948158f790ec31f4" - }, - { - "ImportPath": "github.com/PuerkitoBio/urlesc", - "Rev": "5bd2802263f21d8788851d5305584c82a5c75d7e" - }, - { - "ImportPath": "github.com/beorn7/perks/quantile", - "Rev": "3ac7bf7a47d159a033b107610db8a1b6575507a4" - }, - { - "ImportPath": "github.com/cockroachdb/cmux", - "Rev": "112f0506e7743d64a6eb8fedbcff13d9979bbf92" - }, - { - "ImportPath": "github.com/coreos/bbolt", - "Rev": "48ea1b39c25fc1bab3506fbc712ecbaa842c4d2d" - }, - { - "ImportPath": "github.com/coreos/etcd/alarm", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/auth", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/auth/authpb", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/client", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/clientv3", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/clientv3/concurrency", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/clientv3/namespace", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/clientv3/naming", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/compactor", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/discovery", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/embed", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/error", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/api", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/api/etcdhttp", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/api/v2http", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/api/v2http/httptypes", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3client", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3election", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3election/v3electionpb", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3election/v3electionpb/gw", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3lock", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3lock/v3lockpb", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3lock/v3lockpb/gw", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3rpc", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/auth", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/etcdserverpb", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/etcdserverpb/gw", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/membership", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/etcdserver/stats", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/integration", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/lease", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/lease/leasehttp", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/lease/leasepb", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/mvcc", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/mvcc/backend", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/mvcc/mvccpb", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/adt", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/contention", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/cors", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/cpuutil", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/crc", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/debugutil", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/fileutil", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/httputil", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/idutil", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/ioutil", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/logutil", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/monotime", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/netutil", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/pathutil", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/pbutil", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/runtime", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/schedule", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/srv", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/testutil", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/tlsutil", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/transport", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/types", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/pkg/wait", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/proxy/grpcproxy", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/proxy/grpcproxy/adapter", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/proxy/grpcproxy/cache", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/raft", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/raft/raftpb", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/rafthttp", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/snap", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/snap/snappb", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/store", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/version", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/wal", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/etcd/wal/walpb", - "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" - }, - { - "ImportPath": "github.com/coreos/go-oidc", - "Rev": "065b426bd41667456c1a924468f507673629c46b" - }, - { - "ImportPath": "github.com/coreos/go-semver/semver", - "Rev": "568e959cd89871e61434c1143528d9162da89ef2" - }, - { - "ImportPath": "github.com/coreos/go-systemd/daemon", - "Rev": "48702e0da86bd25e76cfef347e2adeb434a0d0a6" - }, - { - "ImportPath": "github.com/coreos/go-systemd/journal", - "Rev": "48702e0da86bd25e76cfef347e2adeb434a0d0a6" - }, - { - "ImportPath": "github.com/coreos/pkg/capnslog", - "Rev": "fa29b1d70f0beaddd4c7021607cc3c3be8ce94b8" - }, - { - "ImportPath": "github.com/davecgh/go-spew/spew", - "Rev": "782f4967f2dc4564575ca782fe2d04090b5faca8" - }, - { - "ImportPath": "github.com/dgrijalva/jwt-go", - "Rev": "01aeca54ebda6e0fbfafd0a524d234159c05ec20" - }, - { - "ImportPath": "github.com/elazarl/go-bindata-assetfs", - "Rev": "3dcc96556217539f50599357fb481ac0dc7439b9" - }, - { - "ImportPath": "github.com/emicklei/go-restful", - "Rev": "ff4f55a206334ef123e4f79bbf348980da81ca46" - }, - { - "ImportPath": "github.com/emicklei/go-restful-swagger12", - "Rev": "dcef7f55730566d41eae5db10e7d6981829720f6" - }, - { - "ImportPath": "github.com/emicklei/go-restful/log", - "Rev": "ff4f55a206334ef123e4f79bbf348980da81ca46" - }, - { - "ImportPath": "github.com/evanphx/json-patch", - "Rev": "944e07253867aacae43c04b2e6a239005443f33a" - }, - { - "ImportPath": "github.com/ghodss/yaml", - "Rev": "73d445a93680fa1a78ae23a5839bad48f32ba1ee" - }, - { - "ImportPath": "github.com/go-openapi/jsonpointer", - "Rev": "46af16f9f7b149af66e5d1bd010e3574dc06de98" - }, - { - "ImportPath": "github.com/go-openapi/jsonreference", - "Rev": "13c6e3589ad90f49bd3e3bbe2c2cb3d7a4142272" - }, - { - "ImportPath": "github.com/go-openapi/spec", - "Rev": "1de3e0542de65ad8d75452a595886fdd0befb363" - }, - { - "ImportPath": "github.com/go-openapi/swag", - "Rev": "f3f9494671f93fcff853e3c6e9e948b3eb71e590" - }, - { - "ImportPath": "github.com/gogo/protobuf/proto", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/sortkeys", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/golang/glog", - "Rev": "44145f04b68cf362d9c4df2182967c2275eaefed" - }, - { - "ImportPath": "github.com/golang/groupcache/lru", - "Rev": "02826c3e79038b59d737d3b1c0a1d937f71a4433" - }, - { - "ImportPath": "github.com/golang/protobuf/jsonpb", - "Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9" - }, - { - "ImportPath": "github.com/golang/protobuf/proto", - "Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9" - }, - { - "ImportPath": "github.com/golang/protobuf/protoc-gen-go/descriptor", - "Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9" - }, - { - "ImportPath": "github.com/golang/protobuf/ptypes", - "Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9" - }, - { - "ImportPath": "github.com/golang/protobuf/ptypes/any", - "Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9" - }, - { - "ImportPath": "github.com/golang/protobuf/ptypes/duration", - "Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9" - }, - { - "ImportPath": "github.com/golang/protobuf/ptypes/struct", - "Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9" - }, - { - "ImportPath": "github.com/golang/protobuf/ptypes/timestamp", - "Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9" - }, - { - "ImportPath": "github.com/google/btree", - "Rev": "7d79101e329e5a3adf994758c578dab82b90c017" - }, - { - "ImportPath": "github.com/google/gofuzz", - "Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c" - }, - { - "ImportPath": "github.com/googleapis/gnostic/OpenAPIv2", - "Rev": "0c5108395e2debce0d731cf0287ddf7242066aba" - }, - { - "ImportPath": "github.com/googleapis/gnostic/compiler", - "Rev": "0c5108395e2debce0d731cf0287ddf7242066aba" - }, - { - "ImportPath": "github.com/googleapis/gnostic/extensions", - "Rev": "0c5108395e2debce0d731cf0287ddf7242066aba" - }, - { - "ImportPath": "github.com/grpc-ecosystem/go-grpc-prometheus", - "Rev": "2500245aa6110c562d17020fb31a2c133d737799" - }, - { - "ImportPath": "github.com/grpc-ecosystem/grpc-gateway/runtime", - "Rev": "8cc3a55af3bcf171a1c23a90c4df9cf591706104" - }, - { - "ImportPath": "github.com/grpc-ecosystem/grpc-gateway/runtime/internal", - "Rev": "8cc3a55af3bcf171a1c23a90c4df9cf591706104" - }, - { - "ImportPath": "github.com/grpc-ecosystem/grpc-gateway/utilities", - "Rev": "8cc3a55af3bcf171a1c23a90c4df9cf591706104" - }, - { - "ImportPath": "github.com/hashicorp/golang-lru", - "Rev": "a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4" - }, - { - "ImportPath": "github.com/hashicorp/golang-lru/simplelru", - "Rev": "a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4" - }, - { - "ImportPath": "github.com/howeyc/gopass", - "Rev": "bf9dde6d0d2c004a008c27aaee91170c786f6db8" - }, - { - "ImportPath": "github.com/imdario/mergo", - "Rev": "6633656539c1639d9d78127b7d47c622b5d7b6dc" - }, - { - "ImportPath": "github.com/jonboulle/clockwork", - "Rev": "72f9bd7c4e0c2a40055ab3d0f09654f730cce982" - }, - { - "ImportPath": "github.com/json-iterator/go", - "Rev": "13f86432b882000a51c6e610c620974462691a97" - }, - { - "ImportPath": "github.com/mailru/easyjson/buffer", - "Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d" - }, - { - "ImportPath": "github.com/mailru/easyjson/jlexer", - "Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d" - }, - { - "ImportPath": "github.com/mailru/easyjson/jwriter", - "Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d" - }, - { - "ImportPath": "github.com/matttproud/golang_protobuf_extensions/pbutil", - "Rev": "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a" - }, - { - "ImportPath": "github.com/pborman/uuid", - "Rev": "ca53cad383cad2479bbba7f7a1a05797ec1386e4" - }, - { - "ImportPath": "github.com/pmezard/go-difflib/difflib", - "Rev": "d8ed2627bdf02c080bf22230dbb337003b7aba2d" - }, - { - "ImportPath": "github.com/pquerna/cachecontrol", - "Rev": "0dec1b30a0215bb68605dfc568e8855066c9202d" - }, - { - "ImportPath": "github.com/pquerna/cachecontrol/cacheobject", - "Rev": "0dec1b30a0215bb68605dfc568e8855066c9202d" - }, - { - "ImportPath": "github.com/prometheus/client_golang/prometheus", - "Rev": "e7e903064f5e9eb5da98208bae10b475d4db0f8c" - }, - { - "ImportPath": "github.com/prometheus/client_model/go", - "Rev": "fa8ad6fec33561be4280a8f0514318c79d7f6cb6" - }, - { - "ImportPath": "github.com/prometheus/common/expfmt", - "Rev": "13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207" - }, - { - "ImportPath": "github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg", - "Rev": "13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207" - }, - { - "ImportPath": "github.com/prometheus/common/model", - "Rev": "13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207" - }, - { - "ImportPath": "github.com/prometheus/procfs", - "Rev": "65c1f6f8f0fc1e2185eb9863a3bc751496404259" - }, - { - "ImportPath": "github.com/prometheus/procfs/xfs", - "Rev": "65c1f6f8f0fc1e2185eb9863a3bc751496404259" - }, - { - "ImportPath": "github.com/spf13/pflag", - "Rev": "4c012f6dcd9546820e378d0bdda4d8fc772cdfea" - }, - { - "ImportPath": "github.com/stretchr/testify/assert", - "Rev": "f6abca593680b2315d2075e0f5e2a9751e3f431a" - }, - { - "ImportPath": "github.com/stretchr/testify/require", - "Rev": "f6abca593680b2315d2075e0f5e2a9751e3f431a" - }, - { - "ImportPath": "github.com/ugorji/go/codec", - "Rev": "ded73eae5db7e7a0ef6f55aace87a2873c5d2b74" - }, - { - "ImportPath": "github.com/xiang90/probing", - "Rev": "07dd2e8dfe18522e9c447ba95f2fe95262f63bb2" - }, - { - "ImportPath": "golang.org/x/crypto/bcrypt", - "Rev": "81e90905daefcd6fd217b62423c0908922eadb30" - }, - { - "ImportPath": "golang.org/x/crypto/blowfish", - "Rev": "81e90905daefcd6fd217b62423c0908922eadb30" - }, - { - "ImportPath": "golang.org/x/crypto/ed25519", - "Rev": "81e90905daefcd6fd217b62423c0908922eadb30" - }, - { - "ImportPath": "golang.org/x/crypto/ed25519/internal/edwards25519", - "Rev": "81e90905daefcd6fd217b62423c0908922eadb30" - }, - { - "ImportPath": "golang.org/x/crypto/nacl/secretbox", - "Rev": "81e90905daefcd6fd217b62423c0908922eadb30" - }, - { - "ImportPath": "golang.org/x/crypto/poly1305", - "Rev": "81e90905daefcd6fd217b62423c0908922eadb30" - }, - { - "ImportPath": "golang.org/x/crypto/salsa20/salsa", - "Rev": "81e90905daefcd6fd217b62423c0908922eadb30" - }, - { - "ImportPath": "golang.org/x/crypto/ssh/terminal", - "Rev": "81e90905daefcd6fd217b62423c0908922eadb30" - }, - { - "ImportPath": "golang.org/x/net/context", - "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" - }, - { - "ImportPath": "golang.org/x/net/http2", - "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" - }, - { - "ImportPath": "golang.org/x/net/http2/hpack", - "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" - }, - { - "ImportPath": "golang.org/x/net/idna", - "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" - }, - { - "ImportPath": "golang.org/x/net/internal/timeseries", - "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" - }, - { - "ImportPath": "golang.org/x/net/lex/httplex", - "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" - }, - { - "ImportPath": "golang.org/x/net/trace", - "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" - }, - { - "ImportPath": "golang.org/x/net/websocket", - "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" - }, - { - "ImportPath": "golang.org/x/oauth2", - "Rev": "a6bd8cefa1811bd24b86f8902872e4e8225f74c4" - }, - { - "ImportPath": "golang.org/x/oauth2/internal", - "Rev": "a6bd8cefa1811bd24b86f8902872e4e8225f74c4" - }, - { - "ImportPath": "golang.org/x/sys/unix", - "Rev": "95c6576299259db960f6c5b9b69ea52422860fce" - }, - { - "ImportPath": "golang.org/x/sys/windows", - "Rev": "95c6576299259db960f6c5b9b69ea52422860fce" - }, - { - "ImportPath": "golang.org/x/text/cases", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/internal", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/internal/tag", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/language", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/runes", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/secure/bidirule", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/secure/precis", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/transform", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/unicode/bidi", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/unicode/norm", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/width", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/time/rate", - "Rev": "f51c12702a4d776e4c1fa9b0fabab841babae631" - }, - { - "ImportPath": "google.golang.org/genproto/googleapis/api/annotations", - "Rev": "09f6ed296fc66555a25fe4ce95173148778dfa85" - }, - { - "ImportPath": "google.golang.org/genproto/googleapis/rpc/status", - "Rev": "09f6ed296fc66555a25fe4ce95173148778dfa85" - }, - { - "ImportPath": "google.golang.org/grpc", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/balancer", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/codes", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/connectivity", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/credentials", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/grpclb/grpc_lb_v1/messages", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/grpclog", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/health/grpc_health_v1", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/internal", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/keepalive", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/metadata", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/naming", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/peer", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/resolver", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/stats", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/status", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/tap", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "google.golang.org/grpc/transport", - "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" - }, - { - "ImportPath": "gopkg.in/inf.v0", - "Rev": "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4" - }, - { - "ImportPath": "gopkg.in/natefinch/lumberjack.v2", - "Rev": "20b71e5b60d756d3d2f80def009790325acc2b23" - }, - { - "ImportPath": "gopkg.in/square/go-jose.v2", - "Rev": "f8f38de21b4dcd69d0413faf231983f5fd6634b1" - }, - { - "ImportPath": "gopkg.in/square/go-jose.v2/cipher", - "Rev": "f8f38de21b4dcd69d0413faf231983f5fd6634b1" - }, - { - "ImportPath": "gopkg.in/square/go-jose.v2/json", - "Rev": "f8f38de21b4dcd69d0413faf231983f5fd6634b1" - }, - { - "ImportPath": "gopkg.in/yaml.v2", - "Rev": "670d4cfef0544295bc27a114dbac37980d83185a" - }, - { - "ImportPath": "k8s.io/api/admission/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/admissionregistration/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/admissionregistration/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/apps/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/apps/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/apps/v1beta2", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/authentication/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/authentication/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/authorization/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/authorization/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/autoscaling/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/autoscaling/v2beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/batch/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/batch/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/batch/v2alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/certificates/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/core/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/events/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/extensions/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/networking/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/policy/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/rbac/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/rbac/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/rbac/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/scheduling/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/settings/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/storage/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/storage/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/api/storage/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/api/equality", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/api/errors", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/api/meta", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/api/resource", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/api/testing", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/api/testing/fuzzer", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/api/testing/roundtrip", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/api/validation", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/api/validation/path", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/apimachinery", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/apimachinery/announced", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/apimachinery/registered", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/fuzzer", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/validation", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/conversion", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/fields", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/labels", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/runtime", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/runtime/schema", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/selection", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/types", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/cache", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/clock", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/diff", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/errors", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/framer", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/intstr", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/json", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/net", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/rand", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/runtime", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/sets", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/uuid", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/validation", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/validation/field", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/wait", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/waitgroup", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/util/yaml", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/version", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/pkg/watch", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/discovery", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/discovery/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/admissionregistration", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/apps", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/apps/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/apps/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/apps/v1beta2", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/autoscaling", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/autoscaling/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/batch", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/batch/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/batch/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/batch/v2alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/certificates", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/certificates/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/core", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/core/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/events", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/events/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/extensions", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/extensions/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/internalinterfaces", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/networking", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/networking/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/policy", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/policy/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/rbac", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/rbac/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/rbac/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/scheduling", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/settings", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/settings/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/storage", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/storage/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/storage/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/storage/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/scheme", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/apps/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/apps/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/apps/v1beta2", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/autoscaling/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/batch/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/batch/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/batch/v2alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/certificates/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/core/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/events/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/extensions/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/networking/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/policy/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/rbac/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/rbac/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/settings/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/storage/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/storage/v1alpha1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/storage/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/pkg/version", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/rest", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/rest/watch", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/testing", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/tools/auth", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/tools/cache", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/tools/clientcmd/api", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/tools/metrics", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/tools/pager", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/tools/reference", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/transport", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/util/buffer", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/util/cert", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/util/flowcontrol", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/util/homedir", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/util/integer", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/util/retry", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/kube-openapi/pkg/builder", - "Rev": "a07b7bbb58e7fdc5144f8d7046331d29fc9ad3b3" - }, - { - "ImportPath": "k8s.io/kube-openapi/pkg/common", - "Rev": "a07b7bbb58e7fdc5144f8d7046331d29fc9ad3b3" - }, - { - "ImportPath": "k8s.io/kube-openapi/pkg/handler", - "Rev": "a07b7bbb58e7fdc5144f8d7046331d29fc9ad3b3" - }, - { - "ImportPath": "k8s.io/kube-openapi/pkg/util", - "Rev": "a07b7bbb58e7fdc5144f8d7046331d29fc9ad3b3" - }, - { - "ImportPath": "k8s.io/kube-openapi/pkg/util/proto", - "Rev": "a07b7bbb58e7fdc5144f8d7046331d29fc9ad3b3" - }, - { - "ImportPath": "k8s.io/client-go/discovery", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/fake", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/scheme", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/listers/core/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/rest", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/testing", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/tools/cache", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/tools/clientcmd", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/tools/clientcmd/api", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/util/cert", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - }, - { - "ImportPath": "k8s.io/client-go/util/flowcontrol", - "Rev": "93d55aca084460ac7824a2485254bafbb52c4883" - } - ] + "ImportPath": "k8s.io/apiserver", + "GoVersion": "go1.9", + "GodepVersion": "v79", + "Packages": [ + "./..." + ], + "Deps": [ + { + "ImportPath": "bitbucket.org/ww/goautoneg", + "Rev": "75cd24fc2f2c2a2088577d12123ddee5f54e0675" + }, + { + "ImportPath": "github.com/NYTimes/gziphandler", + "Rev": "56545f4a5d46df9a6648819d1664c3a03a13ffdb" + }, + { + "ImportPath": "github.com/PuerkitoBio/purell", + "Rev": "8a290539e2e8629dbc4e6bad948158f790ec31f4" + }, + { + "ImportPath": "github.com/PuerkitoBio/urlesc", + "Rev": "5bd2802263f21d8788851d5305584c82a5c75d7e" + }, + { + "ImportPath": "github.com/beorn7/perks/quantile", + "Rev": "3ac7bf7a47d159a033b107610db8a1b6575507a4" + }, + { + "ImportPath": "github.com/cockroachdb/cmux", + "Rev": "112f0506e7743d64a6eb8fedbcff13d9979bbf92" + }, + { + "ImportPath": "github.com/coreos/bbolt", + "Rev": "48ea1b39c25fc1bab3506fbc712ecbaa842c4d2d" + }, + { + "ImportPath": "github.com/coreos/etcd/alarm", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/auth", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/auth/authpb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/client", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/clientv3", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/clientv3/concurrency", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/clientv3/namespace", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/clientv3/naming", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/compactor", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/discovery", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/embed", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/error", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/etcdhttp", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v2http", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v2http/httptypes", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3client", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3election", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3election/v3electionpb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3election/v3electionpb/gw", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3lock", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3lock/v3lockpb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3lock/v3lockpb/gw", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3rpc", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/auth", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/etcdserverpb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/etcdserverpb/gw", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/membership", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/stats", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/integration", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/lease", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/lease/leasehttp", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/lease/leasepb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/mvcc", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/mvcc/backend", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/mvcc/mvccpb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/adt", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/contention", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/cors", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/cpuutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/crc", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/debugutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/fileutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/httputil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/idutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/ioutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/logutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/monotime", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/netutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/pathutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/pbutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/runtime", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/schedule", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/srv", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/testutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/tlsutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/transport", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/types", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/wait", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/proxy/grpcproxy", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/proxy/grpcproxy/adapter", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/proxy/grpcproxy/cache", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/raft", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/raft/raftpb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/rafthttp", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/snap", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/snap/snappb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/store", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/version", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/wal", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/wal/walpb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/go-oidc", + "Rev": "065b426bd41667456c1a924468f507673629c46b" + }, + { + "ImportPath": "github.com/coreos/go-semver/semver", + "Rev": "568e959cd89871e61434c1143528d9162da89ef2" + }, + { + "ImportPath": "github.com/coreos/go-systemd/daemon", + "Rev": "48702e0da86bd25e76cfef347e2adeb434a0d0a6" + }, + { + "ImportPath": "github.com/coreos/go-systemd/journal", + "Rev": "48702e0da86bd25e76cfef347e2adeb434a0d0a6" + }, + { + "ImportPath": "github.com/coreos/pkg/capnslog", + "Rev": "fa29b1d70f0beaddd4c7021607cc3c3be8ce94b8" + }, + { + "ImportPath": "github.com/davecgh/go-spew/spew", + "Rev": "782f4967f2dc4564575ca782fe2d04090b5faca8" + }, + { + "ImportPath": "github.com/dgrijalva/jwt-go", + "Rev": "01aeca54ebda6e0fbfafd0a524d234159c05ec20" + }, + { + "ImportPath": "github.com/elazarl/go-bindata-assetfs", + "Rev": "3dcc96556217539f50599357fb481ac0dc7439b9" + }, + { + "ImportPath": "github.com/emicklei/go-restful", + "Rev": "ff4f55a206334ef123e4f79bbf348980da81ca46" + }, + { + "ImportPath": "github.com/emicklei/go-restful-swagger12", + "Rev": "dcef7f55730566d41eae5db10e7d6981829720f6" + }, + { + "ImportPath": "github.com/emicklei/go-restful/log", + "Rev": "ff4f55a206334ef123e4f79bbf348980da81ca46" + }, + { + "ImportPath": "github.com/evanphx/json-patch", + "Rev": "944e07253867aacae43c04b2e6a239005443f33a" + }, + { + "ImportPath": "github.com/ghodss/yaml", + "Rev": "73d445a93680fa1a78ae23a5839bad48f32ba1ee" + }, + { + "ImportPath": "github.com/go-openapi/jsonpointer", + "Rev": "46af16f9f7b149af66e5d1bd010e3574dc06de98" + }, + { + "ImportPath": "github.com/go-openapi/jsonreference", + "Rev": "13c6e3589ad90f49bd3e3bbe2c2cb3d7a4142272" + }, + { + "ImportPath": "github.com/go-openapi/spec", + "Rev": "1de3e0542de65ad8d75452a595886fdd0befb363" + }, + { + "ImportPath": "github.com/go-openapi/swag", + "Rev": "f3f9494671f93fcff853e3c6e9e948b3eb71e590" + }, + { + "ImportPath": "github.com/gogo/protobuf/proto", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/sortkeys", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/golang/glog", + "Rev": "44145f04b68cf362d9c4df2182967c2275eaefed" + }, + { + "ImportPath": "github.com/golang/groupcache/lru", + "Rev": "02826c3e79038b59d737d3b1c0a1d937f71a4433" + }, + { + "ImportPath": "github.com/golang/protobuf/jsonpb", + "Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9" + }, + { + "ImportPath": "github.com/golang/protobuf/proto", + "Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9" + }, + { + "ImportPath": "github.com/golang/protobuf/protoc-gen-go/descriptor", + "Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9" + }, + { + "ImportPath": "github.com/golang/protobuf/ptypes", + "Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9" + }, + { + "ImportPath": "github.com/golang/protobuf/ptypes/any", + "Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9" + }, + { + "ImportPath": "github.com/golang/protobuf/ptypes/duration", + "Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9" + }, + { + "ImportPath": "github.com/golang/protobuf/ptypes/struct", + "Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9" + }, + { + "ImportPath": "github.com/golang/protobuf/ptypes/timestamp", + "Rev": "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9" + }, + { + "ImportPath": "github.com/google/btree", + "Rev": "7d79101e329e5a3adf994758c578dab82b90c017" + }, + { + "ImportPath": "github.com/google/gofuzz", + "Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c" + }, + { + "ImportPath": "github.com/googleapis/gnostic/OpenAPIv2", + "Rev": "0c5108395e2debce0d731cf0287ddf7242066aba" + }, + { + "ImportPath": "github.com/googleapis/gnostic/compiler", + "Rev": "0c5108395e2debce0d731cf0287ddf7242066aba" + }, + { + "ImportPath": "github.com/googleapis/gnostic/extensions", + "Rev": "0c5108395e2debce0d731cf0287ddf7242066aba" + }, + { + "ImportPath": "github.com/grpc-ecosystem/go-grpc-prometheus", + "Rev": "2500245aa6110c562d17020fb31a2c133d737799" + }, + { + "ImportPath": "github.com/grpc-ecosystem/grpc-gateway/runtime", + "Rev": "8cc3a55af3bcf171a1c23a90c4df9cf591706104" + }, + { + "ImportPath": "github.com/grpc-ecosystem/grpc-gateway/runtime/internal", + "Rev": "8cc3a55af3bcf171a1c23a90c4df9cf591706104" + }, + { + "ImportPath": "github.com/grpc-ecosystem/grpc-gateway/utilities", + "Rev": "8cc3a55af3bcf171a1c23a90c4df9cf591706104" + }, + { + "ImportPath": "github.com/hashicorp/golang-lru", + "Rev": "a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4" + }, + { + "ImportPath": "github.com/hashicorp/golang-lru/simplelru", + "Rev": "a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4" + }, + { + "ImportPath": "github.com/howeyc/gopass", + "Rev": "bf9dde6d0d2c004a008c27aaee91170c786f6db8" + }, + { + "ImportPath": "github.com/imdario/mergo", + "Rev": "6633656539c1639d9d78127b7d47c622b5d7b6dc" + }, + { + "ImportPath": "github.com/jonboulle/clockwork", + "Rev": "72f9bd7c4e0c2a40055ab3d0f09654f730cce982" + }, + { + "ImportPath": "github.com/json-iterator/go", + "Rev": "13f86432b882000a51c6e610c620974462691a97" + }, + { + "ImportPath": "github.com/mailru/easyjson/buffer", + "Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d" + }, + { + "ImportPath": "github.com/mailru/easyjson/jlexer", + "Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d" + }, + { + "ImportPath": "github.com/mailru/easyjson/jwriter", + "Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d" + }, + { + "ImportPath": "github.com/matttproud/golang_protobuf_extensions/pbutil", + "Rev": "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a" + }, + { + "ImportPath": "github.com/pborman/uuid", + "Rev": "ca53cad383cad2479bbba7f7a1a05797ec1386e4" + }, + { + "ImportPath": "github.com/pmezard/go-difflib/difflib", + "Rev": "d8ed2627bdf02c080bf22230dbb337003b7aba2d" + }, + { + "ImportPath": "github.com/pquerna/cachecontrol", + "Rev": "0dec1b30a0215bb68605dfc568e8855066c9202d" + }, + { + "ImportPath": "github.com/pquerna/cachecontrol/cacheobject", + "Rev": "0dec1b30a0215bb68605dfc568e8855066c9202d" + }, + { + "ImportPath": "github.com/prometheus/client_golang/prometheus", + "Rev": "e7e903064f5e9eb5da98208bae10b475d4db0f8c" + }, + { + "ImportPath": "github.com/prometheus/client_model/go", + "Rev": "fa8ad6fec33561be4280a8f0514318c79d7f6cb6" + }, + { + "ImportPath": "github.com/prometheus/common/expfmt", + "Rev": "13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207" + }, + { + "ImportPath": "github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg", + "Rev": "13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207" + }, + { + "ImportPath": "github.com/prometheus/common/model", + "Rev": "13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207" + }, + { + "ImportPath": "github.com/prometheus/procfs", + "Rev": "65c1f6f8f0fc1e2185eb9863a3bc751496404259" + }, + { + "ImportPath": "github.com/prometheus/procfs/xfs", + "Rev": "65c1f6f8f0fc1e2185eb9863a3bc751496404259" + }, + { + "ImportPath": "github.com/spf13/pflag", + "Rev": "4c012f6dcd9546820e378d0bdda4d8fc772cdfea" + }, + { + "ImportPath": "github.com/stretchr/testify/assert", + "Rev": "f6abca593680b2315d2075e0f5e2a9751e3f431a" + }, + { + "ImportPath": "github.com/stretchr/testify/require", + "Rev": "f6abca593680b2315d2075e0f5e2a9751e3f431a" + }, + { + "ImportPath": "github.com/ugorji/go/codec", + "Rev": "ded73eae5db7e7a0ef6f55aace87a2873c5d2b74" + }, + { + "ImportPath": "github.com/xiang90/probing", + "Rev": "07dd2e8dfe18522e9c447ba95f2fe95262f63bb2" + }, + { + "ImportPath": "golang.org/x/crypto/bcrypt", + "Rev": "81e90905daefcd6fd217b62423c0908922eadb30" + }, + { + "ImportPath": "golang.org/x/crypto/blowfish", + "Rev": "81e90905daefcd6fd217b62423c0908922eadb30" + }, + { + "ImportPath": "golang.org/x/crypto/ed25519", + "Rev": "81e90905daefcd6fd217b62423c0908922eadb30" + }, + { + "ImportPath": "golang.org/x/crypto/ed25519/internal/edwards25519", + "Rev": "81e90905daefcd6fd217b62423c0908922eadb30" + }, + { + "ImportPath": "golang.org/x/crypto/nacl/secretbox", + "Rev": "81e90905daefcd6fd217b62423c0908922eadb30" + }, + { + "ImportPath": "golang.org/x/crypto/poly1305", + "Rev": "81e90905daefcd6fd217b62423c0908922eadb30" + }, + { + "ImportPath": "golang.org/x/crypto/salsa20/salsa", + "Rev": "81e90905daefcd6fd217b62423c0908922eadb30" + }, + { + "ImportPath": "golang.org/x/crypto/ssh/terminal", + "Rev": "81e90905daefcd6fd217b62423c0908922eadb30" + }, + { + "ImportPath": "golang.org/x/net/context", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/net/http2", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/net/http2/hpack", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/net/idna", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/net/internal/timeseries", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/net/lex/httplex", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/net/trace", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/net/websocket", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/oauth2", + "Rev": "a6bd8cefa1811bd24b86f8902872e4e8225f74c4" + }, + { + "ImportPath": "golang.org/x/oauth2/internal", + "Rev": "a6bd8cefa1811bd24b86f8902872e4e8225f74c4" + }, + { + "ImportPath": "golang.org/x/sys/unix", + "Rev": "95c6576299259db960f6c5b9b69ea52422860fce" + }, + { + "ImportPath": "golang.org/x/sys/windows", + "Rev": "95c6576299259db960f6c5b9b69ea52422860fce" + }, + { + "ImportPath": "golang.org/x/text/cases", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/internal", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/internal/tag", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/language", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/runes", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/secure/bidirule", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/secure/precis", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/transform", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/unicode/bidi", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/unicode/norm", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/width", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/time/rate", + "Rev": "f51c12702a4d776e4c1fa9b0fabab841babae631" + }, + { + "ImportPath": "google.golang.org/genproto/googleapis/api/annotations", + "Rev": "09f6ed296fc66555a25fe4ce95173148778dfa85" + }, + { + "ImportPath": "google.golang.org/genproto/googleapis/rpc/status", + "Rev": "09f6ed296fc66555a25fe4ce95173148778dfa85" + }, + { + "ImportPath": "google.golang.org/grpc", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/balancer", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/codes", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/connectivity", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/credentials", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/grpclb/grpc_lb_v1/messages", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/grpclog", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/health/grpc_health_v1", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/internal", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/keepalive", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/metadata", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/naming", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/peer", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/resolver", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/stats", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/status", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/tap", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/transport", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "gopkg.in/inf.v0", + "Rev": "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4" + }, + { + "ImportPath": "gopkg.in/natefinch/lumberjack.v2", + "Rev": "20b71e5b60d756d3d2f80def009790325acc2b23" + }, + { + "ImportPath": "gopkg.in/square/go-jose.v2", + "Rev": "f8f38de21b4dcd69d0413faf231983f5fd6634b1" + }, + { + "ImportPath": "gopkg.in/square/go-jose.v2/cipher", + "Rev": "f8f38de21b4dcd69d0413faf231983f5fd6634b1" + }, + { + "ImportPath": "gopkg.in/square/go-jose.v2/json", + "Rev": "f8f38de21b4dcd69d0413faf231983f5fd6634b1" + }, + { + "ImportPath": "gopkg.in/yaml.v2", + "Rev": "670d4cfef0544295bc27a114dbac37980d83185a" + }, + { + "ImportPath": "k8s.io/api/admission/v1beta1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/admissionregistration/v1alpha1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/admissionregistration/v1beta1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/apps/v1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/apps/v1beta1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/apps/v1beta2", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/authentication/v1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/authentication/v1beta1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/authorization/v1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/authorization/v1beta1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/autoscaling/v1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/autoscaling/v2beta1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/batch/v1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/batch/v1beta1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/batch/v2alpha1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/certificates/v1beta1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/core/v1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/events/v1beta1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/extensions/v1beta1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/networking/v1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/policy/v1beta1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/rbac/v1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/rbac/v1alpha1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/rbac/v1beta1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/scheduling/v1alpha1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/settings/v1alpha1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/storage/v1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/storage/v1alpha1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/api/storage/v1beta1", + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/equality", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/errors", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/meta", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/resource", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/testing", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/testing/fuzzer", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/testing/roundtrip", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/validation", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/validation/path", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/apimachinery", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/apimachinery/announced", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/apimachinery/registered", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/fuzzer", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/validation", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/conversion", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/fields", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/labels", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/runtime", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/runtime/schema", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/selection", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/types", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/cache", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/clock", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/diff", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/errors", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/framer", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/intstr", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/json", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/net", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/rand", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/runtime", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/sets", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/uuid", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/validation", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/validation/field", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/wait", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/waitgroup", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/yaml", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/version", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/watch", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect", + "Rev": "67f813598630f41e59978aafdcf0af33fe02b117" + }, + { + "ImportPath": "k8s.io/client-go/discovery", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/discovery/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/admissionregistration", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/apps", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/apps/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/apps/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/apps/v1beta2", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/autoscaling", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/autoscaling/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/batch", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/batch/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/batch/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/batch/v2alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/certificates", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/certificates/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/core", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/core/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/events", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/events/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/extensions", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/extensions/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/internalinterfaces", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/networking", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/networking/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/policy", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/policy/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/rbac", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/rbac/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/rbac/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/scheduling", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/settings", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/settings/v1alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/storage", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/storage/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/storage/v1alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/informers/storage/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/scheme", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1/fake", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/apps/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/apps/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/apps/v1beta2", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/autoscaling/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/batch/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/batch/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/batch/v2alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/certificates/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/core/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/events/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/extensions/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/networking/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/policy/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/rbac/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/rbac/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/settings/v1alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/storage/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/storage/v1alpha1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/listers/storage/v1beta1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/pkg/version", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/rest", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/rest/watch", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/testing", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/tools/auth", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/tools/cache", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/tools/clientcmd", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/tools/clientcmd/api", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/tools/metrics", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/tools/pager", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/tools/reference", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/transport", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/util/buffer", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/util/cert", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/util/flowcontrol", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/util/homedir", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/util/integer", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/client-go/util/retry", + "Rev": "9132b13e95d3e8e807266d02c9ebddcbb343606a" + }, + { + "ImportPath": "k8s.io/kube-openapi/pkg/builder", + "Rev": "a07b7bbb58e7fdc5144f8d7046331d29fc9ad3b3" + }, + { + "ImportPath": "k8s.io/kube-openapi/pkg/common", + "Rev": "a07b7bbb58e7fdc5144f8d7046331d29fc9ad3b3" + }, + { + "ImportPath": "k8s.io/kube-openapi/pkg/handler", + "Rev": "a07b7bbb58e7fdc5144f8d7046331d29fc9ad3b3" + }, + { + "ImportPath": "k8s.io/kube-openapi/pkg/util", + "Rev": "a07b7bbb58e7fdc5144f8d7046331d29fc9ad3b3" + }, + { + "ImportPath": "k8s.io/kube-openapi/pkg/util/proto", + "Rev": "a07b7bbb58e7fdc5144f8d7046331d29fc9ad3b3" + } + ] } diff --git a/plugin/pkg/audit/BUILD b/plugin/pkg/audit/BUILD index 34d23d7a1..fe8f7ce4f 100644 --- a/plugin/pkg/audit/BUILD +++ b/plugin/pkg/audit/BUILD @@ -22,6 +22,7 @@ filegroup( name = "all-srcs", srcs = [ ":package-srcs", + "//staging/src/k8s.io/apiserver/plugin/pkg/audit/buffered:all-srcs", "//staging/src/k8s.io/apiserver/plugin/pkg/audit/log:all-srcs", "//staging/src/k8s.io/apiserver/plugin/pkg/audit/webhook:all-srcs", ], diff --git a/plugin/pkg/audit/buffered/BUILD b/plugin/pkg/audit/buffered/BUILD new file mode 100644 index 000000000..7c461c4b4 --- /dev/null +++ b/plugin/pkg/audit/buffered/BUILD @@ -0,0 +1,44 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "go_default_library", + srcs = [ + "buffered.go", + "doc.go", + ], + importpath = "k8s.io/apiserver/plugin/pkg/audit/buffered", + visibility = ["//visibility:public"], + deps = [ + "//vendor/k8s.io/apimachinery/pkg/util/runtime:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library", + "//vendor/k8s.io/apiserver/pkg/apis/audit:go_default_library", + "//vendor/k8s.io/apiserver/pkg/audit:go_default_library", + "//vendor/k8s.io/client-go/util/flowcontrol:go_default_library", + ], +) + +go_test( + name = "go_default_test", + srcs = ["buffered_test.go"], + embed = [":go_default_library"], + deps = [ + "//vendor/github.com/stretchr/testify/require:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library", + "//vendor/k8s.io/apiserver/pkg/apis/audit:go_default_library", + "//vendor/k8s.io/apiserver/pkg/audit:go_default_library", + ], +) + +filegroup( + name = "package-srcs", + srcs = glob(["**"]), + tags = ["automanaged"], + visibility = ["//visibility:private"], +) + +filegroup( + name = "all-srcs", + srcs = [":package-srcs"], + tags = ["automanaged"], + visibility = ["//visibility:public"], +) diff --git a/plugin/pkg/audit/buffered/buffered.go b/plugin/pkg/audit/buffered/buffered.go new file mode 100644 index 000000000..c3991bfef --- /dev/null +++ b/plugin/pkg/audit/buffered/buffered.go @@ -0,0 +1,273 @@ +/* +Copyright 2018 The Kubernetes 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. +*/ + +package buffered + +import ( + "fmt" + "sync" + "time" + + "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" + auditinternal "k8s.io/apiserver/pkg/apis/audit" + "k8s.io/apiserver/pkg/audit" + "k8s.io/client-go/util/flowcontrol" +) + +// The plugin name reported in error metrics. +const pluginName = "buffered" + +const ( + // Default configuration values for ModeBatch. + defaultBatchBufferSize = 10000 // Buffer up to 10000 events before starting discarding. + defaultBatchMaxSize = 400 // Only send up to 400 events at a time. + defaultBatchMaxWait = 30 * time.Second // Send events at least twice a minute. + + defaultBatchThrottleQPS = 10 // Limit the send rate by 10 QPS. + defaultBatchThrottleBurst = 15 // Allow up to 15 QPS burst. +) + +// BatchConfig represents batching delegate audit backend configuration. +type BatchConfig struct { + // BufferSize defines a size of the buffering queue. + BufferSize int + // MaxBatchSize defines maximum size of a batch. + MaxBatchSize int + // MaxBatchWait indicates the maximum interval between two batches. + MaxBatchWait time.Duration + + // ThrottleEnable defines whether throttling will be applied to the batching process. + ThrottleEnable bool + // ThrottleQPS defines the allowed rate of batches per second sent to the delegate backend. + ThrottleQPS float32 + // ThrottleBurst defines the maximum rate of batches per second sent to the delegate backend in case + // the capacity defined by ThrottleQPS was not utilized. + ThrottleBurst int +} + +// NewDefaultBatchConfig returns new Config objects populated by default values. +func NewDefaultBatchConfig() BatchConfig { + return BatchConfig{ + BufferSize: defaultBatchBufferSize, + MaxBatchSize: defaultBatchMaxSize, + MaxBatchWait: defaultBatchMaxWait, + + ThrottleEnable: true, + ThrottleQPS: defaultBatchThrottleQPS, + ThrottleBurst: defaultBatchThrottleBurst, + } +} + +type bufferedBackend struct { + // The delegate backend that actually exports events. + delegateBackend audit.Backend + + // Channel to buffer events before sending to the delegate backend. + buffer chan *auditinternal.Event + // Maximum number of events in a batch sent to the delegate backend. + maxBatchSize int + // Amount of time to wait after sending a batch to the delegate backend before sending another one. + // + // Receiving maxBatchSize events will always trigger sending a batch, regardless of the amount of time passed. + maxBatchWait time.Duration + + // Channel to signal that the batching routine has processed all remaining events and exited. + // Once `shutdownCh` is closed no new events will be sent to the delegate backend. + shutdownCh chan struct{} + + // WaitGroup to control the concurrency of sending batches to the delegate backend. + // Worker routine calls Add before sending a batch and + // then spawns a routine that calls Done after batch was processed by the delegate backend. + // This WaitGroup is used to wait for all sending routines to finish before shutting down audit backend. + wg sync.WaitGroup + + // Limits the number of batches sent to the delegate backend per second. + throttle flowcontrol.RateLimiter +} + +var _ audit.Backend = &bufferedBackend{} + +// NewBackend returns a buffered audit backend that wraps delegate backend. +func NewBackend(delegate audit.Backend, config BatchConfig) audit.Backend { + var throttle flowcontrol.RateLimiter + if config.ThrottleEnable { + throttle = flowcontrol.NewTokenBucketRateLimiter(config.ThrottleQPS, config.ThrottleBurst) + } + return &bufferedBackend{ + delegateBackend: delegate, + buffer: make(chan *auditinternal.Event, config.BufferSize), + maxBatchSize: config.MaxBatchSize, + maxBatchWait: config.MaxBatchWait, + shutdownCh: make(chan struct{}), + wg: sync.WaitGroup{}, + throttle: throttle, + } +} + +func (b *bufferedBackend) Run(stopCh <-chan struct{}) error { + go func() { + // Signal that the working routine has exited. + defer close(b.shutdownCh) + + b.processIncomingEvents(stopCh) + + // Handle the events that were received after the last buffer + // scraping and before this line. Since the buffer is closed, no new + // events will come through. + allEventsProcessed := false + timer := make(chan time.Time) + for !allEventsProcessed { + allEventsProcessed = func() bool { + // Recover from any panic in order to try to process all remaining events. + // Note, that in case of a panic, the return value will be false and + // the loop execution will continue. + defer runtime.HandleCrash() + + events := b.collectEvents(timer, wait.NeverStop) + b.processEvents(events) + return len(events) == 0 + }() + } + }() + return b.delegateBackend.Run(stopCh) +} + +// Shutdown blocks until stopCh passed to the Run method is closed and all +// events added prior to that moment are batched and sent to the delegate backend. +func (b *bufferedBackend) Shutdown() { + // Wait until the routine spawned in Run method exits. + <-b.shutdownCh + + // Wait until all sending routines exit. + b.wg.Wait() + + b.delegateBackend.Shutdown() +} + +// processIncomingEvents runs a loop that collects events from the buffer. When +// b.stopCh is closed, processIncomingEvents stops and closes the buffer. +func (b *bufferedBackend) processIncomingEvents(stopCh <-chan struct{}) { + defer close(b.buffer) + t := time.NewTimer(b.maxBatchWait) + defer t.Stop() + + for { + func() { + // Recover from any panics caused by this function so a panic in the + // goroutine can't bring down the main routine. + defer runtime.HandleCrash() + + t.Reset(b.maxBatchWait) + b.processEvents(b.collectEvents(t.C, stopCh)) + }() + + select { + case <-stopCh: + return + default: + } + } +} + +// collectEvents attempts to collect some number of events in a batch. +// +// The following things can cause collectEvents to stop and return the list +// of events: +// +// * Maximum number of events for a batch. +// * Timer has passed. +// * Buffer channel is closed and empty. +// * stopCh is closed. +func (b *bufferedBackend) collectEvents(timer <-chan time.Time, stopCh <-chan struct{}) []*auditinternal.Event { + var events []*auditinternal.Event + +L: + for i := 0; i < b.maxBatchSize; i++ { + select { + case ev, ok := <-b.buffer: + // Buffer channel was closed and no new events will follow. + if !ok { + break L + } + events = append(events, ev) + case <-timer: + // Timer has expired. Send currently accumulated batch. + break L + case <-stopCh: + // Backend has been stopped. Send currently accumulated batch. + break L + } + } + + return events +} + +// processEvents process the batch events in a goroutine using delegateBackend's ProcessEvents. +func (b *bufferedBackend) processEvents(events []*auditinternal.Event) { + if len(events) == 0 { + return + } + + // TODO(audit): Should control the number of active goroutines + // if one goroutine takes 5 seconds to finish, the number of goroutines can be 5 * defaultBatchThrottleQPS + if b.throttle != nil { + b.throttle.Accept() + } + + b.wg.Add(1) + go func() { + defer b.wg.Done() + defer runtime.HandleCrash() + + // Execute the real processing in a goroutine to keep it from blocking. + // This lets the batching routine continue draining the queue immediately. + b.delegateBackend.ProcessEvents(events...) + }() +} + +func (b *bufferedBackend) ProcessEvents(ev ...*auditinternal.Event) { + // The following mechanism is in place to support the situation when audit + // events are still coming after the backend was stopped. + var sendErr error + var evIndex int + + // If the delegateBackend was shutdown and the buffer channel was closed, an + // attempt to add an event to it will result in panic that we should + // recover from. + defer func() { + if err := recover(); err != nil { + sendErr = fmt.Errorf("panic when processing events: %v", err) + } + if sendErr != nil { + audit.HandlePluginError(pluginName, sendErr, ev[evIndex:]...) + } + }() + + for i, e := range ev { + evIndex = i + // Per the audit.Backend interface these events are reused after being + // sent to the Sink. Deep copy and send the copy to the queue. + event := e.DeepCopy() + + select { + case b.buffer <- event: + default: + sendErr = fmt.Errorf("audit buffer queue blocked") + return + } + } +} diff --git a/plugin/pkg/audit/buffered/buffered_test.go b/plugin/pkg/audit/buffered/buffered_test.go new file mode 100644 index 000000000..b70996468 --- /dev/null +++ b/plugin/pkg/audit/buffered/buffered_test.go @@ -0,0 +1,181 @@ +/* +Copyright 2018 The Kubernetes 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. +*/ + +package buffered + +import ( + "testing" + "time" + + "github.com/stretchr/testify/require" + + "k8s.io/apimachinery/pkg/util/wait" + auditinternal "k8s.io/apiserver/pkg/apis/audit" + "k8s.io/apiserver/pkg/audit" +) + +var ( + closedStopCh = func() <-chan struct{} { + ch := make(chan struct{}) + close(ch) + return ch + }() + infiniteTimeCh <-chan time.Time = make(chan time.Time) + closedTimeCh = func() <-chan time.Time { + ch := make(chan time.Time) + close(ch) + return ch + }() +) + +func newEvents(number int) []*auditinternal.Event { + events := make([]*auditinternal.Event, number) + for i := range events { + events[i] = &auditinternal.Event{} + } + + return events +} + +func TestBufferedBackendCollectEvents(t *testing.T) { + config := NewDefaultBatchConfig() + + testCases := []struct { + desc string + timer <-chan time.Time + stopCh <-chan struct{} + numEvents int + wantBatchSize int + }{ + { + desc: "max batch size encountered", + timer: infiniteTimeCh, + stopCh: wait.NeverStop, + numEvents: config.MaxBatchSize + 1, + wantBatchSize: config.MaxBatchSize, + }, + { + desc: "timer expired", + timer: closedTimeCh, + stopCh: wait.NeverStop, + }, + { + desc: "chanel closed", + timer: infiniteTimeCh, + stopCh: closedStopCh, + }, + } + for _, tc := range testCases { + tc := tc + t.Run(tc.desc, func(t *testing.T) { + t.Parallel() + + backend := NewBackend(&fakeBackend{}, config).(*bufferedBackend) + + backend.ProcessEvents(newEvents(tc.numEvents)...) + batch := backend.collectEvents(tc.timer, tc.stopCh) + + require.Equal(t, tc.wantBatchSize, len(batch), "unexpected batch size") + }) + } +} + +func TestBufferedBackendProcessEventsAfterStop(t *testing.T) { + t.Parallel() + + backend := NewBackend(&fakeBackend{}, NewDefaultBatchConfig()).(*bufferedBackend) + + backend.Run(closedStopCh) + backend.Shutdown() + backend.ProcessEvents(newEvents(1)...) + batch := backend.collectEvents(infiniteTimeCh, wait.NeverStop) + + require.Equal(t, 0, len(batch), "processed events after the backed has been stopped") +} + +func TestBufferedBackendProcessEventsBufferFull(t *testing.T) { + t.Parallel() + + config := NewDefaultBatchConfig() + config.BufferSize = 1 + backend := NewBackend(&fakeBackend{}, config).(*bufferedBackend) + + backend.ProcessEvents(newEvents(2)...) + + require.Equal(t, 1, len(backend.buffer), "buffed contains more elements than it should") +} + +func TestBufferedBackendShutdownWaitsForDelegatedCalls(t *testing.T) { + t.Parallel() + + delegatedCallStartCh := make(chan struct{}) + delegatedCallEndCh := make(chan struct{}) + delegateBackend := &fakeBackend{ + onRequest: func(_ []*auditinternal.Event) { + close(delegatedCallStartCh) + <-delegatedCallEndCh + }, + } + config := NewDefaultBatchConfig() + backend := NewBackend(delegateBackend, config) + + // Run backend, process events, wait for them to be batched and for delegated call to start. + stopCh := make(chan struct{}) + backend.Run(stopCh) + backend.ProcessEvents(newEvents(config.MaxBatchSize)...) + <-delegatedCallStartCh + + // Start shutdown procedure. + shutdownEndCh := make(chan struct{}) + go func() { + close(stopCh) + backend.Shutdown() + close(shutdownEndCh) + }() + + // Wait for some time and then check whether Shutdown has exited. Can give false positive, + // but never false negative. + time.Sleep(100 * time.Millisecond) + select { + case <-shutdownEndCh: + t.Fatalf("Shutdown exited before delegated call ended") + default: + } + + // Wait for Shutdown to exit after delegated call has exited. + close(delegatedCallEndCh) + <-shutdownEndCh +} + +type fakeBackend struct { + onRequest func(events []*auditinternal.Event) +} + +var _ audit.Backend = &fakeBackend{} + +func (b *fakeBackend) Run(stopCh <-chan struct{}) error { + return nil +} + +func (b *fakeBackend) Shutdown() { + return +} + +func (b *fakeBackend) ProcessEvents(ev ...*auditinternal.Event) { + if b.onRequest != nil { + b.onRequest(ev) + } +} diff --git a/plugin/pkg/audit/buffered/doc.go b/plugin/pkg/audit/buffered/doc.go new file mode 100644 index 000000000..a82599e42 --- /dev/null +++ b/plugin/pkg/audit/buffered/doc.go @@ -0,0 +1,19 @@ +/* +Copyright 2018 The Kubernetes 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. +*/ + +// Package buffered provides an implementation for the audit.Backend interface +// that batches incoming audit events and sends batches to the delegate audit.Backend. +package buffered // import "k8s.io/apiserver/plugin/pkg/audit/buffered"