{"action":"created","comment":{"url":"https://api.github.com/repos/kubernetes/enhancements/pulls/comments/302803849","pull_request_review_id":261030338,"id":302803849,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMwMjgwMzg0OQ==","diff_hunk":"@@ -0,0 +1,103 @@\n+---\n+title: StatefulSet Volume Expansion\n+authors:\n+  - \"@sidakm\"\n+owning-sig: sig-apps\n+participating-sigs:\n+  - sig-storage\n+reviewers:\n+  - \"@janetkuo\"\n+  - \"@gnufied\"\n+approvers:\n+  - \"@kow3ns\" \n+editor: TBD\n+creation-date: 2018-12-20\n+last-updated: 2019-06-26\n+status: provisional\n+see-also:\n+  - https://github.com/kubernetes/enhancements/issues/531\n+  - https://github.com/kubernetes/enhancements/pull/737\n+  - https://github.com/kubernetes/enhancements/issues/284\n+replaces:\n+  - n/a\n+superseded-by:\n+  - n/a\n+---\n+\n+# StatefulSet Volume Expansion\n+\n+## Table of Contents\n+\n+* [Table of Contents](#table-of-contents)\n+* [Summary](#summary)\n+* [Motivation](#motivation)\n+    * [Goals](#goals)\n+* [Proposal](#proposal)\n+    * [Implementation Details/Notes/Constraints](#implementation-detailsnotesconstraints)\n+    * [Risks and Mitigations](#risks-and-mitigations)\n+* [Graduation Criteria](#graduation-criteria)\n+* [Implementation History](#implementation-history)\n+\n+[Tools for generating]: https://github.com/ekalinin/github-markdown-toc\n+\n+## Summary\n+\n+The purpose of this enhancement is to allow for the expansion of persistent volume claims created by StatefulSets. This entails propagating increases to storage requests in `StatefulSets.volumeClaimTemplates` to associated persistent volume claims.\n+\n+## Motivation\n+In Kubernetes v1.11 the persistent volume expansion feature was promoted to beta. This allowed users to expand volumes by editing storage requests in persistent volume claim objects.\n+\n+Kubernetes creates a persistent volume for each `volumeClaimTemplate` in the `volumeClaimTemplates` component of a StatefulSet. However, it is not possible to expand persistent volumes, created by StatefulSets, by editing the source `volumeClaimTemplate` in the StatefulSet object. Therefore, it is necessary for the user to individually modify all pods' persistent volume claims, by increasing their storage requests, to expand the underlying persistent volumes. This would have to be repeated each time the number of replicas in the StatefulSet object is increased, since new persistent volumes would be created with the original storage request specified in `volumeClaimTemplates` component.\n+\n+It would be easier and expected to allow for changes to storage requests in the `volumeClaimTemplates` component of a StatefulSet to propagate to all associated persistent volume claims.\n+\n+Relevant Issues:\n+\n+* https://github.com/kubernetes/kubernetes/issues/71477\n+* https://github.com/kubernetes/kubernetes/issues/72198\n+\n+### Goals\n+\n+Allow for increases to storage requests in the `volumeClaimTemplates` component of a StatefulSet to propagate to all associated persistent volume claims.\n+\n+## Proposal\n+\n+### Implementation Details/Notes/Constraints\n+\n+The apiserver will allow for increases to storage requests in the `volumeClaimTemplates` component of a StatefulSet. Additionally, for each volumeClaimTemplate being expanded, it will be necessary to check if its associated StorageClass has volume expansion enabled. This will be achieved by using an admission controller to check if the associated StorageClasses have `allowVolumeExpansion = true`.\n+\n+During the StatefulSet update process, the StatefulSet controller will detect an update to a `volumeClaimTemplate` by comparing the updated and current revision of the StatefulSet. This requires the `VolumeClaimTemplates` component of the StatefulSet to be recorded in the StatefulSet's `ControllerRevision` object. \n+\n+While updating a pod, the StatefulSet controller will update a referenced persistent volume claim object if its storage request in the associated `volumeClaimTemplate` has been increased.\n+\n+Not all volumes support online control-plane expansion so this design aims to support both online and offline control-plane volume expansion as follows.\n+\n+Prerequisite: The StatefulSet controller must be able to determine if a volume supports online expansion.\n+\n+To accomplish this a new method `RequiresOfflineResize` will be added to the `ExpandableVolumePlugin` interface. Through this it will possible to determine which in-tree volume plugins support online expansion. \n+\n+For volumes provisioned through the CSI, an optional boolean field `SupportsOnlineExpansion` will be added into the `CSIDriverSpec` field of the `CSIDriver` object. The `CSIDriver` object stores information about a CSI volume driver deployed on the cluster. If the `CSIDriver` object or the `SupportsOnlineExpansion` field is not registered for a particular volume provisioned through the CSI, the statefulset controller will assume the volume does not support online expansion. Adding this functionality mandates an API change for the mentioned objects.","path":"keps/sig-apps/20181220-statefulset-volume-expansion.md","position":79,"original_position":79,"commit_id":"bed8634f8ef4036e62fa900f4da7a1e72e40679e","original_commit_id":"bed8634f8ef4036e62fa900f4da7a1e72e40679e","user":{"login":"SidakM","id":22581128,"node_id":"MDQ6VXNlcjIyNTgxMTI4","avatar_url":"https://avatars2.githubusercontent.com/u/22581128?v=4","gravatar_id":"","url":"https://api.github.com/users/SidakM","html_url":"https://github.com/SidakM","followers_url":"https://api.github.com/users/SidakM/followers","following_url":"https://api.github.com/users/SidakM/following{/other_user}","gists_url":"https://api.github.com/users/SidakM/gists{/gist_id}","starred_url":"https://api.github.com/users/SidakM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SidakM/subscriptions","organizations_url":"https://api.github.com/users/SidakM/orgs","repos_url":"https://api.github.com/users/SidakM/repos","events_url":"https://api.github.com/users/SidakM/events{/privacy}","received_events_url":"https://api.github.com/users/SidakM/received_events","type":"User","site_admin":false},"body":"We have considered a couple other alternatives in this [google doc](https://docs.google.com/document/d/18ltkK6VtoHxwA3qcurU2k0rhoowBEpLVqQkZYdiNKz4/edit?usp=sharing). \r\n\r\nSummary:\r\n\r\nThe primary alternative was expanding all pvcs offline right after the pod is terminated (regardless of whether they support online expansion). \r\n\r\nA workaround was expanding PVCs online if possible, otherwise just continuing with the update and terminating the pod while expecting user to expand the pvc themselves after which the pod would be recreated. (adding an event etc). \r\n\r\nThe reason we would like to expand the PVCs online is so if a user sees that the replicas in a statefulset are running out of space it should be possible for the user to just expand those volumes without without having each pod be offline during the duration of the volume expansion(which could take a while).  At the same time we would not like to abandon the offline only expansion case thus the strategy in the kep seemed optimal. ","created_at":"2019-07-12T02:07:06Z","updated_at":"2019-07-12T02:07:06Z","html_url":"https://github.com/kubernetes/enhancements/pull/660#discussion_r302803849","pull_request_url":"https://api.github.com/repos/kubernetes/enhancements/pulls/660","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/kubernetes/enhancements/pulls/comments/302803849"},"html":{"href":"https://github.com/kubernetes/enhancements/pull/660#discussion_r302803849"},"pull_request":{"href":"https://api.github.com/repos/kubernetes/enhancements/pulls/660"}},"in_reply_to_id":302581265},"pull_request":{"url":"https://api.github.com/repos/kubernetes/enhancements/pulls/660","id":240362017,"node_id":"MDExOlB1bGxSZXF1ZXN0MjQwMzYyMDE3","html_url":"https://github.com/kubernetes/enhancements/pull/660","diff_url":"https://github.com/kubernetes/enhancements/pull/660.diff","patch_url":"https://github.com/kubernetes/enhancements/pull/660.patch","issue_url":"https://api.github.com/repos/kubernetes/enhancements/issues/660","number":660,"state":"open","locked":false,"title":"Add StatefulSet Volume Expansion Kep","user":{"login":"SidakM","id":22581128,"node_id":"MDQ6VXNlcjIyNTgxMTI4","avatar_url":"https://avatars2.githubusercontent.com/u/22581128?v=4","gravatar_id":"","url":"https://api.github.com/users/SidakM","html_url":"https://github.com/SidakM","followers_url":"https://api.github.com/users/SidakM/followers","following_url":"https://api.github.com/users/SidakM/following{/other_user}","gists_url":"https://api.github.com/users/SidakM/gists{/gist_id}","starred_url":"https://api.github.com/users/SidakM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SidakM/subscriptions","organizations_url":"https://api.github.com/users/SidakM/orgs","repos_url":"https://api.github.com/users/SidakM/repos","events_url":"https://api.github.com/users/SidakM/events{/privacy}","received_events_url":"https://api.github.com/users/SidakM/received_events","type":"User","site_admin":false},"body":"Add Kep for StatefulSet Volume Expansion.\r\nWrote this up quickly after the discussion here: \r\nhttps://github.com/kubernetes/kubernetes/pull/71384\r\n\r\nFeature tracking issue: https://github.com/kubernetes/enhancements/issues/661\r\n\r\nLet me know if something is missing or if this is the right way to merge this :thinking: ","created_at":"2018-12-21T03:21:32Z","updated_at":"2019-07-12T02:07:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1988dd6aea421d1d57479dc464527b5747e2c46f","assignee":{"login":"gnufied","id":278,"node_id":"MDQ6VXNlcjI3OA==","avatar_url":"https://avatars0.githubusercontent.com/u/278?v=4","gravatar_id":"","url":"https://api.github.com/users/gnufied","html_url":"https://github.com/gnufied","followers_url":"https://api.github.com/users/gnufied/followers","following_url":"https://api.github.com/users/gnufied/following{/other_user}","gists_url":"https://api.github.com/users/gnufied/gists{/gist_id}","starred_url":"https://api.github.com/users/gnufied/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gnufied/subscriptions","organizations_url":"https://api.github.com/users/gnufied/orgs","repos_url":"https://api.github.com/users/gnufied/repos","events_url":"https://api.github.com/users/gnufied/events{/privacy}","received_events_url":"https://api.github.com/users/gnufied/received_events","type":"User","site_admin":false},"assignees":[{"login":"gnufied","id":278,"node_id":"MDQ6VXNlcjI3OA==","avatar_url":"https://avatars0.githubusercontent.com/u/278?v=4","gravatar_id":"","url":"https://api.github.com/users/gnufied","html_url":"https://github.com/gnufied","followers_url":"https://api.github.com/users/gnufied/followers","following_url":"https://api.github.com/users/gnufied/following{/other_user}","gists_url":"https://api.github.com/users/gnufied/gists{/gist_id}","starred_url":"https://api.github.com/users/gnufied/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gnufied/subscriptions","organizations_url":"https://api.github.com/users/gnufied/orgs","repos_url":"https://api.github.com/users/gnufied/repos","events_url":"https://api.github.com/users/gnufied/events{/privacy}","received_events_url":"https://api.github.com/users/gnufied/received_events","type":"User","site_admin":false},{"login":"janetkuo","id":4876867,"node_id":"MDQ6VXNlcjQ4NzY4Njc=","avatar_url":"https://avatars1.githubusercontent.com/u/4876867?v=4","gravatar_id":"","url":"https://api.github.com/users/janetkuo","html_url":"https://github.com/janetkuo","followers_url":"https://api.github.com/users/janetkuo/followers","following_url":"https://api.github.com/users/janetkuo/following{/other_user}","gists_url":"https://api.github.com/users/janetkuo/gists{/gist_id}","starred_url":"https://api.github.com/users/janetkuo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janetkuo/subscriptions","organizations_url":"https://api.github.com/users/janetkuo/orgs","repos_url":"https://api.github.com/users/janetkuo/repos","events_url":"https://api.github.com/users/janetkuo/events{/privacy}","received_events_url":"https://api.github.com/users/janetkuo/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"calebamiles","id":848394,"node_id":"MDQ6VXNlcjg0ODM5NA==","avatar_url":"https://avatars3.githubusercontent.com/u/848394?v=4","gravatar_id":"","url":"https://api.github.com/users/calebamiles","html_url":"https://github.com/calebamiles","followers_url":"https://api.github.com/users/calebamiles/followers","following_url":"https://api.github.com/users/calebamiles/following{/other_user}","gists_url":"https://api.github.com/users/calebamiles/gists{/gist_id}","starred_url":"https://api.github.com/users/calebamiles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/calebamiles/subscriptions","organizations_url":"https://api.github.com/users/calebamiles/orgs","repos_url":"https://api.github.com/users/calebamiles/repos","events_url":"https://api.github.com/users/calebamiles/events{/privacy}","received_events_url":"https://api.github.com/users/calebamiles/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":764255906,"node_id":"MDU6TGFiZWw3NjQyNTU5MDY=","url":"https://api.github.com/repos/kubernetes/enhancements/labels/approved","name":"approved","color":"0ffa16","default":false},{"id":495183842,"node_id":"MDU6TGFiZWw0OTUxODM4NDI=","url":"https://api.github.com/repos/kubernetes/enhancements/labels/cncf-cla:%20yes","name":"cncf-cla: yes","color":"bfe5bf","default":false},{"id":764253288,"node_id":"MDU6TGFiZWw3NjQyNTMyODg=","url":"https://api.github.com/repos/kubernetes/enhancements/labels/do-not-merge/hold","name":"do-not-merge/hold","color":"e11d21","default":false},{"id":861943380,"node_id":"MDU6TGFiZWw4NjE5NDMzODA=","url":"https://api.github.com/repos/kubernetes/enhancements/labels/kind/api-change","name":"kind/api-change","color":"e11d21","default":false},{"id":627979438,"node_id":"MDU6TGFiZWw2Mjc5Nzk0Mzg=","url":"https://api.github.com/repos/kubernetes/enhancements/labels/kind/feature","name":"kind/feature","color":"c7def8","default":false},{"id":1076074044,"node_id":"MDU6TGFiZWwxMDc2MDc0MDQ0","url":"https://api.github.com/repos/kubernetes/enhancements/labels/kind/kep","name":"kind/kep","color":"cc99ff","default":false},{"id":413888017,"node_id":"MDU6TGFiZWw0MTM4ODgwMTc=","url":"https://api.github.com/repos/kubernetes/enhancements/labels/sig/apps","name":"sig/apps","color":"d2b48c","default":false},{"id":413889319,"node_id":"MDU6TGFiZWw0MTM4ODkzMTk=","url":"https://api.github.com/repos/kubernetes/enhancements/labels/sig/storage","name":"sig/storage","color":"d2b48c","default":false},{"id":703797390,"node_id":"MDU6TGFiZWw3MDM3OTczOTA=","url":"https://api.github.com/repos/kubernetes/enhancements/labels/size/L","name":"size/L","color":"ee9900","default":false},{"id":1049623787,"node_id":"MDU6TGFiZWwxMDQ5NjIzNzg3","url":"https://api.github.com/repos/kubernetes/enhancements/labels/tide/merge-method-squash","name":"tide/merge-method-squash","color":"ffaa00","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/kubernetes/enhancements/pulls/660/commits","review_comments_url":"https://api.github.com/repos/kubernetes/enhancements/pulls/660/comments","review_comment_url":"https://api.github.com/repos/kubernetes/enhancements/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubernetes/enhancements/issues/660/comments","statuses_url":"https://api.github.com/repos/kubernetes/enhancements/statuses/bed8634f8ef4036e62fa900f4da7a1e72e40679e","head":{"label":"SidakM:statefulset-volume-expansion-kep","ref":"statefulset-volume-expansion-kep","sha":"bed8634f8ef4036e62fa900f4da7a1e72e40679e","user":{"login":"SidakM","id":22581128,"node_id":"MDQ6VXNlcjIyNTgxMTI4","avatar_url":"https://avatars2.githubusercontent.com/u/22581128?v=4","gravatar_id":"","url":"https://api.github.com/users/SidakM","html_url":"https://github.com/SidakM","followers_url":"https://api.github.com/users/SidakM/followers","following_url":"https://api.github.com/users/SidakM/following{/other_user}","gists_url":"https://api.github.com/users/SidakM/gists{/gist_id}","starred_url":"https://api.github.com/users/SidakM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SidakM/subscriptions","organizations_url":"https://api.github.com/users/SidakM/orgs","repos_url":"https://api.github.com/users/SidakM/repos","events_url":"https://api.github.com/users/SidakM/events{/privacy}","received_events_url":"https://api.github.com/users/SidakM/received_events","type":"User","site_admin":false},"repo":{"id":162656437,"node_id":"MDEwOlJlcG9zaXRvcnkxNjI2NTY0Mzc=","name":"enhancements","full_name":"SidakM/enhancements","private":false,"owner":{"login":"SidakM","id":22581128,"node_id":"MDQ6VXNlcjIyNTgxMTI4","avatar_url":"https://avatars2.githubusercontent.com/u/22581128?v=4","gravatar_id":"","url":"https://api.github.com/users/SidakM","html_url":"https://github.com/SidakM","followers_url":"https://api.github.com/users/SidakM/followers","following_url":"https://api.github.com/users/SidakM/following{/other_user}","gists_url":"https://api.github.com/users/SidakM/gists{/gist_id}","starred_url":"https://api.github.com/users/SidakM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SidakM/subscriptions","organizations_url":"https://api.github.com/users/SidakM/orgs","repos_url":"https://api.github.com/users/SidakM/repos","events_url":"https://api.github.com/users/SidakM/events{/privacy}","received_events_url":"https://api.github.com/users/SidakM/received_events","type":"User","site_admin":false},"html_url":"https://github.com/SidakM/enhancements","description":"Features tracking repo for Kubernetes releases","fork":true,"url":"https://api.github.com/repos/SidakM/enhancements","forks_url":"https://api.github.com/repos/SidakM/enhancements/forks","keys_url":"https://api.github.com/repos/SidakM/enhancements/keys{/key_id}","collaborators_url":"https://api.github.com/repos/SidakM/enhancements/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/SidakM/enhancements/teams","hooks_url":"https://api.github.com/repos/SidakM/enhancements/hooks","issue_events_url":"https://api.github.com/repos/SidakM/enhancements/issues/events{/number}","events_url":"https://api.github.com/repos/SidakM/enhancements/events","assignees_url":"https://api.github.com/repos/SidakM/enhancements/assignees{/user}","branches_url":"https://api.github.com/repos/SidakM/enhancements/branches{/branch}","tags_url":"https://api.github.com/repos/SidakM/enhancements/tags","blobs_url":"https://api.github.com/repos/SidakM/enhancements/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/SidakM/enhancements/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/SidakM/enhancements/git/refs{/sha}","trees_url":"https://api.github.com/repos/SidakM/enhancements/git/trees{/sha}","statuses_url":"https://api.github.com/repos/SidakM/enhancements/statuses/{sha}","languages_url":"https://api.github.com/repos/SidakM/enhancements/languages","stargazers_url":"https://api.github.com/repos/SidakM/enhancements/stargazers","contributors_url":"https://api.github.com/repos/SidakM/enhancements/contributors","subscribers_url":"https://api.github.com/repos/SidakM/enhancements/subscribers","subscription_url":"https://api.github.com/repos/SidakM/enhancements/subscription","commits_url":"https://api.github.com/repos/SidakM/enhancements/commits{/sha}","git_commits_url":"https://api.github.com/repos/SidakM/enhancements/git/commits{/sha}","comments_url":"https://api.github.com/repos/SidakM/enhancements/comments{/number}","issue_comment_url":"https://api.github.com/repos/SidakM/enhancements/issues/comments{/number}","contents_url":"https://api.github.com/repos/SidakM/enhancements/contents/{+path}","compare_url":"https://api.github.com/repos/SidakM/enhancements/compare/{base}...{head}","merges_url":"https://api.github.com/repos/SidakM/enhancements/merges","archive_url":"https://api.github.com/repos/SidakM/enhancements/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/SidakM/enhancements/downloads","issues_url":"https://api.github.com/repos/SidakM/enhancements/issues{/number}","pulls_url":"https://api.github.com/repos/SidakM/enhancements/pulls{/number}","milestones_url":"https://api.github.com/repos/SidakM/enhancements/milestones{/number}","notifications_url":"https://api.github.com/repos/SidakM/enhancements/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/SidakM/enhancements/labels{/name}","releases_url":"https://api.github.com/repos/SidakM/enhancements/releases{/id}","deployments_url":"https://api.github.com/repos/SidakM/enhancements/deployments","created_at":"2018-12-21T02:41:16Z","updated_at":"2018-12-21T02:41:18Z","pushed_at":"2019-06-27T03:54:51Z","git_url":"git://github.com/SidakM/enhancements.git","ssh_url":"git@github.com:SidakM/enhancements.git","clone_url":"https://github.com/SidakM/enhancements.git","svn_url":"https://github.com/SidakM/enhancements","homepage":"","size":3639,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":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":"kubernetes:master","ref":"master","sha":"0e8c1573546dcbd34d74e9d6365b40506ab64c9e","user":{"login":"kubernetes","id":13629408,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzNjI5NDA4","avatar_url":"https://avatars2.githubusercontent.com/u/13629408?v=4","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":57912964,"node_id":"MDEwOlJlcG9zaXRvcnk1NzkxMjk2NA==","name":"enhancements","full_name":"kubernetes/enhancements","private":false,"owner":{"login":"kubernetes","id":13629408,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzNjI5NDA4","avatar_url":"https://avatars2.githubusercontent.com/u/13629408?v=4","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},"html_url":"https://github.com/kubernetes/enhancements","description":"Features tracking repo for Kubernetes releases","fork":false,"url":"https://api.github.com/repos/kubernetes/enhancements","forks_url":"https://api.github.com/repos/kubernetes/enhancements/forks","keys_url":"https://api.github.com/repos/kubernetes/enhancements/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubernetes/enhancements/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubernetes/enhancements/teams","hooks_url":"https://api.github.com/repos/kubernetes/enhancements/hooks","issue_events_url":"https://api.github.com/repos/kubernetes/enhancements/issues/events{/number}","events_url":"https://api.github.com/repos/kubernetes/enhancements/events","assignees_url":"https://api.github.com/repos/kubernetes/enhancements/assignees{/user}","branches_url":"https://api.github.com/repos/kubernetes/enhancements/branches{/branch}","tags_url":"https://api.github.com/repos/kubernetes/enhancements/tags","blobs_url":"https://api.github.com/repos/kubernetes/enhancements/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubernetes/enhancements/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubernetes/enhancements/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubernetes/enhancements/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubernetes/enhancements/statuses/{sha}","languages_url":"https://api.github.com/repos/kubernetes/enhancements/languages","stargazers_url":"https://api.github.com/repos/kubernetes/enhancements/stargazers","contributors_url":"https://api.github.com/repos/kubernetes/enhancements/contributors","subscribers_url":"https://api.github.com/repos/kubernetes/enhancements/subscribers","subscription_url":"https://api.github.com/repos/kubernetes/enhancements/subscription","commits_url":"https://api.github.com/repos/kubernetes/enhancements/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubernetes/enhancements/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubernetes/enhancements/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubernetes/enhancements/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubernetes/enhancements/contents/{+path}","compare_url":"https://api.github.com/repos/kubernetes/enhancements/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubernetes/enhancements/merges","archive_url":"https://api.github.com/repos/kubernetes/enhancements/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubernetes/enhancements/downloads","issues_url":"https://api.github.com/repos/kubernetes/enhancements/issues{/number}","pulls_url":"https://api.github.com/repos/kubernetes/enhancements/pulls{/number}","milestones_url":"https://api.github.com/repos/kubernetes/enhancements/milestones{/number}","notifications_url":"https://api.github.com/repos/kubernetes/enhancements/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubernetes/enhancements/labels{/name}","releases_url":"https://api.github.com/repos/kubernetes/enhancements/releases{/id}","deployments_url":"https://api.github.com/repos/kubernetes/enhancements/deployments","created_at":"2016-05-02T18:51:30Z","updated_at":"2019-07-11T18:23:31Z","pushed_at":"2019-07-11T21:46:48Z","git_url":"git://github.com/kubernetes/enhancements.git","ssh_url":"git@github.com:kubernetes/enhancements.git","clone_url":"https://github.com/kubernetes/enhancements.git","svn_url":"https://github.com/kubernetes/enhancements","homepage":"","size":6903,"stargazers_count":710,"watchers_count":710,"language":"Shell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":404,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":239,"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":404,"open_issues":239,"watchers":710,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubernetes/enhancements/pulls/660"},"html":{"href":"https://github.com/kubernetes/enhancements/pull/660"},"issue":{"href":"https://api.github.com/repos/kubernetes/enhancements/issues/660"},"comments":{"href":"https://api.github.com/repos/kubernetes/enhancements/issues/660/comments"},"review_comments":{"href":"https://api.github.com/repos/kubernetes/enhancements/pulls/660/comments"},"review_comment":{"href":"https://api.github.com/repos/kubernetes/enhancements/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubernetes/enhancements/pulls/660/commits"},"statuses":{"href":"https://api.github.com/repos/kubernetes/enhancements/statuses/bed8634f8ef4036e62fa900f4da7a1e72e40679e"}},"author_association":"NONE"}}
{"actor":{"display_login":"SidakM"}}