{"action":"created","comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments/118073062","pull_request_review_id":39832278,"id":118073062,"diff_hunk":"@@ -0,0 +1,139 @@\n+/*\n+Copyright 2017 The Kubernetes Authors.\n+\n+Licensed under the Apache License, Version 2.0 (the \"License\");\n+you may not use this file except in compliance with the License.\n+You may obtain a copy of the License at\n+\n+    http://www.apache.org/licenses/LICENSE-2.0\n+\n+Unless required by applicable law or agreed to in writing, software\n+distributed under the License is distributed on an \"AS IS\" BASIS,\n+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+See the License for the specific language governing permissions and\n+limitations under the License.\n+*/\n+\n+package nodeconfig\n+\n+import (\n+\t\"crypto/sha256\"\n+\t\"fmt\"\n+\t\"regexp\"\n+\t\"sort\"\n+\n+\tapiv1 \"k8s.io/kubernetes/pkg/api/v1\"\n+)\n+\n+const (\n+\tsha256Alg = \"sha256\"\n+)\n+\n+// verifiable is for verifying the integrity of a checkpointed configuration (mainly intended to guard against API object mutation)\n+type verifiable interface {\n+\tverify() (parsable, error)\n+}\n+\n+// verifiableConfigMap is for verifying integrity of config from ConfigMaps\n+type verifiableConfigMap struct {\n+\tcm *apiv1.ConfigMap\n+}\n+\n+// verify checks that re-hashing the data in the ConfigMap results in the hash in the ConfigMap's name.\n+// If verification fails, returns an error.\n+// If verification succeeds, returns a parsable. This interface can be used to parse the ConfigMap into a KubeletConfiguration.\n+func (v *verifiableConfigMap) verify() (parsable, error) {\n+\tname, alg, expectedHash, err := parseConfigName(v.cm.ObjectMeta.Name)","path":"pkg/kubelet/nodeconfig/verify.go","position":46,"original_position":46,"commit_id":"7cc3b2acb8aaecb48b690486faa391a83052553f","original_commit_id":"7cc3b2acb8aaecb48b690486faa391a83052553f","user":{"login":"mtaufen","id":903617,"avatar_url":"https://avatars2.githubusercontent.com/u/903617?v=3","gravatar_id":"","url":"https://api.github.com/users/mtaufen","html_url":"https://github.com/mtaufen","followers_url":"https://api.github.com/users/mtaufen/followers","following_url":"https://api.github.com/users/mtaufen/following{/other_user}","gists_url":"https://api.github.com/users/mtaufen/gists{/gist_id}","starred_url":"https://api.github.com/users/mtaufen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtaufen/subscriptions","organizations_url":"https://api.github.com/users/mtaufen/orgs","repos_url":"https://api.github.com/users/mtaufen/repos","events_url":"https://api.github.com/users/mtaufen/events{/privacy}","received_events_url":"https://api.github.com/users/mtaufen/received_events","type":"User","site_admin":false},"body":"Requiring a node-by-node rollout prevents accidentally updating all of your nodes at once by updating a shared configuration source.","created_at":"2017-05-23T18:40:09Z","updated_at":"2017-05-23T18:40:10Z","html_url":"https://github.com/kubernetes/kubernetes/pull/46254#discussion_r118073062","pull_request_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/46254","_links":{"self":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments/118073062"},"html":{"href":"https://github.com/kubernetes/kubernetes/pull/46254#discussion_r118073062"},"pull_request":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/46254"}}},"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/46254","id":121880379,"html_url":"https://github.com/kubernetes/kubernetes/pull/46254","diff_url":"https://github.com/kubernetes/kubernetes/pull/46254.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/46254.patch","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/46254","number":46254,"state":"open","locked":false,"title":"Alpha Dynamic Kubelet Configuration","user":{"login":"mtaufen","id":903617,"avatar_url":"https://avatars2.githubusercontent.com/u/903617?v=3","gravatar_id":"","url":"https://api.github.com/users/mtaufen","html_url":"https://github.com/mtaufen","followers_url":"https://api.github.com/users/mtaufen/followers","following_url":"https://api.github.com/users/mtaufen/following{/other_user}","gists_url":"https://api.github.com/users/mtaufen/gists{/gist_id}","starred_url":"https://api.github.com/users/mtaufen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtaufen/subscriptions","organizations_url":"https://api.github.com/users/mtaufen/orgs","repos_url":"https://api.github.com/users/mtaufen/repos","events_url":"https://api.github.com/users/mtaufen/events{/privacy}","received_events_url":"https://api.github.com/users/mtaufen/received_events","type":"User","site_admin":false},"body":"This proposal contains the alpha implementation of the Dynamic Kubelet Configuration feature proposed in #29459. \r\n\r\nPlease note:\r\n- The proposal doc is not yet up to date with this implementation, there are some subtle differences and some more significant ones. I will update the proposal doc to match by tomorrow afternoon.\r\n- This obviously needs more tests. I plan to write several this week. Since it's alpha and feature-gated, I'm decoupling this review from the review of the tests.\r\n- I'm temporarily holding off on updating the generated docs, api specs, etc, for the sake of my reviewers :smile:.\r\n\r\n/cc @dchen1107 @vishh @bgrant0607 @thockin @derekwaynecarr \r\n\r\n```release-note\r\nAdds (alpha feature) the ability to dynamically configure Kubelets by enabling the DynamicKubeletConfig feature gate, posting a ConfigMap to the API server, and setting the spec.configSource field on Node objects. See the proposal in #29459 for details.\r\n```\r\n","created_at":"2017-05-22T22:43:52Z","updated_at":"2017-05-23T18:40:10Z","closed_at":null,"merged_at":null,"merge_commit_sha":"401bab0f8c89848a09f8216362fcfcd9161446fa","assignee":{"login":"thockin","id":5595220,"avatar_url":"https://avatars3.githubusercontent.com/u/5595220?v=3","gravatar_id":"","url":"https://api.github.com/users/thockin","html_url":"https://github.com/thockin","followers_url":"https://api.github.com/users/thockin/followers","following_url":"https://api.github.com/users/thockin/following{/other_user}","gists_url":"https://api.github.com/users/thockin/gists{/gist_id}","starred_url":"https://api.github.com/users/thockin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thockin/subscriptions","organizations_url":"https://api.github.com/users/thockin/orgs","repos_url":"https://api.github.com/users/thockin/repos","events_url":"https://api.github.com/users/thockin/events{/privacy}","received_events_url":"https://api.github.com/users/thockin/received_events","type":"User","site_admin":false},"assignees":[{"login":"thockin","id":5595220,"avatar_url":"https://avatars3.githubusercontent.com/u/5595220?v=3","gravatar_id":"","url":"https://api.github.com/users/thockin","html_url":"https://github.com/thockin","followers_url":"https://api.github.com/users/thockin/followers","following_url":"https://api.github.com/users/thockin/following{/other_user}","gists_url":"https://api.github.com/users/thockin/gists{/gist_id}","starred_url":"https://api.github.com/users/thockin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thockin/subscriptions","organizations_url":"https://api.github.com/users/thockin/orgs","repos_url":"https://api.github.com/users/thockin/repos","events_url":"https://api.github.com/users/thockin/events{/privacy}","received_events_url":"https://api.github.com/users/thockin/received_events","type":"User","site_admin":false},{"login":"derekwaynecarr","id":6233452,"avatar_url":"https://avatars0.githubusercontent.com/u/6233452?v=3","gravatar_id":"","url":"https://api.github.com/users/derekwaynecarr","html_url":"https://github.com/derekwaynecarr","followers_url":"https://api.github.com/users/derekwaynecarr/followers","following_url":"https://api.github.com/users/derekwaynecarr/following{/other_user}","gists_url":"https://api.github.com/users/derekwaynecarr/gists{/gist_id}","starred_url":"https://api.github.com/users/derekwaynecarr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/derekwaynecarr/subscriptions","organizations_url":"https://api.github.com/users/derekwaynecarr/orgs","repos_url":"https://api.github.com/users/derekwaynecarr/repos","events_url":"https://api.github.com/users/derekwaynecarr/events{/privacy}","received_events_url":"https://api.github.com/users/derekwaynecarr/received_events","type":"User","site_admin":false},{"login":"vishh","id":7063592,"avatar_url":"https://avatars1.githubusercontent.com/u/7063592?v=3","gravatar_id":"","url":"https://api.github.com/users/vishh","html_url":"https://github.com/vishh","followers_url":"https://api.github.com/users/vishh/followers","following_url":"https://api.github.com/users/vishh/following{/other_user}","gists_url":"https://api.github.com/users/vishh/gists{/gist_id}","starred_url":"https://api.github.com/users/vishh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vishh/subscriptions","organizations_url":"https://api.github.com/users/vishh/orgs","repos_url":"https://api.github.com/users/vishh/repos","events_url":"https://api.github.com/users/vishh/events{/privacy}","received_events_url":"https://api.github.com/users/vishh/received_events","type":"User","site_admin":false},{"login":"dchen1107","id":7740897,"avatar_url":"https://avatars1.githubusercontent.com/u/7740897?v=3","gravatar_id":"","url":"https://api.github.com/users/dchen1107","html_url":"https://github.com/dchen1107","followers_url":"https://api.github.com/users/dchen1107/followers","following_url":"https://api.github.com/users/dchen1107/following{/other_user}","gists_url":"https://api.github.com/users/dchen1107/gists{/gist_id}","starred_url":"https://api.github.com/users/dchen1107/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dchen1107/subscriptions","organizations_url":"https://api.github.com/users/dchen1107/orgs","repos_url":"https://api.github.com/users/dchen1107/repos","events_url":"https://api.github.com/users/dchen1107/events{/privacy}","received_events_url":"https://api.github.com/users/dchen1107/received_events","type":"User","site_admin":false},{"login":"wojtek-t","id":10743879,"avatar_url":"https://avatars0.githubusercontent.com/u/10743879?v=3","gravatar_id":"","url":"https://api.github.com/users/wojtek-t","html_url":"https://github.com/wojtek-t","followers_url":"https://api.github.com/users/wojtek-t/followers","following_url":"https://api.github.com/users/wojtek-t/following{/other_user}","gists_url":"https://api.github.com/users/wojtek-t/gists{/gist_id}","starred_url":"https://api.github.com/users/wojtek-t/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wojtek-t/subscriptions","organizations_url":"https://api.github.com/users/wojtek-t/orgs","repos_url":"https://api.github.com/users/wojtek-t/repos","events_url":"https://api.github.com/users/wojtek-t/events{/privacy}","received_events_url":"https://api.github.com/users/wojtek-t/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"thockin","id":5595220,"avatar_url":"https://avatars3.githubusercontent.com/u/5595220?v=3","gravatar_id":"","url":"https://api.github.com/users/thockin","html_url":"https://github.com/thockin","followers_url":"https://api.github.com/users/thockin/followers","following_url":"https://api.github.com/users/thockin/following{/other_user}","gists_url":"https://api.github.com/users/thockin/gists{/gist_id}","starred_url":"https://api.github.com/users/thockin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thockin/subscriptions","organizations_url":"https://api.github.com/users/thockin/orgs","repos_url":"https://api.github.com/users/thockin/repos","events_url":"https://api.github.com/users/thockin/events{/privacy}","received_events_url":"https://api.github.com/users/thockin/received_events","type":"User","site_admin":false},{"login":"derekwaynecarr","id":6233452,"avatar_url":"https://avatars0.githubusercontent.com/u/6233452?v=3","gravatar_id":"","url":"https://api.github.com/users/derekwaynecarr","html_url":"https://github.com/derekwaynecarr","followers_url":"https://api.github.com/users/derekwaynecarr/followers","following_url":"https://api.github.com/users/derekwaynecarr/following{/other_user}","gists_url":"https://api.github.com/users/derekwaynecarr/gists{/gist_id}","starred_url":"https://api.github.com/users/derekwaynecarr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/derekwaynecarr/subscriptions","organizations_url":"https://api.github.com/users/derekwaynecarr/orgs","repos_url":"https://api.github.com/users/derekwaynecarr/repos","events_url":"https://api.github.com/users/derekwaynecarr/events{/privacy}","received_events_url":"https://api.github.com/users/derekwaynecarr/received_events","type":"User","site_admin":false},{"login":"vishh","id":7063592,"avatar_url":"https://avatars1.githubusercontent.com/u/7063592?v=3","gravatar_id":"","url":"https://api.github.com/users/vishh","html_url":"https://github.com/vishh","followers_url":"https://api.github.com/users/vishh/followers","following_url":"https://api.github.com/users/vishh/following{/other_user}","gists_url":"https://api.github.com/users/vishh/gists{/gist_id}","starred_url":"https://api.github.com/users/vishh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vishh/subscriptions","organizations_url":"https://api.github.com/users/vishh/orgs","repos_url":"https://api.github.com/users/vishh/repos","events_url":"https://api.github.com/users/vishh/events{/privacy}","received_events_url":"https://api.github.com/users/vishh/received_events","type":"User","site_admin":false},{"login":"bgrant0607","id":7725777,"avatar_url":"https://avatars2.githubusercontent.com/u/7725777?v=3","gravatar_id":"","url":"https://api.github.com/users/bgrant0607","html_url":"https://github.com/bgrant0607","followers_url":"https://api.github.com/users/bgrant0607/followers","following_url":"https://api.github.com/users/bgrant0607/following{/other_user}","gists_url":"https://api.github.com/users/bgrant0607/gists{/gist_id}","starred_url":"https://api.github.com/users/bgrant0607/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bgrant0607/subscriptions","organizations_url":"https://api.github.com/users/bgrant0607/orgs","repos_url":"https://api.github.com/users/bgrant0607/repos","events_url":"https://api.github.com/users/bgrant0607/events{/privacy}","received_events_url":"https://api.github.com/users/bgrant0607/received_events","type":"User","site_admin":false},{"login":"dchen1107","id":7740897,"avatar_url":"https://avatars1.githubusercontent.com/u/7740897?v=3","gravatar_id":"","url":"https://api.github.com/users/dchen1107","html_url":"https://github.com/dchen1107","followers_url":"https://api.github.com/users/dchen1107/followers","following_url":"https://api.github.com/users/dchen1107/following{/other_user}","gists_url":"https://api.github.com/users/dchen1107/gists{/gist_id}","starred_url":"https://api.github.com/users/dchen1107/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dchen1107/subscriptions","organizations_url":"https://api.github.com/users/dchen1107/orgs","repos_url":"https://api.github.com/users/dchen1107/repos","events_url":"https://api.github.com/users/dchen1107/events{/privacy}","received_events_url":"https://api.github.com/users/dchen1107/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/kubernetes/kubernetes/milestones/32","html_url":"https://github.com/kubernetes/kubernetes/milestone/32","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/milestones/32/labels","id":2264750,"number":32,"title":"v1.7","description":"","creator":{"login":"pwittrock","id":7882754,"avatar_url":"https://avatars3.githubusercontent.com/u/7882754?v=3","gravatar_id":"","url":"https://api.github.com/users/pwittrock","html_url":"https://github.com/pwittrock","followers_url":"https://api.github.com/users/pwittrock/followers","following_url":"https://api.github.com/users/pwittrock/following{/other_user}","gists_url":"https://api.github.com/users/pwittrock/gists{/gist_id}","starred_url":"https://api.github.com/users/pwittrock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pwittrock/subscriptions","organizations_url":"https://api.github.com/users/pwittrock/orgs","repos_url":"https://api.github.com/users/pwittrock/repos","events_url":"https://api.github.com/users/pwittrock/events{/privacy}","received_events_url":"https://api.github.com/users/pwittrock/received_events","type":"User","site_admin":false},"open_issues":317,"closed_issues":275,"state":"open","created_at":"2017-01-19T17:41:27Z","updated_at":"2017-05-23T17:46:11Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/46254/commits","review_comments_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/46254/comments","review_comment_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/46254/comments","statuses_url":"https://api.github.com/repos/kubernetes/kubernetes/statuses/7cc3b2acb8aaecb48b690486faa391a83052553f","head":{"label":"mtaufen:dkcfg","ref":"dkcfg","sha":"7cc3b2acb8aaecb48b690486faa391a83052553f","user":{"login":"mtaufen","id":903617,"avatar_url":"https://avatars2.githubusercontent.com/u/903617?v=3","gravatar_id":"","url":"https://api.github.com/users/mtaufen","html_url":"https://github.com/mtaufen","followers_url":"https://api.github.com/users/mtaufen/followers","following_url":"https://api.github.com/users/mtaufen/following{/other_user}","gists_url":"https://api.github.com/users/mtaufen/gists{/gist_id}","starred_url":"https://api.github.com/users/mtaufen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtaufen/subscriptions","organizations_url":"https://api.github.com/users/mtaufen/orgs","repos_url":"https://api.github.com/users/mtaufen/repos","events_url":"https://api.github.com/users/mtaufen/events{/privacy}","received_events_url":"https://api.github.com/users/mtaufen/received_events","type":"User","site_admin":false},"repo":{"id":58391682,"name":"kubernetes","full_name":"mtaufen/kubernetes","owner":{"login":"mtaufen","id":903617,"avatar_url":"https://avatars2.githubusercontent.com/u/903617?v=3","gravatar_id":"","url":"https://api.github.com/users/mtaufen","html_url":"https://github.com/mtaufen","followers_url":"https://api.github.com/users/mtaufen/followers","following_url":"https://api.github.com/users/mtaufen/following{/other_user}","gists_url":"https://api.github.com/users/mtaufen/gists{/gist_id}","starred_url":"https://api.github.com/users/mtaufen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtaufen/subscriptions","organizations_url":"https://api.github.com/users/mtaufen/orgs","repos_url":"https://api.github.com/users/mtaufen/repos","events_url":"https://api.github.com/users/mtaufen/events{/privacy}","received_events_url":"https://api.github.com/users/mtaufen/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mtaufen/kubernetes","description":"Container Cluster Manager from Google","fork":true,"url":"https://api.github.com/repos/mtaufen/kubernetes","forks_url":"https://api.github.com/repos/mtaufen/kubernetes/forks","keys_url":"https://api.github.com/repos/mtaufen/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mtaufen/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mtaufen/kubernetes/teams","hooks_url":"https://api.github.com/repos/mtaufen/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/mtaufen/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/mtaufen/kubernetes/events","assignees_url":"https://api.github.com/repos/mtaufen/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/mtaufen/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/mtaufen/kubernetes/tags","blobs_url":"https://api.github.com/repos/mtaufen/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mtaufen/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mtaufen/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/mtaufen/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mtaufen/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/mtaufen/kubernetes/languages","stargazers_url":"https://api.github.com/repos/mtaufen/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/mtaufen/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/mtaufen/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/mtaufen/kubernetes/subscription","commits_url":"https://api.github.com/repos/mtaufen/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/mtaufen/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/mtaufen/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/mtaufen/kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/mtaufen/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/mtaufen/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mtaufen/kubernetes/merges","archive_url":"https://api.github.com/repos/mtaufen/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mtaufen/kubernetes/downloads","issues_url":"https://api.github.com/repos/mtaufen/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/mtaufen/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/mtaufen/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/mtaufen/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mtaufen/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/mtaufen/kubernetes/releases{/id}","deployments_url":"https://api.github.com/repos/mtaufen/kubernetes/deployments","created_at":"2016-05-09T16:30:01Z","updated_at":"2016-05-09T16:30:16Z","pushed_at":"2017-05-23T16:57:28Z","git_url":"git://github.com/mtaufen/kubernetes.git","ssh_url":"git@github.com:mtaufen/kubernetes.git","clone_url":"https://github.com/mtaufen/kubernetes.git","svn_url":"https://github.com/mtaufen/kubernetes","homepage":"http://kubernetes.io","size":430346,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"kubernetes:master","ref":"master","sha":"8e07e61a43d108353d642f49810a0c6ca071f297","user":{"login":"kubernetes","id":13629408,"avatar_url":"https://avatars1.githubusercontent.com/u/13629408?v=3","gravatar_id":"","url":"https://api.github.com/users/kubernetes","html_url":"https://github.com/kubernetes","followers_url":"https://api.github.com/users/kubernetes/followers","following_url":"https://api.github.com/users/kubernetes/following{/other_user}","gists_url":"https://api.github.com/users/kubernetes/gists{/gist_id}","starred_url":"https://api.github.com/users/kubernetes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubernetes/subscriptions","organizations_url":"https://api.github.com/users/kubernetes/orgs","repos_url":"https://api.github.com/users/kubernetes/repos","events_url":"https://api.github.com/users/kubernetes/events{/privacy}","received_events_url":"https://api.github.com/users/kubernetes/received_events","type":"Organization","site_admin":false},"repo":{"id":20580498,"name":"kubernetes","full_name":"kubernetes/kubernetes","owner":{"login":"kubernetes","id":13629408,"avatar_url":"https://avatars1.githubusercontent.com/u/13629408?v=3","gravatar_id":"","url":"https://api.github.com/users/kubernetes","html_url":"https://github.com/kubernetes","followers_url":"https://api.github.com/users/kubernetes/followers","following_url":"https://api.github.com/users/kubernetes/following{/other_user}","gists_url":"https://api.github.com/users/kubernetes/gists{/gist_id}","starred_url":"https://api.github.com/users/kubernetes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubernetes/subscriptions","organizations_url":"https://api.github.com/users/kubernetes/orgs","repos_url":"https://api.github.com/users/kubernetes/repos","events_url":"https://api.github.com/users/kubernetes/events{/privacy}","received_events_url":"https://api.github.com/users/kubernetes/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/kubernetes/kubernetes","description":"Production-Grade Container Scheduling and Management","fork":false,"url":"https://api.github.com/repos/kubernetes/kubernetes","forks_url":"https://api.github.com/repos/kubernetes/kubernetes/forks","keys_url":"https://api.github.com/repos/kubernetes/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubernetes/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubernetes/kubernetes/teams","hooks_url":"https://api.github.com/repos/kubernetes/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/kubernetes/kubernetes/events","assignees_url":"https://api.github.com/repos/kubernetes/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/kubernetes/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/kubernetes/kubernetes/tags","blobs_url":"https://api.github.com/repos/kubernetes/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubernetes/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubernetes/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubernetes/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubernetes/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/kubernetes/kubernetes/languages","stargazers_url":"https://api.github.com/repos/kubernetes/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/kubernetes/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/kubernetes/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/kubernetes/kubernetes/subscription","commits_url":"https://api.github.com/repos/kubernetes/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubernetes/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubernetes/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/kubernetes/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubernetes/kubernetes/merges","archive_url":"https://api.github.com/repos/kubernetes/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubernetes/kubernetes/downloads","issues_url":"https://api.github.com/repos/kubernetes/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/kubernetes/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/kubernetes/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/kubernetes/kubernetes/releases{/id}","deployments_url":"https://api.github.com/repos/kubernetes/kubernetes/deployments","created_at":"2014-06-06T22:56:04Z","updated_at":"2017-05-23T17:56:43Z","pushed_at":"2017-05-23T18:24:37Z","git_url":"git://github.com/kubernetes/kubernetes.git","ssh_url":"git@github.com:kubernetes/kubernetes.git","clone_url":"https://github.com/kubernetes/kubernetes.git","svn_url":"https://github.com/kubernetes/kubernetes","homepage":"http://kubernetes.io","size":650642,"stargazers_count":23423,"watchers_count":23423,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":8246,"mirror_url":null,"open_issues_count":5553,"forks":8246,"open_issues":5553,"watchers":23423,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/46254"},"html":{"href":"https://github.com/kubernetes/kubernetes/pull/46254"},"issue":{"href":"https://api.github.com/repos/kubernetes/kubernetes/issues/46254"},"comments":{"href":"https://api.github.com/repos/kubernetes/kubernetes/issues/46254/comments"},"review_comments":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/46254/comments"},"review_comment":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/46254/commits"},"statuses":{"href":"https://api.github.com/repos/kubernetes/kubernetes/statuses/7cc3b2acb8aaecb48b690486faa391a83052553f"}}}}
{"actor":{"display_login":"mtaufen"}}