{"action":"created","comment":{"url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/pulls/comments/203043498","pull_request_review_id":137849267,"id":203043498,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMzA0MzQ5OA==","diff_hunk":"@@ -46,127 +43,117 @@\n     private static final String API_TOKEN = \"token\";\n \n     @Mock\n-    private DefaultKubernetesClient client;\n-\n-    @Mock\n-    private BaseOperation endpoints;\n-\n-    @Mock\n-    private BaseOperation inNamespace;\n-\n-    @Mock\n-    private BaseOperation withLabel;\n-\n-    private EndpointsList nodesInNamespace = new EndpointsList();\n-    private EndpointsList nodesWithLabel = new EndpointsList();\n+    private KubernetesClient client;\n \n     @Before\n-    public void setup() throws Exception {\n-        PowerMockito.whenNew(DefaultKubernetesClient.class).withAnyArguments().thenReturn(client);\n-\n-        when(client.endpoints()).thenReturn(endpoints);\n-        when(endpoints.inNamespace(NAMESPACE)).thenReturn(inNamespace);\n-        when(inNamespace.list()).thenReturn(nodesInNamespace);\n-        when(inNamespace.withLabel(SERVICE_LABEL, SERVICE_LABEL_VALUE)).thenReturn(withLabel);\n-        when(withLabel.list()).thenReturn(nodesWithLabel);\n+    public void setup()\n+            throws Exception {\n+        PowerMockito.whenNew(KubernetesClient.class).withAnyArguments().thenReturn(client);\n     }\n \n     @Test\n-    public void resolveWithNamespaceAndNoNodeInNamespace() {\n-        ServiceEndpointResolver sut = new ServiceEndpointResolver(LOGGER, SERVICE_NAME, 0, null, null, NAMESPACE, null, KUBERNETES_MASTER_URL, API_TOKEN);\n+    public void resolveWhenNodeInFound() {\n+        // given\n+        Endpoints endpoints = new Endpoints(Collections.<EntrypointAddress>emptyList(),\n+                Collections.<EntrypointAddress>emptyList());\n+        given(client.endpoints(NAMESPACE)).willReturn(endpoints);\n+\n+        ServiceEndpointResolver sut = new ServiceEndpointResolver(LOGGER, null, 0, null, null, NAMESPACE, null,\n+                KUBERNETES_MASTER_URL, API_TOKEN);\n+\n+        // when\n         List<DiscoveryNode> nodes = sut.resolve();\n \n+        // then\n         assertEquals(0, nodes.size());\n     }\n \n     @Test\n-    public void resolveWithNamespaceAndNodeInNamespace() {\n-        resolveWithNamespaceAndNodeInNamespace(0, 1); // expected port 1 is the kubernetes discovery endpoint port\n+    public void resolveWithServiceNameWhenNodeInNamespace() {\n+        resolveWithServiceNameWhenNodeInNamespace(0, 1); // expected port 1 is the kubernetes discovery endpoint port\n     }\n \n     @Test\n-    public void resolveWithNamespaceAndNodeInNamespaceAndCustomPort() {\n-        resolveWithNamespaceAndNodeInNamespace(333, 333);\n+    public void resolveWithServiceNameWhenNodeInNamespaceAndCustomPort() {\n+        resolveWithServiceNameWhenNodeInNamespace(333, 333);\n     }\n \n-    private void resolveWithNamespaceAndNodeInNamespace(final int port, final int expectedPort) {\n-        Endpoints discoveryNode = createEndpoints(1);\n-        nodesInNamespace.getItems().add(discoveryNode);\n+    private void resolveWithServiceNameWhenNodeInNamespace(final int port, final int expectedPort) {\n+        // given\n+        Endpoints endpoints = createEndpoints(1);\n+        given(client.endpointsByName(NAMESPACE, SERVICE_NAME)).willReturn(endpoints);\n+\n+        ServiceEndpointResolver sut = new ServiceEndpointResolver(LOGGER, SERVICE_NAME, port, null, null, NAMESPACE, null,\n+                KUBERNETES_MASTER_URL, API_TOKEN);\n \n-        ServiceEndpointResolver sut = new ServiceEndpointResolver(LOGGER, SERVICE_NAME, port, null, null, NAMESPACE, null, KUBERNETES_MASTER_URL, API_TOKEN);\n+        // when\n         List<DiscoveryNode> nodes = sut.resolve();\n \n+        // then\n         assertEquals(1, nodes.size());\n         assertEquals(expectedPort, nodes.get(0).getPrivateAddress().getPort());\n     }\n \n     @Test\n-    public void resolveWithNamespaceAndNodeInNamespaceWithNoReadyPods() {\n-        Endpoints discoveryNode = createEndpoints(1);\n-        discoveryNode.getSubsets().get(0).setAddresses(null);\n-        nodesInNamespace.getItems().add(discoveryNode);\n-\n-        ServiceEndpointResolver sut = new ServiceEndpointResolver(LOGGER, SERVICE_NAME, 0, null, null, NAMESPACE, null, KUBERNETES_MASTER_URL, API_TOKEN);\n-        List<DiscoveryNode> nodes = sut.resolve();\n-\n-        assertEquals(0, nodes.size());\n-    }\n+    public void resolveWithServiceLabelWhenNodeWithServiceLabel() {\n+        // given\n+        Endpoints endpoints = createEndpoints(2);\n+        given(client.endpointsByLabel(NAMESPACE, SERVICE_LABEL, SERVICE_LABEL_VALUE)).willReturn(endpoints);\n \n-    @Test\n-    public void resolveWithNamespaceAndNodeInNamespaceWithNoSubsets() {\n-        Endpoints discoveryNode = createEndpoints(1);\n-        discoveryNode.setSubsets(null);\n-        nodesInNamespace.getItems().add(discoveryNode);\n+        ServiceEndpointResolver sut = new ServiceEndpointResolver(LOGGER, null, 0, SERVICE_LABEL, SERVICE_LABEL_VALUE, NAMESPACE,\n+                null, KUBERNETES_MASTER_URL, API_TOKEN);\n \n-        ServiceEndpointResolver sut = new ServiceEndpointResolver(LOGGER, SERVICE_NAME, 0, null, null, NAMESPACE, null, KUBERNETES_MASTER_URL, API_TOKEN);\n+        // when\n         List<DiscoveryNode> nodes = sut.resolve();\n \n-        assertEquals(0, nodes.size());\n+        // then\n+        assertEquals(1, nodes.size());\n+        assertEquals(2, nodes.get(0).getPrivateAddress().getPort());\n     }\n \n     @Test\n-    public void resolveWithServiceLabelAndNodeInNamespace() {\n-        nodesInNamespace.getItems().add(createEndpoints(1));\n+    public void resolveWithServiceNameWhenNotReadyAddressesAndNotReadyEnabled() {\n+        // given\n+        Endpoints endpoints = createNotReadyEndpoints(2);\n+        given(client.endpointsByName(NAMESPACE, SERVICE_NAME)).willReturn(endpoints);\n \n-        ServiceEndpointResolver sut = new ServiceEndpointResolver(LOGGER, SERVICE_NAME, 0, SERVICE_LABEL, SERVICE_LABEL_VALUE, NAMESPACE, null, KUBERNETES_MASTER_URL, API_TOKEN);\n-        List<DiscoveryNode> nodes = sut.resolve();\n-\n-        assertEquals(0, nodes.size());\n-    }\n+        ServiceEndpointResolver sut = new ServiceEndpointResolver(LOGGER, SERVICE_NAME, 0, null, null, NAMESPACE,\n+                RESOLVE_NOT_READY_ADDRESSES, KUBERNETES_MASTER_URL, API_TOKEN);\n \n-    @Test\n-    public void resolveWithServiceLabelAndNodeWithServiceLabel() {\n-        nodesInNamespace.getItems().add(createEndpoints(1));\n-        Endpoints discoveryNode = createEndpoints(2);\n-        nodesWithLabel.getItems().add(discoveryNode);\n-\n-        ServiceEndpointResolver sut = new ServiceEndpointResolver(LOGGER, SERVICE_NAME, 0, SERVICE_LABEL, SERVICE_LABEL_VALUE, NAMESPACE, null, KUBERNETES_MASTER_URL, API_TOKEN);\n+        // when\n         List<DiscoveryNode> nodes = sut.resolve();\n \n+        // then\n         assertEquals(1, nodes.size());\n-        assertEquals(2, nodes.get(0).getPrivateAddress().getPort());\n     }\n \n     @Test\n-    public void resolveWithNamespaceAndNotReadyAddresses() {\n-        nodesInNamespace.getItems().add(createEndpoints(1));\n-        nodesInNamespace.getItems().add(createNotReadyEndpoints(2));\n+    public void resolveWithServiceNameWhenNotReadyAddressesAndNotReadyDisabled() {\n+        // given\n+        Endpoints endpoints = createNotReadyEndpoints(2);\n+        given(client.endpointsByName(NAMESPACE, SERVICE_NAME)).willReturn(endpoints);\n+\n+        ServiceEndpointResolver sut = new ServiceEndpointResolver(LOGGER, SERVICE_NAME, 0, null, null, NAMESPACE, null,","path":"src/test/java/com/hazelcast/kubernetes/ServiceEndpointResolverTest.java","position":204,"original_position":204,"commit_id":"99c50de82feeb288c97db5350ccbced3d0989c6b","original_commit_id":"99c50de82feeb288c97db5350ccbced3d0989c6b","user":{"login":"googlielmo","id":1446383,"node_id":"MDQ6VXNlcjE0NDYzODM=","avatar_url":"https://avatars2.githubusercontent.com/u/1446383?v=4","gravatar_id":"","url":"https://api.github.com/users/googlielmo","html_url":"https://github.com/googlielmo","followers_url":"https://api.github.com/users/googlielmo/followers","following_url":"https://api.github.com/users/googlielmo/following{/other_user}","gists_url":"https://api.github.com/users/googlielmo/gists{/gist_id}","starred_url":"https://api.github.com/users/googlielmo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/googlielmo/subscriptions","organizations_url":"https://api.github.com/users/googlielmo/orgs","repos_url":"https://api.github.com/users/googlielmo/repos","events_url":"https://api.github.com/users/googlielmo/events{/privacy}","received_events_url":"https://api.github.com/users/googlielmo/received_events","type":"User","site_admin":false},"body":"This would seriously benefit from a builder pattern (in general, I don't mean in this PR btw!)","created_at":"2018-07-17T14:26:29Z","updated_at":"2018-07-17T14:30:02Z","html_url":"https://github.com/hazelcast/hazelcast-kubernetes/pull/80#discussion_r203043498","pull_request_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/pulls/80","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/pulls/comments/203043498"},"html":{"href":"https://github.com/hazelcast/hazelcast-kubernetes/pull/80#discussion_r203043498"},"pull_request":{"href":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/pulls/80"}}},"pull_request":{"url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/pulls/80","id":201296170,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAxMjk2MTcw","html_url":"https://github.com/hazelcast/hazelcast-kubernetes/pull/80","diff_url":"https://github.com/hazelcast/hazelcast-kubernetes/pull/80.diff","patch_url":"https://github.com/hazelcast/hazelcast-kubernetes/pull/80.patch","issue_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/issues/80","number":80,"state":"open","locked":false,"title":"Create our own KubernetesClient (instead of using fabric8)","user":{"login":"leszko","id":2834997,"node_id":"MDQ6VXNlcjI4MzQ5OTc=","avatar_url":"https://avatars2.githubusercontent.com/u/2834997?v=4","gravatar_id":"","url":"https://api.github.com/users/leszko","html_url":"https://github.com/leszko","followers_url":"https://api.github.com/users/leszko/followers","following_url":"https://api.github.com/users/leszko/following{/other_user}","gists_url":"https://api.github.com/users/leszko/gists{/gist_id}","starred_url":"https://api.github.com/users/leszko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leszko/subscriptions","organizations_url":"https://api.github.com/users/leszko/orgs","repos_url":"https://api.github.com/users/leszko/repos","events_url":"https://api.github.com/users/leszko/events{/privacy}","received_events_url":"https://api.github.com/users/leszko/received_events","type":"User","site_admin":false},"body":"Create our own Hazelcast KubernetesClient to use Kubernetes REST API. The motivation for this work was to get rid of the dependency to `fabric8.io:kubernetes-client`, which is ~11MB. We actually make only one call to Kubernetes API, so there is no good reason to import the whole library.\r\n\r\nTested on: Minikube, Pivotal PKS, Google Cloud Platform, and OpenShift Online.\r\n\r\nBenefits from this change:\r\n- Decreases significantly the size of `hazelcast-kubernetes`: 11MB -> 334KB\r\n- Allows to include `hazelcast-kubernetes` in `hazelcast-all`\r\n- Decreases the Docker image size by 9MB\r\n- Simplifies the code of `ServiceEndpointResolver`\r\n\r\nThere are also some drawbacks of this change (but I believe they are minor comparing to the benefits):\r\n- We need to maintain `KubernetesClient` (minor, since it's just one class)\r\n- We lose some of the configuration options, which fabric8 provides (e.g. turning off CA Cert verification, etc.) - I believe it's not super important since we allow using `hazelcast-kubernetes` only from inside Kubernetes\r\n\r\nRelated to: #75","created_at":"2018-07-13T13:46:44Z","updated_at":"2018-07-17T14:30:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"612aabc65083815c79a52fe3eabb35e49a5b3d6f","assignee":null,"assignees":[],"requested_reviewers":[{"login":"mesutcelik","id":823273,"node_id":"MDQ6VXNlcjgyMzI3Mw==","avatar_url":"https://avatars3.githubusercontent.com/u/823273?v=4","gravatar_id":"","url":"https://api.github.com/users/mesutcelik","html_url":"https://github.com/mesutcelik","followers_url":"https://api.github.com/users/mesutcelik/followers","following_url":"https://api.github.com/users/mesutcelik/following{/other_user}","gists_url":"https://api.github.com/users/mesutcelik/gists{/gist_id}","starred_url":"https://api.github.com/users/mesutcelik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mesutcelik/subscriptions","organizations_url":"https://api.github.com/users/mesutcelik/orgs","repos_url":"https://api.github.com/users/mesutcelik/repos","events_url":"https://api.github.com/users/mesutcelik/events{/privacy}","received_events_url":"https://api.github.com/users/mesutcelik/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/pulls/80/commits","review_comments_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/pulls/80/comments","review_comment_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/pulls/comments{/number}","comments_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/issues/80/comments","statuses_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/statuses/99c50de82feeb288c97db5350ccbced3d0989c6b","head":{"label":"leszko:remove_dependencies_client","ref":"remove_dependencies_client","sha":"99c50de82feeb288c97db5350ccbced3d0989c6b","user":{"login":"leszko","id":2834997,"node_id":"MDQ6VXNlcjI4MzQ5OTc=","avatar_url":"https://avatars2.githubusercontent.com/u/2834997?v=4","gravatar_id":"","url":"https://api.github.com/users/leszko","html_url":"https://github.com/leszko","followers_url":"https://api.github.com/users/leszko/followers","following_url":"https://api.github.com/users/leszko/following{/other_user}","gists_url":"https://api.github.com/users/leszko/gists{/gist_id}","starred_url":"https://api.github.com/users/leszko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leszko/subscriptions","organizations_url":"https://api.github.com/users/leszko/orgs","repos_url":"https://api.github.com/users/leszko/repos","events_url":"https://api.github.com/users/leszko/events{/privacy}","received_events_url":"https://api.github.com/users/leszko/received_events","type":"User","site_admin":false},"repo":{"id":126464092,"node_id":"MDEwOlJlcG9zaXRvcnkxMjY0NjQwOTI=","name":"hazelcast-kubernetes","full_name":"leszko/hazelcast-kubernetes","owner":{"login":"leszko","id":2834997,"node_id":"MDQ6VXNlcjI4MzQ5OTc=","avatar_url":"https://avatars2.githubusercontent.com/u/2834997?v=4","gravatar_id":"","url":"https://api.github.com/users/leszko","html_url":"https://github.com/leszko","followers_url":"https://api.github.com/users/leszko/followers","following_url":"https://api.github.com/users/leszko/following{/other_user}","gists_url":"https://api.github.com/users/leszko/gists{/gist_id}","starred_url":"https://api.github.com/users/leszko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leszko/subscriptions","organizations_url":"https://api.github.com/users/leszko/orgs","repos_url":"https://api.github.com/users/leszko/repos","events_url":"https://api.github.com/users/leszko/events{/privacy}","received_events_url":"https://api.github.com/users/leszko/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/leszko/hazelcast-kubernetes","description":"Google Kubernetes discovery mechanism for Hazelcast ","fork":true,"url":"https://api.github.com/repos/leszko/hazelcast-kubernetes","forks_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/forks","keys_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/teams","hooks_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/hooks","issue_events_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/events","assignees_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/tags","blobs_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/languages","stargazers_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/stargazers","contributors_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/contributors","subscribers_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/subscribers","subscription_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/subscription","commits_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/merges","archive_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/downloads","issues_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/releases{/id}","deployments_url":"https://api.github.com/repos/leszko/hazelcast-kubernetes/deployments","created_at":"2018-03-23T09:39:30Z","updated_at":"2018-07-09T14:34:28Z","pushed_at":"2018-07-13T11:20:56Z","git_url":"git://github.com/leszko/hazelcast-kubernetes.git","ssh_url":"git@github.com:leszko/hazelcast-kubernetes.git","clone_url":"https://github.com/leszko/hazelcast-kubernetes.git","svn_url":"https://github.com/leszko/hazelcast-kubernetes","homepage":"","size":232,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"hazelcast:master","ref":"master","sha":"f2c7d1c24802c0c12f66e6d4ed23367f6debf490","user":{"login":"hazelcast","id":1453152,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0NTMxNTI=","avatar_url":"https://avatars2.githubusercontent.com/u/1453152?v=4","gravatar_id":"","url":"https://api.github.com/users/hazelcast","html_url":"https://github.com/hazelcast","followers_url":"https://api.github.com/users/hazelcast/followers","following_url":"https://api.github.com/users/hazelcast/following{/other_user}","gists_url":"https://api.github.com/users/hazelcast/gists{/gist_id}","starred_url":"https://api.github.com/users/hazelcast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hazelcast/subscriptions","organizations_url":"https://api.github.com/users/hazelcast/orgs","repos_url":"https://api.github.com/users/hazelcast/repos","events_url":"https://api.github.com/users/hazelcast/events{/privacy}","received_events_url":"https://api.github.com/users/hazelcast/received_events","type":"Organization","site_admin":false},"repo":{"id":43431363,"node_id":"MDEwOlJlcG9zaXRvcnk0MzQzMTM2Mw==","name":"hazelcast-kubernetes","full_name":"hazelcast/hazelcast-kubernetes","owner":{"login":"hazelcast","id":1453152,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0NTMxNTI=","avatar_url":"https://avatars2.githubusercontent.com/u/1453152?v=4","gravatar_id":"","url":"https://api.github.com/users/hazelcast","html_url":"https://github.com/hazelcast","followers_url":"https://api.github.com/users/hazelcast/followers","following_url":"https://api.github.com/users/hazelcast/following{/other_user}","gists_url":"https://api.github.com/users/hazelcast/gists{/gist_id}","starred_url":"https://api.github.com/users/hazelcast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hazelcast/subscriptions","organizations_url":"https://api.github.com/users/hazelcast/orgs","repos_url":"https://api.github.com/users/hazelcast/repos","events_url":"https://api.github.com/users/hazelcast/events{/privacy}","received_events_url":"https://api.github.com/users/hazelcast/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/hazelcast/hazelcast-kubernetes","description":"Google Kubernetes discovery mechanism for Hazelcast ","fork":false,"url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes","forks_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/forks","keys_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/teams","hooks_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/hooks","issue_events_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/events","assignees_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/tags","blobs_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/languages","stargazers_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/stargazers","contributors_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/contributors","subscribers_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/subscribers","subscription_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/subscription","commits_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/merges","archive_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/downloads","issues_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/releases{/id}","deployments_url":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/deployments","created_at":"2015-09-30T12:23:35Z","updated_at":"2018-06-22T10:39:25Z","pushed_at":"2018-07-13T13:46:45Z","git_url":"git://github.com/hazelcast/hazelcast-kubernetes.git","ssh_url":"git@github.com:hazelcast/hazelcast-kubernetes.git","clone_url":"https://github.com/hazelcast/hazelcast-kubernetes.git","svn_url":"https://github.com/hazelcast/hazelcast-kubernetes","homepage":"","size":210,"stargazers_count":53,"watchers_count":53,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":53,"mirror_url":null,"archived":false,"open_issues_count":10,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":53,"open_issues":10,"watchers":53,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/pulls/80"},"html":{"href":"https://github.com/hazelcast/hazelcast-kubernetes/pull/80"},"issue":{"href":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/issues/80"},"comments":{"href":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/issues/80/comments"},"review_comments":{"href":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/pulls/80/comments"},"review_comment":{"href":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/pulls/80/commits"},"statuses":{"href":"https://api.github.com/repos/hazelcast/hazelcast-kubernetes/statuses/99c50de82feeb288c97db5350ccbced3d0989c6b"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"googlielmo"}}