{"action":"closed","number":468,"pull_request":{"url":"https://api.github.com/repos/SUSE/Portus/pulls/468","id":48338597,"html_url":"https://github.com/SUSE/Portus/pull/468","diff_url":"https://github.com/SUSE/Portus/pull/468.diff","patch_url":"https://github.com/SUSE/Portus/pull/468.patch","issue_url":"https://api.github.com/repos/SUSE/Portus/issues/468","number":468,"state":"closed","locked":false,"title":"Allowed controlled anonymous access with public namespaces","user":{"login":"mssola","id":767943,"avatar_url":"https://avatars.githubusercontent.com/u/767943?v=3","gravatar_id":"","url":"https://api.github.com/users/mssola","html_url":"https://github.com/mssola","followers_url":"https://api.github.com/users/mssola/followers","following_url":"https://api.github.com/users/mssola/following{/other_user}","gists_url":"https://api.github.com/users/mssola/gists{/gist_id}","starred_url":"https://api.github.com/users/mssola/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mssola/subscriptions","organizations_url":"https://api.github.com/users/mssola/orgs","repos_url":"https://api.github.com/users/mssola/repos","events_url":"https://api.github.com/users/mssola/events{/privacy}","received_events_url":"https://api.github.com/users/mssola/received_events","type":"User","site_admin":false},"body":"Before this patch, a \"public\" namespace allowed pulls to any Portus user.\r\nHowever, it did not allow pull access to anonymous users.\r\n\r\nAfter this patch, the TokensController won't authenticate every user, but only\r\nthose that have called the `docker login` command. From now on, it's up to each\r\npolicy to allow/disallow anonymous users. In particular, the only one that\r\nallows access to anonymous users is the Namespace policy, and it only does it\r\nfor pull requests.\r\n\r\nFixes #279\r\n\r\nSigned-off-by: Miquel Sabaté Solà <msabate@suse.com>","created_at":"2015-10-21T14:28:09Z","updated_at":"2015-10-21T16:57:37Z","closed_at":"2015-10-21T16:57:37Z","merged_at":"2015-10-21T16:57:37Z","merge_commit_sha":"c967ba144bc8829e720cbf6e22b4eb448486c8f6","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/SUSE/Portus/pulls/468/commits","review_comments_url":"https://api.github.com/repos/SUSE/Portus/pulls/468/comments","review_comment_url":"https://api.github.com/repos/SUSE/Portus/pulls/comments{/number}","comments_url":"https://api.github.com/repos/SUSE/Portus/issues/468/comments","statuses_url":"https://api.github.com/repos/SUSE/Portus/statuses/27f11b76a2e36f83ec7c7bdf00323d89df68413a","head":{"label":"mssola:anonymous-access","ref":"anonymous-access","sha":"27f11b76a2e36f83ec7c7bdf00323d89df68413a","user":{"login":"mssola","id":767943,"avatar_url":"https://avatars.githubusercontent.com/u/767943?v=3","gravatar_id":"","url":"https://api.github.com/users/mssola","html_url":"https://github.com/mssola","followers_url":"https://api.github.com/users/mssola/followers","following_url":"https://api.github.com/users/mssola/following{/other_user}","gists_url":"https://api.github.com/users/mssola/gists{/gist_id}","starred_url":"https://api.github.com/users/mssola/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mssola/subscriptions","organizations_url":"https://api.github.com/users/mssola/orgs","repos_url":"https://api.github.com/users/mssola/repos","events_url":"https://api.github.com/users/mssola/events{/privacy}","received_events_url":"https://api.github.com/users/mssola/received_events","type":"User","site_admin":false},"repo":{"id":34454130,"name":"Portus","full_name":"mssola/Portus","owner":{"login":"mssola","id":767943,"avatar_url":"https://avatars.githubusercontent.com/u/767943?v=3","gravatar_id":"","url":"https://api.github.com/users/mssola","html_url":"https://github.com/mssola","followers_url":"https://api.github.com/users/mssola/followers","following_url":"https://api.github.com/users/mssola/following{/other_user}","gists_url":"https://api.github.com/users/mssola/gists{/gist_id}","starred_url":"https://api.github.com/users/mssola/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mssola/subscriptions","organizations_url":"https://api.github.com/users/mssola/orgs","repos_url":"https://api.github.com/users/mssola/repos","events_url":"https://api.github.com/users/mssola/events{/privacy}","received_events_url":"https://api.github.com/users/mssola/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mssola/Portus","description":"Authentication server and frontend for Docker registry (v2)","fork":true,"url":"https://api.github.com/repos/mssola/Portus","forks_url":"https://api.github.com/repos/mssola/Portus/forks","keys_url":"https://api.github.com/repos/mssola/Portus/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mssola/Portus/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mssola/Portus/teams","hooks_url":"https://api.github.com/repos/mssola/Portus/hooks","issue_events_url":"https://api.github.com/repos/mssola/Portus/issues/events{/number}","events_url":"https://api.github.com/repos/mssola/Portus/events","assignees_url":"https://api.github.com/repos/mssola/Portus/assignees{/user}","branches_url":"https://api.github.com/repos/mssola/Portus/branches{/branch}","tags_url":"https://api.github.com/repos/mssola/Portus/tags","blobs_url":"https://api.github.com/repos/mssola/Portus/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mssola/Portus/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mssola/Portus/git/refs{/sha}","trees_url":"https://api.github.com/repos/mssola/Portus/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mssola/Portus/statuses/{sha}","languages_url":"https://api.github.com/repos/mssola/Portus/languages","stargazers_url":"https://api.github.com/repos/mssola/Portus/stargazers","contributors_url":"https://api.github.com/repos/mssola/Portus/contributors","subscribers_url":"https://api.github.com/repos/mssola/Portus/subscribers","subscription_url":"https://api.github.com/repos/mssola/Portus/subscription","commits_url":"https://api.github.com/repos/mssola/Portus/commits{/sha}","git_commits_url":"https://api.github.com/repos/mssola/Portus/git/commits{/sha}","comments_url":"https://api.github.com/repos/mssola/Portus/comments{/number}","issue_comment_url":"https://api.github.com/repos/mssola/Portus/issues/comments{/number}","contents_url":"https://api.github.com/repos/mssola/Portus/contents/{+path}","compare_url":"https://api.github.com/repos/mssola/Portus/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mssola/Portus/merges","archive_url":"https://api.github.com/repos/mssola/Portus/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mssola/Portus/downloads","issues_url":"https://api.github.com/repos/mssola/Portus/issues{/number}","pulls_url":"https://api.github.com/repos/mssola/Portus/pulls{/number}","milestones_url":"https://api.github.com/repos/mssola/Portus/milestones{/number}","notifications_url":"https://api.github.com/repos/mssola/Portus/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mssola/Portus/labels{/name}","releases_url":"https://api.github.com/repos/mssola/Portus/releases{/id}","created_at":"2015-04-23T12:11:33Z","updated_at":"2015-06-23T15:19:18Z","pushed_at":"2015-10-21T15:57:10Z","git_url":"git://github.com/mssola/Portus.git","ssh_url":"git@github.com:mssola/Portus.git","clone_url":"https://github.com/mssola/Portus.git","svn_url":"https://github.com/mssola/Portus","homepage":"","size":8823,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"SUSE:master","ref":"master","sha":"b51c49f9c172d825b197b5add65f494eb53f0e7f","user":{"login":"SUSE","id":1067733,"avatar_url":"https://avatars.githubusercontent.com/u/1067733?v=3","gravatar_id":"","url":"https://api.github.com/users/SUSE","html_url":"https://github.com/SUSE","followers_url":"https://api.github.com/users/SUSE/followers","following_url":"https://api.github.com/users/SUSE/following{/other_user}","gists_url":"https://api.github.com/users/SUSE/gists{/gist_id}","starred_url":"https://api.github.com/users/SUSE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SUSE/subscriptions","organizations_url":"https://api.github.com/users/SUSE/orgs","repos_url":"https://api.github.com/users/SUSE/repos","events_url":"https://api.github.com/users/SUSE/events{/privacy}","received_events_url":"https://api.github.com/users/SUSE/received_events","type":"Organization","site_admin":false},"repo":{"id":33866783,"name":"Portus","full_name":"SUSE/Portus","owner":{"login":"SUSE","id":1067733,"avatar_url":"https://avatars.githubusercontent.com/u/1067733?v=3","gravatar_id":"","url":"https://api.github.com/users/SUSE","html_url":"https://github.com/SUSE","followers_url":"https://api.github.com/users/SUSE/followers","following_url":"https://api.github.com/users/SUSE/following{/other_user}","gists_url":"https://api.github.com/users/SUSE/gists{/gist_id}","starred_url":"https://api.github.com/users/SUSE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SUSE/subscriptions","organizations_url":"https://api.github.com/users/SUSE/orgs","repos_url":"https://api.github.com/users/SUSE/repos","events_url":"https://api.github.com/users/SUSE/events{/privacy}","received_events_url":"https://api.github.com/users/SUSE/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/SUSE/Portus","description":"Authorization service and frontend for Docker registry (v2)","fork":false,"url":"https://api.github.com/repos/SUSE/Portus","forks_url":"https://api.github.com/repos/SUSE/Portus/forks","keys_url":"https://api.github.com/repos/SUSE/Portus/keys{/key_id}","collaborators_url":"https://api.github.com/repos/SUSE/Portus/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/SUSE/Portus/teams","hooks_url":"https://api.github.com/repos/SUSE/Portus/hooks","issue_events_url":"https://api.github.com/repos/SUSE/Portus/issues/events{/number}","events_url":"https://api.github.com/repos/SUSE/Portus/events","assignees_url":"https://api.github.com/repos/SUSE/Portus/assignees{/user}","branches_url":"https://api.github.com/repos/SUSE/Portus/branches{/branch}","tags_url":"https://api.github.com/repos/SUSE/Portus/tags","blobs_url":"https://api.github.com/repos/SUSE/Portus/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/SUSE/Portus/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/SUSE/Portus/git/refs{/sha}","trees_url":"https://api.github.com/repos/SUSE/Portus/git/trees{/sha}","statuses_url":"https://api.github.com/repos/SUSE/Portus/statuses/{sha}","languages_url":"https://api.github.com/repos/SUSE/Portus/languages","stargazers_url":"https://api.github.com/repos/SUSE/Portus/stargazers","contributors_url":"https://api.github.com/repos/SUSE/Portus/contributors","subscribers_url":"https://api.github.com/repos/SUSE/Portus/subscribers","subscription_url":"https://api.github.com/repos/SUSE/Portus/subscription","commits_url":"https://api.github.com/repos/SUSE/Portus/commits{/sha}","git_commits_url":"https://api.github.com/repos/SUSE/Portus/git/commits{/sha}","comments_url":"https://api.github.com/repos/SUSE/Portus/comments{/number}","issue_comment_url":"https://api.github.com/repos/SUSE/Portus/issues/comments{/number}","contents_url":"https://api.github.com/repos/SUSE/Portus/contents/{+path}","compare_url":"https://api.github.com/repos/SUSE/Portus/compare/{base}...{head}","merges_url":"https://api.github.com/repos/SUSE/Portus/merges","archive_url":"https://api.github.com/repos/SUSE/Portus/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/SUSE/Portus/downloads","issues_url":"https://api.github.com/repos/SUSE/Portus/issues{/number}","pulls_url":"https://api.github.com/repos/SUSE/Portus/pulls{/number}","milestones_url":"https://api.github.com/repos/SUSE/Portus/milestones{/number}","notifications_url":"https://api.github.com/repos/SUSE/Portus/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/SUSE/Portus/labels{/name}","releases_url":"https://api.github.com/repos/SUSE/Portus/releases{/id}","created_at":"2015-04-13T12:18:20Z","updated_at":"2015-10-21T16:31:50Z","pushed_at":"2015-10-21T16:57:37Z","git_url":"git://github.com/SUSE/Portus.git","ssh_url":"git@github.com:SUSE/Portus.git","clone_url":"https://github.com/SUSE/Portus.git","svn_url":"https://github.com/SUSE/Portus","homepage":"http://suse.github.io/Portus/","size":15312,"stargazers_count":264,"watchers_count":264,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":46,"mirror_url":null,"open_issues_count":37,"forks":46,"open_issues":37,"watchers":264,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/SUSE/Portus/pulls/468"},"html":{"href":"https://github.com/SUSE/Portus/pull/468"},"issue":{"href":"https://api.github.com/repos/SUSE/Portus/issues/468"},"comments":{"href":"https://api.github.com/repos/SUSE/Portus/issues/468/comments"},"review_comments":{"href":"https://api.github.com/repos/SUSE/Portus/pulls/468/comments"},"review_comment":{"href":"https://api.github.com/repos/SUSE/Portus/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/SUSE/Portus/pulls/468/commits"},"statuses":{"href":"https://api.github.com/repos/SUSE/Portus/statuses/27f11b76a2e36f83ec7c7bdf00323d89df68413a"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"mssola","id":767943,"avatar_url":"https://avatars.githubusercontent.com/u/767943?v=3","gravatar_id":"","url":"https://api.github.com/users/mssola","html_url":"https://github.com/mssola","followers_url":"https://api.github.com/users/mssola/followers","following_url":"https://api.github.com/users/mssola/following{/other_user}","gists_url":"https://api.github.com/users/mssola/gists{/gist_id}","starred_url":"https://api.github.com/users/mssola/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mssola/subscriptions","organizations_url":"https://api.github.com/users/mssola/orgs","repos_url":"https://api.github.com/users/mssola/repos","events_url":"https://api.github.com/users/mssola/events{/privacy}","received_events_url":"https://api.github.com/users/mssola/received_events","type":"User","site_admin":false},"comments":1,"review_comments":0,"commits":1,"additions":65,"deletions":43,"changed_files":7}}