{"action":"created","issue":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/5665","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/5665/labels{/name}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/5665/comments","events_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/5665/events","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/issues/5665","id":63086966,"number":5665,"title":"Design CloudProvider reconciler/controller","user":{"login":"alex-mohr","id":8729097,"avatar_url":"https://avatars.githubusercontent.com/u/8729097?v=3","gravatar_id":"","url":"https://api.github.com/users/alex-mohr","html_url":"https://github.com/alex-mohr","followers_url":"https://api.github.com/users/alex-mohr/followers","following_url":"https://api.github.com/users/alex-mohr/following{/other_user}","gists_url":"https://api.github.com/users/alex-mohr/gists{/gist_id}","starred_url":"https://api.github.com/users/alex-mohr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alex-mohr/subscriptions","organizations_url":"https://api.github.com/users/alex-mohr/orgs","repos_url":"https://api.github.com/users/alex-mohr/repos","events_url":"https://api.github.com/users/alex-mohr/events{/privacy}","received_events_url":"https://api.github.com/users/alex-mohr/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels/api/cloudprovider","name":"api/cloudprovider","color":"f1fd21"},{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels/priority/P2","name":"priority/P2","color":"fbca04"},{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels/team/cluster-lifecycle","name":"team/cluster-lifecycle","color":"d2b48c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-03-19T20:41:20Z","updated_at":"2015-03-23T22:45:44Z","closed_at":null,"body":"A number of resources in Kubernetes need to be synced with the cloud provider -- disks, VMs, load balancers.  See e.g. https://github.com/GoogleCloudPlatform/kubernetes/issues/5180\r\n\r\nOptions are:\r\n- Each XController has a big switch statement and calls out to the appropriate provider when a matching resource needs create/delete/update.  For Nodes (VMs), LoadBalancers, firewalls, etc.\r\n- There's a CloudProviderGCEController that's responsible for observing current state of project and updating it to match desired.  Individual within-cluster controllers only concern themselves with intra-cluster changes."},"comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/comments/85236253","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/issues/5665#issuecomment-85236253","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/5665","id":85236253,"user":{"login":"brendandburns","id":5751682,"avatar_url":"https://avatars.githubusercontent.com/u/5751682?v=3","gravatar_id":"","url":"https://api.github.com/users/brendandburns","html_url":"https://github.com/brendandburns","followers_url":"https://api.github.com/users/brendandburns/followers","following_url":"https://api.github.com/users/brendandburns/following{/other_user}","gists_url":"https://api.github.com/users/brendandburns/gists{/gist_id}","starred_url":"https://api.github.com/users/brendandburns/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brendandburns/subscriptions","organizations_url":"https://api.github.com/users/brendandburns/orgs","repos_url":"https://api.github.com/users/brendandburns/repos","events_url":"https://api.github.com/users/brendandburns/events{/privacy}","received_events_url":"https://api.github.com/users/brendandburns/received_events","type":"User","site_admin":false},"created_at":"2015-03-23T22:45:44Z","updated_at":"2015-03-23T22:45:44Z","body":"I don't think that this makes the v1.0 list."}}