From 7429dc8ef29326bcff5dd33d72157f095067a380 Mon Sep 17 00:00:00 2001 From: yunchen Date: Thu, 21 Jun 2018 07:38:27 +0000 Subject: [PATCH] Add fake clientset for k8s testing --- src/kubernetes/nodes.go | 8 +- src/kubernetes/nodes_test.go | 44 ++++- src/serviceprovider/serviceprovider.go | 16 +- vendor/vendor.json | 220 +++++++++++++++++++++++++ 4 files changed, 265 insertions(+), 23 deletions(-) diff --git a/src/kubernetes/nodes.go b/src/kubernetes/nodes.go index cf525ea4..d154fd79 100644 --- a/src/kubernetes/nodes.go +++ b/src/kubernetes/nodes.go @@ -1,17 +1,17 @@ package kubernetes import ( - v1 "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" ) -func GetNode(clientset *kubernetes.Clientset, name string) (*v1.Node, error) { +func GetNode(clientset kubernetes.Interface, name string) (*corev1.Node, error) { return clientset.CoreV1().Nodes().Get(name, metav1.GetOptions{}) } -func GetNodes(clientset *kubernetes.Clientset) ([]*v1.Node, error) { - nodes := []*v1.Node{} +func GetNodes(clientset kubernetes.Interface) ([]*corev1.Node, error) { + nodes := []*corev1.Node{} nodesList, err := clientset.CoreV1().Nodes().List(metav1.ListOptions{}) if err != nil { return nodes, err diff --git a/src/kubernetes/nodes_test.go b/src/kubernetes/nodes_test.go index 9906b3ae..534b5403 100644 --- a/src/kubernetes/nodes_test.go +++ b/src/kubernetes/nodes_test.go @@ -1,30 +1,56 @@ package kubernetes import ( - "github.com/linkernetworks/kubeconfig" "github.com/stretchr/testify/assert" - "k8s.io/client-go/kubernetes" + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + fakeclientset "k8s.io/client-go/kubernetes/fake" "testing" ) -func TestGetNodeFail(t *testing.T) { - config, err := kubeconfig.Load("") +func TestGetNode(t *testing.T) { + clientset := fakeclientset.NewSimpleClientset() + + node := corev1.Node{ + ObjectMeta: metav1.ObjectMeta{ + Name: "K8S-Node", + }, + } + _, err := clientset.CoreV1().Nodes().Create(&node) assert.NoError(t, err) - clientset, err := kubernetes.NewForConfig(config) + result, err := GetNode(clientset, "K8S-Node") assert.NoError(t, err) + assert.Equal(t, node.GetName(), result.GetName()) +} - _, err = GetNode(clientset, "UnKnown_Name") +func TestGetNodeFail(t *testing.T) { + clientset := fakeclientset.NewSimpleClientset() + + _, err := GetNode(clientset, "UnKnown_Name") assert.Error(t, err) } func TestGetNodes(t *testing.T) { - config, err := kubeconfig.Load("") + clientset := fakeclientset.NewSimpleClientset() + + node := corev1.Node{ + ObjectMeta: metav1.ObjectMeta{ + Name: "K8S-Node1", + }, + } + _, err := clientset.CoreV1().Nodes().Create(&node) assert.NoError(t, err) - clientset, err := kubernetes.NewForConfig(config) + node = corev1.Node{ + ObjectMeta: metav1.ObjectMeta{ + Name: "K8S-Node2", + }, + } + _, err = clientset.CoreV1().Nodes().Create(&node) assert.NoError(t, err) - _, err = GetNodes(clientset) + nodes, err := GetNodes(clientset) assert.NoError(t, err) + assert.Equal(t, 2, len(nodes)) } diff --git a/src/serviceprovider/serviceprovider.go b/src/serviceprovider/serviceprovider.go index 9f09a262..28750bc1 100644 --- a/src/serviceprovider/serviceprovider.go +++ b/src/serviceprovider/serviceprovider.go @@ -33,17 +33,13 @@ func New(cf config.Config) *Container { logger.Infof("Connecting to mongodb: %s", cf.Mongo.Url) mongo := mongo.New(cf.Mongo.Url) - sp := &Container{ - Config: cf, - Redis: redisService, - Mongo: mongo, - } + k8sConfig, _ := kubeconfig.Load(cf.Kubernetes) - if cf.Kubernetes == nil { - logger.Warnln("kubernetes service is not loaded: kubernetes config is not defined.") - } else { - config, _ := kubeconfig.Load(cf.Kubernetes) - sp.Kubernetes = config + sp := &Container{ + Config: cf, + Redis: redisService, + Mongo: mongo, + Kubernetes: k8sConfig, } return sp diff --git a/vendor/vendor.json b/vendor/vendor.json index e6ce6a0a..ec567f69 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -962,6 +962,10 @@ "revision": "783dfbe86ff74ef4a6e1243688e1585ac243f8e7", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "path": "k8s.io/api/core/v1/fake", + "revision": "" + }, { "checksumSHA1": "h6g5DS23Tp60JxqxxGMmpzCvmGs=", "path": "k8s.io/api/events/v1beta1", @@ -1190,6 +1194,12 @@ "revision": "5a8013207d0d28c7fe98193e5b6cdbf92e98a000", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "rvTUvuVwU6NmzJiseUnl4KQ9498=", + "path": "k8s.io/apimachinery/pkg/util/mergepatch", + "revision": "da954875f3efabca13c924dd99264f7fb2cfa422", + "revisionTime": "2018-06-20T21:21:21Z" + }, { "checksumSHA1": "OrKcR7aVHsamDGWtb2Z0/kAVOtk=", "path": "k8s.io/apimachinery/pkg/util/net", @@ -1208,6 +1218,12 @@ "revision": "5a8013207d0d28c7fe98193e5b6cdbf92e98a000", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "COpKHNN+0YT7fn4pColmA/OVrFQ=", + "path": "k8s.io/apimachinery/pkg/util/strategicpatch", + "revision": "da954875f3efabca13c924dd99264f7fb2cfa422", + "revisionTime": "2018-06-20T21:21:21Z" + }, { "checksumSHA1": "0zZltQ8NUw+PeVotck4dqCKT/JY=", "path": "k8s.io/apimachinery/pkg/util/validation", @@ -1244,6 +1260,12 @@ "revision": "5a8013207d0d28c7fe98193e5b6cdbf92e98a000", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "Z0LTjblQqzGRHcnruaPaC6kBIiQ=", + "path": "k8s.io/apimachinery/third_party/forked/golang/json", + "revision": "da954875f3efabca13c924dd99264f7fb2cfa422", + "revisionTime": "2018-06-20T21:21:21Z" + }, { "checksumSHA1": "9sFA+EjKrjpmK4OofQH0p0Rowfg=", "path": "k8s.io/apimachinery/third_party/forked/golang/reflect", @@ -1256,12 +1278,24 @@ "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "OJC5GW5nqC/9wJkBfgxUhtJcK3Y=", + "path": "k8s.io/client-go/discovery/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "Uvb/9qGnLy/XSRWjpHlEfWYU+As=", "path": "k8s.io/client-go/kubernetes", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "HiSKJ3I/VmveJ8CaP3F+si3t0do=", + "path": "k8s.io/client-go/kubernetes/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "NpFjNGtZNV0o0Jo7oG7jmjIJ4W0=", "path": "k8s.io/client-go/kubernetes/scheme", @@ -1274,174 +1308,348 @@ "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "ZgHl+SYk5mqDKc/qjGQgQ0FqnMs=", + "path": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "gpF24Wissl7J5PSi6h1FE+5cKt4=", "path": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "VcxNmvWKizaYMd6HzFMN/XHxma4=", + "path": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "xVKYvZSUmsh5gdX4cKpqMucuKIs=", "path": "k8s.io/client-go/kubernetes/typed/apps/v1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "J0/1tTmAGFsZBdTaQzN0pVN0Pao=", + "path": "k8s.io/client-go/kubernetes/typed/apps/v1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "/u8hJMzPAhaRnYV3N/2kWeo6Gbc=", "path": "k8s.io/client-go/kubernetes/typed/apps/v1beta1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "u4+WQ3qbxgQQi/d9idLoYH8Pw4w=", + "path": "k8s.io/client-go/kubernetes/typed/apps/v1beta1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "7nPY3WCV09+bSkK0fK1pkcYOP3Q=", "path": "k8s.io/client-go/kubernetes/typed/apps/v1beta2", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "kDbF3yTLCTDIWaSiQe8QKnXLkUw=", + "path": "k8s.io/client-go/kubernetes/typed/apps/v1beta2/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "z8RBQhqz0ef52GAYcGnHbdkRLQw=", "path": "k8s.io/client-go/kubernetes/typed/authentication/v1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "FQdMfDrQILCK3PEEQVwM+hM2Sno=", + "path": "k8s.io/client-go/kubernetes/typed/authentication/v1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "xNCsaw6UsrEtSjg+2rMYZueCBIM=", "path": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "COsWrq4VbNfuFe+xPfSIA8vvmXs=", + "path": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "m8sWDYsVaRB+meitgU1dx+1P0ow=", "path": "k8s.io/client-go/kubernetes/typed/authorization/v1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "WkB+L76pnmGC9E/N/pw5UMKWy8w=", + "path": "k8s.io/client-go/kubernetes/typed/authorization/v1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "XucNO6BHSXXNkSQAM1ZdiwDmksc=", "path": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "89z3RD2/yK6XDKRY8z6wC5hDbn0=", + "path": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "5D9gl3fKkhnLSC17fkz9XIV9STc=", "path": "k8s.io/client-go/kubernetes/typed/autoscaling/v1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "n+iIJ/VtbdfLiBY8GCIfa+Oy3NI=", + "path": "k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "iCPo6cOIT5Z9diNHHUcGyrMDZn8=", "path": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "Cs44IvmNBGghs1TtXfK840qhVNw=", + "path": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "PxB/TF7pmos3op2z+LIJLjZO8jM=", "path": "k8s.io/client-go/kubernetes/typed/batch/v1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "40K3NE6HDzWKk/a+2ZT10mu4r5k=", + "path": "k8s.io/client-go/kubernetes/typed/batch/v1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "UFKWPad/llvBljTbZqyekULpPKM=", "path": "k8s.io/client-go/kubernetes/typed/batch/v1beta1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "xwAzWNXPmWGTtCaUYj8usnvU+ps=", + "path": "k8s.io/client-go/kubernetes/typed/batch/v1beta1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "7FFOahu3KVI7fiWhA/k1yluvIJY=", "path": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "zlvCwlKLZMLcDsdD3sdqQmzxZMY=", + "path": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "ugmMQOQlWNAEOR+ncbnL+uxkjJ8=", "path": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "D41Z70J8gWfUyJoxlCMZzzvVBZk=", + "path": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "0E6RtvR8px6fkUWtT5FYjVcowEI=", "path": "k8s.io/client-go/kubernetes/typed/core/v1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "U3kQTqGjstKRZIZyuZlqZ9rcPv8=", + "path": "k8s.io/client-go/kubernetes/typed/core/v1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "EG2zaZ66o181NTvDIA1pF+sR+mI=", "path": "k8s.io/client-go/kubernetes/typed/events/v1beta1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "qk79twOWQSohS4tcmq/v2b5BeNc=", + "path": "k8s.io/client-go/kubernetes/typed/events/v1beta1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "X5wptrr04pFFgjZBvNejIFKf3YU=", "path": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "GkBjc3tePgQVj1Aq4TbWSKcmJ/I=", + "path": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "2BNRJgbx2OKqe4PnZrEo/LUI1gI=", "path": "k8s.io/client-go/kubernetes/typed/networking/v1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "EAQwsMbhLKR6g9yc8b66FXHDP6I=", + "path": "k8s.io/client-go/kubernetes/typed/networking/v1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "iv+leVP2ERDUBKVaD82rrt8x5EI=", "path": "k8s.io/client-go/kubernetes/typed/policy/v1beta1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "MH6FxyA9Z5h/XoyI21lpEbVAnL4=", + "path": "k8s.io/client-go/kubernetes/typed/policy/v1beta1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "t1v/kvkiHgsoRGB2SpS9wx7Kd1s=", "path": "k8s.io/client-go/kubernetes/typed/rbac/v1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "s1klULhKt+ZCj4vHwj99d3Fc4pw=", + "path": "k8s.io/client-go/kubernetes/typed/rbac/v1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "WBzIRDYpTWf5X0fl7Q9ZsYaayOI=", "path": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "dz1K96PXoJxUlGjpIYCbHRw6qDc=", + "path": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "2Db2rdjkeF2FUjL3zcAT518HNUw=", "path": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "o5JMZoPym8c87/uEHZryhuLzCoI=", + "path": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "E2UC+VmKSUekz96/0UX+fK0jOGg=", "path": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "tK02uMqdP/74hP99dQq69rmwQ2o=", + "path": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "S9JHuu0Bwyc7RumKvhMJC49MtkU=", "path": "k8s.io/client-go/kubernetes/typed/scheduling/v1beta1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "nL6dR8jAzjs/1PPzS/KYYeZMwnQ=", + "path": "k8s.io/client-go/kubernetes/typed/scheduling/v1beta1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "L7SxjL9g+rlgK8AEj4SocDiMzjU=", "path": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "psDBGAD3dpKFK/tAmBXExk1Li6w=", + "path": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "NG+izjfroQyI3r6Ar1IK47KQknU=", "path": "k8s.io/client-go/kubernetes/typed/storage/v1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "ceZKkz57Ij6cHfx13qX2J9MUMbg=", + "path": "k8s.io/client-go/kubernetes/typed/storage/v1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "hLN5UXfDgw36zcIfpgo4WCZraCA=", "path": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "Koig4n3Fs1OmIVAsXwKDdlGTSuE=", + "path": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "uhq68WTNsbCjKPqAwym7TPUx9Xg=", "path": "k8s.io/client-go/kubernetes/typed/storage/v1beta1", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "nGtzXxSCQV+6czFpj0PwHqwCW3U=", + "path": "k8s.io/client-go/kubernetes/typed/storage/v1beta1/fake", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "HIYqO9vnahkaPT5sfAEdKRb86Qc=", "path": "k8s.io/client-go/pkg/apis/clientauthentication", @@ -1490,6 +1698,12 @@ "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" }, + { + "checksumSHA1": "I3bHgG6WAdMckRtd+KamQHlPRPY=", + "path": "k8s.io/client-go/testing", + "revision": "2e8676d253d96c12b1acbe8b67d7c58e392b8406", + "revisionTime": "2018-06-20T14:12:18Z" + }, { "checksumSHA1": "j3Th2B1Hpv6UFLMEmA0ZdbO4kGU=", "path": "k8s.io/client-go/third_party/forked/golang/template", @@ -1579,6 +1793,12 @@ "path": "k8s.io/client-go/util/jsonpath", "revision": "8d6e3480fc03b7337a24f349d35733190655e2ad", "revisionTime": "2018-06-14T22:41:26Z" + }, + { + "checksumSHA1": "F9uRePbZAiiZ1fGtsS0wb3FaxXM=", + "path": "k8s.io/kube-openapi/pkg/util/proto", + "revision": "91cfa479c814065e420cee7ed227db0f63a5854e", + "revisionTime": "2018-06-20T17:37:06Z" } ], "rootPath": "github.com/linkernetworks/vortex"