{"action":"created","comment":{"url":"https://api.github.com/repos/heptio/ark/pulls/comments/139329779","pull_request_review_id":63246428,"id":139329779,"diff_hunk":"@@ -125,13 +126,21 @@ func (s *server) run() error {\n \t\treturn err\n \t}\n \n-\tconfig, err := s.loadConfig()\n+\toriginalConfig, err := s.loadConfig()\n \tif err != nil {\n \t\treturn err\n \t}\n+\n+\t// watchConfig needs to examine the unmodified original config, so we keep that around as a\n+\t// separate object, and instead apply defaults to a clone.\n+\tcopy, err := scheme.Scheme.DeepCopy(originalConfig)\n+\tif err != nil {\n+\t\treturn err\n+\t}\n+\tconfig := copy.(*api.Config)\n \tapplyConfigDefaults(config)\n \n-\ts.watchConfig(config)\n+\ts.watchConfig(originalConfig)","path":"pkg/cmd/server/server.go","position":28,"original_position":28,"commit_id":"84fa48d57afe8e7dcec234131683c692cd463f09","original_commit_id":"84fa48d57afe8e7dcec234131683c692cd463f09","user":{"login":"davecheney","id":7171,"avatar_url":"https://avatars0.githubusercontent.com/u/7171?v=4","gravatar_id":"","url":"https://api.github.com/users/davecheney","html_url":"https://github.com/davecheney","followers_url":"https://api.github.com/users/davecheney/followers","following_url":"https://api.github.com/users/davecheney/following{/other_user}","gists_url":"https://api.github.com/users/davecheney/gists{/gist_id}","starred_url":"https://api.github.com/users/davecheney/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davecheney/subscriptions","organizations_url":"https://api.github.com/users/davecheney/orgs","repos_url":"https://api.github.com/users/davecheney/repos","events_url":"https://api.github.com/users/davecheney/events{/privacy}","received_events_url":"https://api.github.com/users/davecheney/received_events","type":"User","site_admin":false},"body":"maybe move this above line 140 so we know at that point we are done with originalConfig 'cos its been handed off to watchConfig.","created_at":"2017-09-18T02:20:25Z","updated_at":"2017-09-18T02:22:34Z","html_url":"https://github.com/heptio/ark/pull/96#discussion_r139329779","pull_request_url":"https://api.github.com/repos/heptio/ark/pulls/96","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/heptio/ark/pulls/comments/139329779"},"html":{"href":"https://github.com/heptio/ark/pull/96#discussion_r139329779"},"pull_request":{"href":"https://api.github.com/repos/heptio/ark/pulls/96"}}},"pull_request":{"url":"https://api.github.com/repos/heptio/ark/pulls/96","id":141178338,"html_url":"https://github.com/heptio/ark/pull/96","diff_url":"https://github.com/heptio/ark/pull/96.diff","patch_url":"https://github.com/heptio/ark/pull/96.patch","issue_url":"https://api.github.com/repos/heptio/ark/issues/96","number":96,"state":"open","locked":false,"title":"Make config change detection more robust","user":{"login":"ncdc","id":354,"avatar_url":"https://avatars2.githubusercontent.com/u/354?v=4","gravatar_id":"","url":"https://api.github.com/users/ncdc","html_url":"https://github.com/ncdc","followers_url":"https://api.github.com/users/ncdc/followers","following_url":"https://api.github.com/users/ncdc/following{/other_user}","gists_url":"https://api.github.com/users/ncdc/gists{/gist_id}","starred_url":"https://api.github.com/users/ncdc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ncdc/subscriptions","organizations_url":"https://api.github.com/users/ncdc/orgs","repos_url":"https://api.github.com/users/ncdc/repos","events_url":"https://api.github.com/users/ncdc/events{/privacy}","received_events_url":"https://api.github.com/users/ncdc/received_events","type":"User","site_admin":false},"body":"Fix 2 issues with config change detection:\r\n- Objects received via Get() don't have kind and apiVersion set, while\r\nthose from Watch() do, leading to false positives.\r\n- Compare the unmodified config (prior to applying defaults) to the\r\nupdated one from Watch().\r\n\r\nFixes #92\r\n\r\nSigned-off-by: Andy Goldstein <andy.goldstein@gmail.com>","created_at":"2017-09-14T21:12:15Z","updated_at":"2017-09-18T02:22:34Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3af506593c74e60998d3c33ee82a5365c35fb88a","assignee":{"login":"skriss","id":5241206,"avatar_url":"https://avatars3.githubusercontent.com/u/5241206?v=4","gravatar_id":"","url":"https://api.github.com/users/skriss","html_url":"https://github.com/skriss","followers_url":"https://api.github.com/users/skriss/followers","following_url":"https://api.github.com/users/skriss/following{/other_user}","gists_url":"https://api.github.com/users/skriss/gists{/gist_id}","starred_url":"https://api.github.com/users/skriss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skriss/subscriptions","organizations_url":"https://api.github.com/users/skriss/orgs","repos_url":"https://api.github.com/users/skriss/repos","events_url":"https://api.github.com/users/skriss/events{/privacy}","received_events_url":"https://api.github.com/users/skriss/received_events","type":"User","site_admin":false},"assignees":[{"login":"skriss","id":5241206,"avatar_url":"https://avatars3.githubusercontent.com/u/5241206?v=4","gravatar_id":"","url":"https://api.github.com/users/skriss","html_url":"https://github.com/skriss","followers_url":"https://api.github.com/users/skriss/followers","following_url":"https://api.github.com/users/skriss/following{/other_user}","gists_url":"https://api.github.com/users/skriss/gists{/gist_id}","starred_url":"https://api.github.com/users/skriss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skriss/subscriptions","organizations_url":"https://api.github.com/users/skriss/orgs","repos_url":"https://api.github.com/users/skriss/repos","events_url":"https://api.github.com/users/skriss/events{/privacy}","received_events_url":"https://api.github.com/users/skriss/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"milestone":{"url":"https://api.github.com/repos/heptio/ark/milestones/2","html_url":"https://github.com/heptio/ark/milestone/2","labels_url":"https://api.github.com/repos/heptio/ark/milestones/2/labels","id":2746573,"number":2,"title":"v0.5.0","description":"Volume backups for non-cloud provider storage","creator":{"login":"kstewart","id":666,"avatar_url":"https://avatars3.githubusercontent.com/u/666?v=4","gravatar_id":"","url":"https://api.github.com/users/kstewart","html_url":"https://github.com/kstewart","followers_url":"https://api.github.com/users/kstewart/followers","following_url":"https://api.github.com/users/kstewart/following{/other_user}","gists_url":"https://api.github.com/users/kstewart/gists{/gist_id}","starred_url":"https://api.github.com/users/kstewart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kstewart/subscriptions","organizations_url":"https://api.github.com/users/kstewart/orgs","repos_url":"https://api.github.com/users/kstewart/repos","events_url":"https://api.github.com/users/kstewart/events{/privacy}","received_events_url":"https://api.github.com/users/kstewart/received_events","type":"User","site_admin":false},"open_issues":16,"closed_issues":0,"state":"open","created_at":"2017-09-05T21:04:11Z","updated_at":"2017-09-14T21:12:15Z","due_on":"2017-10-26T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/heptio/ark/pulls/96/commits","review_comments_url":"https://api.github.com/repos/heptio/ark/pulls/96/comments","review_comment_url":"https://api.github.com/repos/heptio/ark/pulls/comments{/number}","comments_url":"https://api.github.com/repos/heptio/ark/issues/96/comments","statuses_url":"https://api.github.com/repos/heptio/ark/statuses/84fa48d57afe8e7dcec234131683c692cd463f09","head":{"label":"ncdc:fix-config-watch","ref":"fix-config-watch","sha":"84fa48d57afe8e7dcec234131683c692cd463f09","user":{"login":"ncdc","id":354,"avatar_url":"https://avatars2.githubusercontent.com/u/354?v=4","gravatar_id":"","url":"https://api.github.com/users/ncdc","html_url":"https://github.com/ncdc","followers_url":"https://api.github.com/users/ncdc/followers","following_url":"https://api.github.com/users/ncdc/following{/other_user}","gists_url":"https://api.github.com/users/ncdc/gists{/gist_id}","starred_url":"https://api.github.com/users/ncdc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ncdc/subscriptions","organizations_url":"https://api.github.com/users/ncdc/orgs","repos_url":"https://api.github.com/users/ncdc/repos","events_url":"https://api.github.com/users/ncdc/events{/privacy}","received_events_url":"https://api.github.com/users/ncdc/received_events","type":"User","site_admin":false},"repo":{"id":99239067,"name":"ark","full_name":"ncdc/ark","owner":{"login":"ncdc","id":354,"avatar_url":"https://avatars2.githubusercontent.com/u/354?v=4","gravatar_id":"","url":"https://api.github.com/users/ncdc","html_url":"https://github.com/ncdc","followers_url":"https://api.github.com/users/ncdc/followers","following_url":"https://api.github.com/users/ncdc/following{/other_user}","gists_url":"https://api.github.com/users/ncdc/gists{/gist_id}","starred_url":"https://api.github.com/users/ncdc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ncdc/subscriptions","organizations_url":"https://api.github.com/users/ncdc/orgs","repos_url":"https://api.github.com/users/ncdc/repos","events_url":"https://api.github.com/users/ncdc/events{/privacy}","received_events_url":"https://api.github.com/users/ncdc/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ncdc/ark","description":"Heptio Ark is a utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes. Brought to you by Heptio.","fork":true,"url":"https://api.github.com/repos/ncdc/ark","forks_url":"https://api.github.com/repos/ncdc/ark/forks","keys_url":"https://api.github.com/repos/ncdc/ark/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ncdc/ark/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ncdc/ark/teams","hooks_url":"https://api.github.com/repos/ncdc/ark/hooks","issue_events_url":"https://api.github.com/repos/ncdc/ark/issues/events{/number}","events_url":"https://api.github.com/repos/ncdc/ark/events","assignees_url":"https://api.github.com/repos/ncdc/ark/assignees{/user}","branches_url":"https://api.github.com/repos/ncdc/ark/branches{/branch}","tags_url":"https://api.github.com/repos/ncdc/ark/tags","blobs_url":"https://api.github.com/repos/ncdc/ark/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ncdc/ark/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ncdc/ark/git/refs{/sha}","trees_url":"https://api.github.com/repos/ncdc/ark/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ncdc/ark/statuses/{sha}","languages_url":"https://api.github.com/repos/ncdc/ark/languages","stargazers_url":"https://api.github.com/repos/ncdc/ark/stargazers","contributors_url":"https://api.github.com/repos/ncdc/ark/contributors","subscribers_url":"https://api.github.com/repos/ncdc/ark/subscribers","subscription_url":"https://api.github.com/repos/ncdc/ark/subscription","commits_url":"https://api.github.com/repos/ncdc/ark/commits{/sha}","git_commits_url":"https://api.github.com/repos/ncdc/ark/git/commits{/sha}","comments_url":"https://api.github.com/repos/ncdc/ark/comments{/number}","issue_comment_url":"https://api.github.com/repos/ncdc/ark/issues/comments{/number}","contents_url":"https://api.github.com/repos/ncdc/ark/contents/{+path}","compare_url":"https://api.github.com/repos/ncdc/ark/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ncdc/ark/merges","archive_url":"https://api.github.com/repos/ncdc/ark/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ncdc/ark/downloads","issues_url":"https://api.github.com/repos/ncdc/ark/issues{/number}","pulls_url":"https://api.github.com/repos/ncdc/ark/pulls{/number}","milestones_url":"https://api.github.com/repos/ncdc/ark/milestones{/number}","notifications_url":"https://api.github.com/repos/ncdc/ark/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ncdc/ark/labels{/name}","releases_url":"https://api.github.com/repos/ncdc/ark/releases{/id}","deployments_url":"https://api.github.com/repos/ncdc/ark/deployments","created_at":"2017-08-03T14:04:34Z","updated_at":"2017-08-03T14:04:36Z","pushed_at":"2017-09-14T21:12:36Z","git_url":"git://github.com/ncdc/ark.git","ssh_url":"git@github.com:ncdc/ark.git","clone_url":"https://github.com/ncdc/ark.git","svn_url":"https://github.com/ncdc/ark","homepage":"http://www.heptio.com","size":6302,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"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":"heptio:master","ref":"master","sha":"36b1d9378e86c6ab6488dad08f4f3cf75fba2de0","user":{"login":"heptio","id":22035492,"avatar_url":"https://avatars0.githubusercontent.com/u/22035492?v=4","gravatar_id":"","url":"https://api.github.com/users/heptio","html_url":"https://github.com/heptio","followers_url":"https://api.github.com/users/heptio/followers","following_url":"https://api.github.com/users/heptio/following{/other_user}","gists_url":"https://api.github.com/users/heptio/gists{/gist_id}","starred_url":"https://api.github.com/users/heptio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heptio/subscriptions","organizations_url":"https://api.github.com/users/heptio/orgs","repos_url":"https://api.github.com/users/heptio/repos","events_url":"https://api.github.com/users/heptio/events{/privacy}","received_events_url":"https://api.github.com/users/heptio/received_events","type":"Organization","site_admin":false},"repo":{"id":99143276,"name":"ark","full_name":"heptio/ark","owner":{"login":"heptio","id":22035492,"avatar_url":"https://avatars0.githubusercontent.com/u/22035492?v=4","gravatar_id":"","url":"https://api.github.com/users/heptio","html_url":"https://github.com/heptio","followers_url":"https://api.github.com/users/heptio/followers","following_url":"https://api.github.com/users/heptio/following{/other_user}","gists_url":"https://api.github.com/users/heptio/gists{/gist_id}","starred_url":"https://api.github.com/users/heptio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heptio/subscriptions","organizations_url":"https://api.github.com/users/heptio/orgs","repos_url":"https://api.github.com/users/heptio/repos","events_url":"https://api.github.com/users/heptio/events{/privacy}","received_events_url":"https://api.github.com/users/heptio/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/heptio/ark","description":"Heptio Ark is a utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes. Brought to you by Heptio.","fork":false,"url":"https://api.github.com/repos/heptio/ark","forks_url":"https://api.github.com/repos/heptio/ark/forks","keys_url":"https://api.github.com/repos/heptio/ark/keys{/key_id}","collaborators_url":"https://api.github.com/repos/heptio/ark/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/heptio/ark/teams","hooks_url":"https://api.github.com/repos/heptio/ark/hooks","issue_events_url":"https://api.github.com/repos/heptio/ark/issues/events{/number}","events_url":"https://api.github.com/repos/heptio/ark/events","assignees_url":"https://api.github.com/repos/heptio/ark/assignees{/user}","branches_url":"https://api.github.com/repos/heptio/ark/branches{/branch}","tags_url":"https://api.github.com/repos/heptio/ark/tags","blobs_url":"https://api.github.com/repos/heptio/ark/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/heptio/ark/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/heptio/ark/git/refs{/sha}","trees_url":"https://api.github.com/repos/heptio/ark/git/trees{/sha}","statuses_url":"https://api.github.com/repos/heptio/ark/statuses/{sha}","languages_url":"https://api.github.com/repos/heptio/ark/languages","stargazers_url":"https://api.github.com/repos/heptio/ark/stargazers","contributors_url":"https://api.github.com/repos/heptio/ark/contributors","subscribers_url":"https://api.github.com/repos/heptio/ark/subscribers","subscription_url":"https://api.github.com/repos/heptio/ark/subscription","commits_url":"https://api.github.com/repos/heptio/ark/commits{/sha}","git_commits_url":"https://api.github.com/repos/heptio/ark/git/commits{/sha}","comments_url":"https://api.github.com/repos/heptio/ark/comments{/number}","issue_comment_url":"https://api.github.com/repos/heptio/ark/issues/comments{/number}","contents_url":"https://api.github.com/repos/heptio/ark/contents/{+path}","compare_url":"https://api.github.com/repos/heptio/ark/compare/{base}...{head}","merges_url":"https://api.github.com/repos/heptio/ark/merges","archive_url":"https://api.github.com/repos/heptio/ark/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/heptio/ark/downloads","issues_url":"https://api.github.com/repos/heptio/ark/issues{/number}","pulls_url":"https://api.github.com/repos/heptio/ark/pulls{/number}","milestones_url":"https://api.github.com/repos/heptio/ark/milestones{/number}","notifications_url":"https://api.github.com/repos/heptio/ark/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/heptio/ark/labels{/name}","releases_url":"https://api.github.com/repos/heptio/ark/releases{/id}","deployments_url":"https://api.github.com/repos/heptio/ark/deployments","created_at":"2017-08-02T17:22:11Z","updated_at":"2017-09-17T08:44:37Z","pushed_at":"2017-09-15T20:17:59Z","git_url":"git://github.com/heptio/ark.git","ssh_url":"git@github.com:heptio/ark.git","clone_url":"https://github.com/heptio/ark.git","svn_url":"https://github.com/heptio/ark","homepage":"http://www.heptio.com","size":6293,"stargazers_count":451,"watchers_count":451,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":30,"mirror_url":null,"open_issues_count":38,"forks":30,"open_issues":38,"watchers":451,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/heptio/ark/pulls/96"},"html":{"href":"https://github.com/heptio/ark/pull/96"},"issue":{"href":"https://api.github.com/repos/heptio/ark/issues/96"},"comments":{"href":"https://api.github.com/repos/heptio/ark/issues/96/comments"},"review_comments":{"href":"https://api.github.com/repos/heptio/ark/pulls/96/comments"},"review_comment":{"href":"https://api.github.com/repos/heptio/ark/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/heptio/ark/pulls/96/commits"},"statuses":{"href":"https://api.github.com/repos/heptio/ark/statuses/84fa48d57afe8e7dcec234131683c692cd463f09"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"davecheney"}}