{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/25562","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/25562/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/25562/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/25562/events","html_url":"https://github.com/kubernetes/kubernetes/pull/25562","id":154640772,"number":25562,"title":"TLS bootstrap API group (alpha)","user":{"login":"gtank","id":622063,"avatar_url":"https://avatars.githubusercontent.com/u/622063?v=3","gravatar_id":"","url":"https://api.github.com/users/gtank","html_url":"https://github.com/gtank","followers_url":"https://api.github.com/users/gtank/followers","following_url":"https://api.github.com/users/gtank/following{/other_user}","gists_url":"https://api.github.com/users/gtank/gists{/gist_id}","starred_url":"https://api.github.com/users/gtank/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gtank/subscriptions","organizations_url":"https://api.github.com/users/gtank/orgs","repos_url":"https://api.github.com/users/gtank/repos","events_url":"https://api.github.com/users/gtank/events{/privacy}","received_events_url":"https://api.github.com/users/gtank/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cla:%20yes","name":"cla: yes","color":"bfe5bf"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/kind/api-change","name":"kind/api-change","color":"c7def8"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/kind/new-api","name":"kind/new-api","color":"c7def8"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/kind/old-docs","name":"kind/old-docs","color":"c7def8"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/ok-to-merge","name":"ok-to-merge","color":"fbca04"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note-experimental","name":"release-note-experimental","color":"c2e0c6"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note-label-needed","name":"release-note-label-needed","color":"db5a64"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/XXL","name":"size/XXL","color":"ee0000"}],"state":"open","locked":false,"assignee":{"login":"mikedanese","id":1787169,"avatar_url":"https://avatars.githubusercontent.com/u/1787169?v=3","gravatar_id":"","url":"https://api.github.com/users/mikedanese","html_url":"https://github.com/mikedanese","followers_url":"https://api.github.com/users/mikedanese/followers","following_url":"https://api.github.com/users/mikedanese/following{/other_user}","gists_url":"https://api.github.com/users/mikedanese/gists{/gist_id}","starred_url":"https://api.github.com/users/mikedanese/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikedanese/subscriptions","organizations_url":"https://api.github.com/users/mikedanese/orgs","repos_url":"https://api.github.com/users/mikedanese/repos","events_url":"https://api.github.com/users/mikedanese/events{/privacy}","received_events_url":"https://api.github.com/users/mikedanese/received_events","type":"User","site_admin":false},"milestone":null,"comments":6,"created_at":"2016-05-13T06:11:17Z","updated_at":"2016-05-13T23:34:14Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/25562","html_url":"https://github.com/kubernetes/kubernetes/pull/25562","diff_url":"https://github.com/kubernetes/kubernetes/pull/25562.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/25562.patch"},"body":"This PR only covers the new types and related client/storage code- the vast majority of the line count is codegen. The implementation differs slightly from the current proposal document based on discussions in design thread (#20439). The controller logic and kubelet support mentioned in the proposal are forthcoming in separate requests.\r\n\r\nI submit that #18762 (\"Creating a new API group is really hard\") is, if anything, understating it. I've tried to structure the commits to illustrate the process.\r\n\r\n@mikedanese @erictune @smarterclayton @deads2k\r\n\r\n```release-note-experimental\r\nAn alpha implementation of the the TLS bootstrap API described in docs/proposals/kubelet-tls-bootstrap.md.\r\n```\r\n\r\n[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/219183562","html_url":"https://github.com/kubernetes/kubernetes/pull/25562#issuecomment-219183562","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/25562","id":219183562,"user":{"login":"mikedanese","id":1787169,"avatar_url":"https://avatars.githubusercontent.com/u/1787169?v=3","gravatar_id":"","url":"https://api.github.com/users/mikedanese","html_url":"https://github.com/mikedanese","followers_url":"https://api.github.com/users/mikedanese/followers","following_url":"https://api.github.com/users/mikedanese/following{/other_user}","gists_url":"https://api.github.com/users/mikedanese/gists{/gist_id}","starred_url":"https://api.github.com/users/mikedanese/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikedanese/subscriptions","organizations_url":"https://api.github.com/users/mikedanese/orgs","repos_url":"https://api.github.com/users/mikedanese/repos","events_url":"https://api.github.com/users/mikedanese/events{/privacy}","received_events_url":"https://api.github.com/users/mikedanese/received_events","type":"User","site_admin":false},"created_at":"2016-05-13T23:34:14Z","updated_at":"2016-05-13T23:34:14Z","body":"```\r\n--2016-05-13 16:12:14--  https://raw.githubusercontent.com/kubernetes/kubernetes/master/pkg/apis/certificates/v1alpha1/register.go\r\nResolving raw.githubusercontent.com (raw.githubusercontent.com)... 23.235.44.133\r\nConnecting to raw.githubusercontent.com (raw.githubusercontent.com)|23.235.44.133|:443... connected.\r\nHTTP request sent, awaiting response... 404 Not Found\r\n2016-05-13 16:12:14 ERROR 404: Not Found.\r\n\r\n--2016-05-13 16:12:14--  https://raw.githubusercontent.com/kubernetes/kubernetes/master/pkg/apis/certificates/v1alpha1/register.go\r\nResolving raw.githubusercontent.com (raw.githubusercontent.com)... 23.235.44.133\r\nConnecting to raw.githubusercontent.com (raw.githubusercontent.com)|23.235.44.133|:443... connected.\r\nHTTP request sent, awaiting response... 404 Not Found\r\n2016-05-13 16:12:14 ERROR 404: Not Found.\r\n\r\n--2016-05-13 16:12:14--  https://raw.githubusercontent.com/kubernetes/kubernetes/master/pkg/apis/certificates/v1alpha1/register.go\r\nResolving raw.githubusercontent.com (raw.githubusercontent.com)... 23.235.44.133\r\nConnecting to raw.githubusercontent.com (raw.githubusercontent.com)|23.235.44.133|:443... connected.\r\nHTTP request sent, awaiting response... 404 Not Found\r\n2016-05-13 16:12:14 ERROR 404: Not Found.\r\n\r\n!!! Error in ./hack/update-api-reference-docs.sh:71\r\n  'docker run ${user_flags} --rm -v \"${TMP_IN_HOST}\":/output:z -v \"${SWAGGER_PATH}\":/swagger-source:z gcr.io/google_containers/gen-swagger-docs:v5 \"${SWAGGER_JSON_NAME}\" \"${REGISTER_FILE_URL}\"' exited with status 1\r\nCall stack:\r\n  1: ./hack/update-api-reference-docs.sh:71 main(...)\r\nExiting with status 1\r\n!!! Error in ./hack/../hack/verify-api-reference-docs.sh:34\r\n  '\"./hack/update-api-reference-docs.sh\" \"${OUTPUT_DIR}\"' exited with status 1\r\nCall stack:\r\n  1: ./hack/../hack/verify-api-reference-docs.sh:34 main(...)\r\nExiting with status 1\r\nFAILED   ./hack/../hack/verify-api-reference-docs.sh\t32s\r\n```"}}