{"action":"created","comment":{"url":"https://api.github.com/repos/freedomofpress/securedrop/pulls/comments/158552645","pull_request_review_id":85389279,"id":158552645,"diff_hunk":"@@ -1,35 +1,35 @@\n ---\n-- name: Install Tor project GPG signing key.\n+- name: Remove Tor project GPG signing key.\n   apt_key:\n-    state: present\n-    data: \"{{ lookup('file', 'tor-signing-key.pub') }}\"\n+    state: absent\n+    id: A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89\n   tags:\n     - apt\n     - tor\n \n - name: Setup Tor apt repo.\n   apt_repository:\n-    repo: deb http://deb.torproject.org/torproject.org {{ ansible_lsb.codename }} main\n+    filename: tor_apt_freedom_press\n+    repo: deb {{ tor_apt_repo_url }} {{ ansible_lsb.codename }} main","path":"install_files/ansible-base/roles/tor-hidden-services/tasks/install_tor.yml","position":17,"original_position":17,"commit_id":"0c2b1b3905433a5553864f67b1f7edfd0507800f","original_commit_id":"0c2b1b3905433a5553864f67b1f7edfd0507800f","user":{"login":"msheiny","id":1727935,"avatar_url":"https://avatars0.githubusercontent.com/u/1727935?v=4","gravatar_id":"","url":"https://api.github.com/users/msheiny","html_url":"https://github.com/msheiny","followers_url":"https://api.github.com/users/msheiny/followers","following_url":"https://api.github.com/users/msheiny/following{/other_user}","gists_url":"https://api.github.com/users/msheiny/gists{/gist_id}","starred_url":"https://api.github.com/users/msheiny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/msheiny/subscriptions","organizations_url":"https://api.github.com/users/msheiny/orgs","repos_url":"https://api.github.com/users/msheiny/repos","events_url":"https://api.github.com/users/msheiny/events{/privacy}","received_events_url":"https://api.github.com/users/msheiny/received_events","type":"User","site_admin":false},"body":"This logic should be removed eventually since it is duplicating the logic of the new `securedrop-config` package. I'm not going to block on it for this review and instead I'll spin  up a new ticket.","created_at":"2017-12-22T20:13:49Z","updated_at":"2017-12-22T20:13:49Z","html_url":"https://github.com/freedomofpress/securedrop/pull/2441#discussion_r158552645","pull_request_url":"https://api.github.com/repos/freedomofpress/securedrop/pulls/2441","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/freedomofpress/securedrop/pulls/comments/158552645"},"html":{"href":"https://github.com/freedomofpress/securedrop/pull/2441#discussion_r158552645"},"pull_request":{"href":"https://api.github.com/repos/freedomofpress/securedrop/pulls/2441"}}},"pull_request":{"url":"https://api.github.com/repos/freedomofpress/securedrop/pulls/2441","id":146560177,"html_url":"https://github.com/freedomofpress/securedrop/pull/2441","diff_url":"https://github.com/freedomofpress/securedrop/pull/2441.diff","patch_url":"https://github.com/freedomofpress/securedrop/pull/2441.patch","issue_url":"https://api.github.com/repos/freedomofpress/securedrop/issues/2441","number":2441,"state":"open","locked":false,"title":"Uses apt mirror for Tor via `securedrop-config` package","user":{"login":"conorsch","id":657862,"avatar_url":"https://avatars0.githubusercontent.com/u/657862?v=4","gravatar_id":"","url":"https://api.github.com/users/conorsch","html_url":"https://github.com/conorsch","followers_url":"https://api.github.com/users/conorsch/followers","following_url":"https://api.github.com/users/conorsch/following{/other_user}","gists_url":"https://api.github.com/users/conorsch/gists{/gist_id}","starred_url":"https://api.github.com/users/conorsch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/conorsch/subscriptions","organizations_url":"https://api.github.com/users/conorsch/orgs","repos_url":"https://api.github.com/users/conorsch/repos","events_url":"https://api.github.com/users/conorsch/events{/privacy}","received_events_url":"https://api.github.com/users/conorsch/received_events","type":"User","site_admin":false},"body":"## Status\r\n\r\nReady for review.\r\n\r\n## Description of Changes\r\n\r\nFixes #2106. Reimplements and supersedes #2113.\r\n\r\nChanges proposed in this pull request:\r\n\r\n* Installs tor packages from `tor-apt.freedom.press` mirror.\r\n* Migrates existing apt configs on running hosts to use _only_ the FPF tor mirror.\r\n* Leverages new `securedrop-config` package to handle changes\r\n\r\n## Testing\r\n\r\nWe need to test clean installs, which CI should do rather well. More important, however, we must ensure the upgrade 0.4.3 prod -> this PR is smooth. Given the imminent codefreeze for 0.4.4, we may have to utilize the QA period to make sure we've addressed the upgrade path sufficiently.\r\n\r\n## Deployment\r\n\r\nYes, major implications for deployment. Affects running instances and the method they use to install tor, which is critical for SecureDrop (see #2105 for a reminder). \r\n\r\n## Checklist\r\n\r\n### If you made changes to the app code:\r\n\r\n- [x] Unit and functional tests pass on the development VM\r\n\r\n### If you made changes to the system configuration:\r\n\r\n- [ ] [Configuration tests](https://docs.securedrop.org/en/latest/development/testing_configuration_tests.html) pass\r\n\r\n### If you made changes to documentation:\r\n\r\n- [ ] Doc linting passed locally\r\n","created_at":"2017-10-13T21:40:04Z","updated_at":"2017-12-22T20:13:49Z","closed_at":null,"merged_at":null,"merge_commit_sha":"386eed4a8e04f8f8452fe7748d0e176bdb88fd73","assignee":null,"assignees":[],"requested_reviewers":[{"login":"kushaldas","id":272303,"avatar_url":"https://avatars3.githubusercontent.com/u/272303?v=4","gravatar_id":"","url":"https://api.github.com/users/kushaldas","html_url":"https://github.com/kushaldas","followers_url":"https://api.github.com/users/kushaldas/followers","following_url":"https://api.github.com/users/kushaldas/following{/other_user}","gists_url":"https://api.github.com/users/kushaldas/gists{/gist_id}","starred_url":"https://api.github.com/users/kushaldas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kushaldas/subscriptions","organizations_url":"https://api.github.com/users/kushaldas/orgs","repos_url":"https://api.github.com/users/kushaldas/repos","events_url":"https://api.github.com/users/kushaldas/events{/privacy}","received_events_url":"https://api.github.com/users/kushaldas/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/freedomofpress/securedrop/milestones/37","html_url":"https://github.com/freedomofpress/securedrop/milestone/37","labels_url":"https://api.github.com/repos/freedomofpress/securedrop/milestones/37/labels","id":2945103,"number":37,"title":"0.5.1","description":"Tor apt repo","creator":{"login":"redshiftzero","id":7832803,"avatar_url":"https://avatars3.githubusercontent.com/u/7832803?v=4","gravatar_id":"","url":"https://api.github.com/users/redshiftzero","html_url":"https://github.com/redshiftzero","followers_url":"https://api.github.com/users/redshiftzero/followers","following_url":"https://api.github.com/users/redshiftzero/following{/other_user}","gists_url":"https://api.github.com/users/redshiftzero/gists{/gist_id}","starred_url":"https://api.github.com/users/redshiftzero/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/redshiftzero/subscriptions","organizations_url":"https://api.github.com/users/redshiftzero/orgs","repos_url":"https://api.github.com/users/redshiftzero/repos","events_url":"https://api.github.com/users/redshiftzero/events{/privacy}","received_events_url":"https://api.github.com/users/redshiftzero/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":5,"state":"open","created_at":"2017-11-28T23:08:16Z","updated_at":"2017-12-21T23:53:20Z","due_on":"2018-01-16T08:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/freedomofpress/securedrop/pulls/2441/commits","review_comments_url":"https://api.github.com/repos/freedomofpress/securedrop/pulls/2441/comments","review_comment_url":"https://api.github.com/repos/freedomofpress/securedrop/pulls/comments{/number}","comments_url":"https://api.github.com/repos/freedomofpress/securedrop/issues/2441/comments","statuses_url":"https://api.github.com/repos/freedomofpress/securedrop/statuses/0c2b1b3905433a5553864f67b1f7edfd0507800f","head":{"label":"freedomofpress:securedrop-config-package-for-tor-mirror","ref":"securedrop-config-package-for-tor-mirror","sha":"0c2b1b3905433a5553864f67b1f7edfd0507800f","user":{"login":"freedomofpress","id":5388147,"avatar_url":"https://avatars1.githubusercontent.com/u/5388147?v=4","gravatar_id":"","url":"https://api.github.com/users/freedomofpress","html_url":"https://github.com/freedomofpress","followers_url":"https://api.github.com/users/freedomofpress/followers","following_url":"https://api.github.com/users/freedomofpress/following{/other_user}","gists_url":"https://api.github.com/users/freedomofpress/gists{/gist_id}","starred_url":"https://api.github.com/users/freedomofpress/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freedomofpress/subscriptions","organizations_url":"https://api.github.com/users/freedomofpress/orgs","repos_url":"https://api.github.com/users/freedomofpress/repos","events_url":"https://api.github.com/users/freedomofpress/events{/privacy}","received_events_url":"https://api.github.com/users/freedomofpress/received_events","type":"Organization","site_admin":false},"repo":{"id":3156820,"name":"securedrop","full_name":"freedomofpress/securedrop","owner":{"login":"freedomofpress","id":5388147,"avatar_url":"https://avatars1.githubusercontent.com/u/5388147?v=4","gravatar_id":"","url":"https://api.github.com/users/freedomofpress","html_url":"https://github.com/freedomofpress","followers_url":"https://api.github.com/users/freedomofpress/followers","following_url":"https://api.github.com/users/freedomofpress/following{/other_user}","gists_url":"https://api.github.com/users/freedomofpress/gists{/gist_id}","starred_url":"https://api.github.com/users/freedomofpress/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freedomofpress/subscriptions","organizations_url":"https://api.github.com/users/freedomofpress/orgs","repos_url":"https://api.github.com/users/freedomofpress/repos","events_url":"https://api.github.com/users/freedomofpress/events{/privacy}","received_events_url":"https://api.github.com/users/freedomofpress/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/freedomofpress/securedrop","description":"GitHub repository for the SecureDrop whistleblower platform. Do not submit tips here!","fork":false,"url":"https://api.github.com/repos/freedomofpress/securedrop","forks_url":"https://api.github.com/repos/freedomofpress/securedrop/forks","keys_url":"https://api.github.com/repos/freedomofpress/securedrop/keys{/key_id}","collaborators_url":"https://api.github.com/repos/freedomofpress/securedrop/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/freedomofpress/securedrop/teams","hooks_url":"https://api.github.com/repos/freedomofpress/securedrop/hooks","issue_events_url":"https://api.github.com/repos/freedomofpress/securedrop/issues/events{/number}","events_url":"https://api.github.com/repos/freedomofpress/securedrop/events","assignees_url":"https://api.github.com/repos/freedomofpress/securedrop/assignees{/user}","branches_url":"https://api.github.com/repos/freedomofpress/securedrop/branches{/branch}","tags_url":"https://api.github.com/repos/freedomofpress/securedrop/tags","blobs_url":"https://api.github.com/repos/freedomofpress/securedrop/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/freedomofpress/securedrop/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/freedomofpress/securedrop/git/refs{/sha}","trees_url":"https://api.github.com/repos/freedomofpress/securedrop/git/trees{/sha}","statuses_url":"https://api.github.com/repos/freedomofpress/securedrop/statuses/{sha}","languages_url":"https://api.github.com/repos/freedomofpress/securedrop/languages","stargazers_url":"https://api.github.com/repos/freedomofpress/securedrop/stargazers","contributors_url":"https://api.github.com/repos/freedomofpress/securedrop/contributors","subscribers_url":"https://api.github.com/repos/freedomofpress/securedrop/subscribers","subscription_url":"https://api.github.com/repos/freedomofpress/securedrop/subscription","commits_url":"https://api.github.com/repos/freedomofpress/securedrop/commits{/sha}","git_commits_url":"https://api.github.com/repos/freedomofpress/securedrop/git/commits{/sha}","comments_url":"https://api.github.com/repos/freedomofpress/securedrop/comments{/number}","issue_comment_url":"https://api.github.com/repos/freedomofpress/securedrop/issues/comments{/number}","contents_url":"https://api.github.com/repos/freedomofpress/securedrop/contents/{+path}","compare_url":"https://api.github.com/repos/freedomofpress/securedrop/compare/{base}...{head}","merges_url":"https://api.github.com/repos/freedomofpress/securedrop/merges","archive_url":"https://api.github.com/repos/freedomofpress/securedrop/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/freedomofpress/securedrop/downloads","issues_url":"https://api.github.com/repos/freedomofpress/securedrop/issues{/number}","pulls_url":"https://api.github.com/repos/freedomofpress/securedrop/pulls{/number}","milestones_url":"https://api.github.com/repos/freedomofpress/securedrop/milestones{/number}","notifications_url":"https://api.github.com/repos/freedomofpress/securedrop/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/freedomofpress/securedrop/labels{/name}","releases_url":"https://api.github.com/repos/freedomofpress/securedrop/releases{/id}","deployments_url":"https://api.github.com/repos/freedomofpress/securedrop/deployments","created_at":"2012-01-11T19:57:55Z","updated_at":"2017-12-22T12:22:14Z","pushed_at":"2017-12-22T19:33:39Z","git_url":"git://github.com/freedomofpress/securedrop.git","ssh_url":"git@github.com:freedomofpress/securedrop.git","clone_url":"https://github.com/freedomofpress/securedrop.git","svn_url":"https://github.com/freedomofpress/securedrop","homepage":"https://securedrop.org/","size":61000,"stargazers_count":2233,"watchers_count":2233,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":419,"mirror_url":null,"archived":false,"open_issues_count":337,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"},"forks":419,"open_issues":337,"watchers":2233,"default_branch":"develop"}},"base":{"label":"freedomofpress:develop","ref":"develop","sha":"119725eb972973ba504a351b20d238cc620f3fa5","user":{"login":"freedomofpress","id":5388147,"avatar_url":"https://avatars1.githubusercontent.com/u/5388147?v=4","gravatar_id":"","url":"https://api.github.com/users/freedomofpress","html_url":"https://github.com/freedomofpress","followers_url":"https://api.github.com/users/freedomofpress/followers","following_url":"https://api.github.com/users/freedomofpress/following{/other_user}","gists_url":"https://api.github.com/users/freedomofpress/gists{/gist_id}","starred_url":"https://api.github.com/users/freedomofpress/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freedomofpress/subscriptions","organizations_url":"https://api.github.com/users/freedomofpress/orgs","repos_url":"https://api.github.com/users/freedomofpress/repos","events_url":"https://api.github.com/users/freedomofpress/events{/privacy}","received_events_url":"https://api.github.com/users/freedomofpress/received_events","type":"Organization","site_admin":false},"repo":{"id":3156820,"name":"securedrop","full_name":"freedomofpress/securedrop","owner":{"login":"freedomofpress","id":5388147,"avatar_url":"https://avatars1.githubusercontent.com/u/5388147?v=4","gravatar_id":"","url":"https://api.github.com/users/freedomofpress","html_url":"https://github.com/freedomofpress","followers_url":"https://api.github.com/users/freedomofpress/followers","following_url":"https://api.github.com/users/freedomofpress/following{/other_user}","gists_url":"https://api.github.com/users/freedomofpress/gists{/gist_id}","starred_url":"https://api.github.com/users/freedomofpress/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freedomofpress/subscriptions","organizations_url":"https://api.github.com/users/freedomofpress/orgs","repos_url":"https://api.github.com/users/freedomofpress/repos","events_url":"https://api.github.com/users/freedomofpress/events{/privacy}","received_events_url":"https://api.github.com/users/freedomofpress/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/freedomofpress/securedrop","description":"GitHub repository for the SecureDrop whistleblower platform. Do not submit tips here!","fork":false,"url":"https://api.github.com/repos/freedomofpress/securedrop","forks_url":"https://api.github.com/repos/freedomofpress/securedrop/forks","keys_url":"https://api.github.com/repos/freedomofpress/securedrop/keys{/key_id}","collaborators_url":"https://api.github.com/repos/freedomofpress/securedrop/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/freedomofpress/securedrop/teams","hooks_url":"https://api.github.com/repos/freedomofpress/securedrop/hooks","issue_events_url":"https://api.github.com/repos/freedomofpress/securedrop/issues/events{/number}","events_url":"https://api.github.com/repos/freedomofpress/securedrop/events","assignees_url":"https://api.github.com/repos/freedomofpress/securedrop/assignees{/user}","branches_url":"https://api.github.com/repos/freedomofpress/securedrop/branches{/branch}","tags_url":"https://api.github.com/repos/freedomofpress/securedrop/tags","blobs_url":"https://api.github.com/repos/freedomofpress/securedrop/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/freedomofpress/securedrop/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/freedomofpress/securedrop/git/refs{/sha}","trees_url":"https://api.github.com/repos/freedomofpress/securedrop/git/trees{/sha}","statuses_url":"https://api.github.com/repos/freedomofpress/securedrop/statuses/{sha}","languages_url":"https://api.github.com/repos/freedomofpress/securedrop/languages","stargazers_url":"https://api.github.com/repos/freedomofpress/securedrop/stargazers","contributors_url":"https://api.github.com/repos/freedomofpress/securedrop/contributors","subscribers_url":"https://api.github.com/repos/freedomofpress/securedrop/subscribers","subscription_url":"https://api.github.com/repos/freedomofpress/securedrop/subscription","commits_url":"https://api.github.com/repos/freedomofpress/securedrop/commits{/sha}","git_commits_url":"https://api.github.com/repos/freedomofpress/securedrop/git/commits{/sha}","comments_url":"https://api.github.com/repos/freedomofpress/securedrop/comments{/number}","issue_comment_url":"https://api.github.com/repos/freedomofpress/securedrop/issues/comments{/number}","contents_url":"https://api.github.com/repos/freedomofpress/securedrop/contents/{+path}","compare_url":"https://api.github.com/repos/freedomofpress/securedrop/compare/{base}...{head}","merges_url":"https://api.github.com/repos/freedomofpress/securedrop/merges","archive_url":"https://api.github.com/repos/freedomofpress/securedrop/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/freedomofpress/securedrop/downloads","issues_url":"https://api.github.com/repos/freedomofpress/securedrop/issues{/number}","pulls_url":"https://api.github.com/repos/freedomofpress/securedrop/pulls{/number}","milestones_url":"https://api.github.com/repos/freedomofpress/securedrop/milestones{/number}","notifications_url":"https://api.github.com/repos/freedomofpress/securedrop/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/freedomofpress/securedrop/labels{/name}","releases_url":"https://api.github.com/repos/freedomofpress/securedrop/releases{/id}","deployments_url":"https://api.github.com/repos/freedomofpress/securedrop/deployments","created_at":"2012-01-11T19:57:55Z","updated_at":"2017-12-22T12:22:14Z","pushed_at":"2017-12-22T19:33:39Z","git_url":"git://github.com/freedomofpress/securedrop.git","ssh_url":"git@github.com:freedomofpress/securedrop.git","clone_url":"https://github.com/freedomofpress/securedrop.git","svn_url":"https://github.com/freedomofpress/securedrop","homepage":"https://securedrop.org/","size":61000,"stargazers_count":2233,"watchers_count":2233,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":419,"mirror_url":null,"archived":false,"open_issues_count":337,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"},"forks":419,"open_issues":337,"watchers":2233,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/freedomofpress/securedrop/pulls/2441"},"html":{"href":"https://github.com/freedomofpress/securedrop/pull/2441"},"issue":{"href":"https://api.github.com/repos/freedomofpress/securedrop/issues/2441"},"comments":{"href":"https://api.github.com/repos/freedomofpress/securedrop/issues/2441/comments"},"review_comments":{"href":"https://api.github.com/repos/freedomofpress/securedrop/pulls/2441/comments"},"review_comment":{"href":"https://api.github.com/repos/freedomofpress/securedrop/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/freedomofpress/securedrop/pulls/2441/commits"},"statuses":{"href":"https://api.github.com/repos/freedomofpress/securedrop/statuses/0c2b1b3905433a5553864f67b1f7edfd0507800f"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"msheiny"}}