{"action":"created","issue":{"url":"https://api.github.com/repos/docker/docker/issues/21046","repository_url":"https://api.github.com/repos/docker/docker","labels_url":"https://api.github.com/repos/docker/docker/issues/21046/labels{/name}","comments_url":"https://api.github.com/repos/docker/docker/issues/21046/comments","events_url":"https://api.github.com/repos/docker/docker/issues/21046/events","html_url":"https://github.com/docker/docker/pull/21046","id":139439364,"number":21046,"title":"Sign all first-level delegation roles when doing a trusted push","user":{"login":"cyli","id":223200,"avatar_url":"https://avatars.githubusercontent.com/u/223200?v=3","gravatar_id":"","url":"https://api.github.com/users/cyli","html_url":"https://github.com/cyli","followers_url":"https://api.github.com/users/cyli/followers","following_url":"https://api.github.com/users/cyli/following{/other_user}","gists_url":"https://api.github.com/users/cyli/gists{/gist_id}","starred_url":"https://api.github.com/users/cyli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cyli/subscriptions","organizations_url":"https://api.github.com/users/cyli/orgs","repos_url":"https://api.github.com/users/cyli/repos","events_url":"https://api.github.com/users/cyli/events{/privacy}","received_events_url":"https://api.github.com/users/cyli/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/docker/docker/labels/docs/revisit","name":"docs/revisit","color":"000000"},{"url":"https://api.github.com/repos/docker/docker/labels/impact/changelog","name":"impact/changelog","color":"bfe5bf"},{"url":"https://api.github.com/repos/docker/docker/labels/status/4-merge","name":"status/4-merge","color":"d4c5f9"}],"state":"open","locked":false,"assignee":{"login":"thaJeztah","id":1804568,"avatar_url":"https://avatars.githubusercontent.com/u/1804568?v=3","gravatar_id":"","url":"https://api.github.com/users/thaJeztah","html_url":"https://github.com/thaJeztah","followers_url":"https://api.github.com/users/thaJeztah/followers","following_url":"https://api.github.com/users/thaJeztah/following{/other_user}","gists_url":"https://api.github.com/users/thaJeztah/gists{/gist_id}","starred_url":"https://api.github.com/users/thaJeztah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thaJeztah/subscriptions","organizations_url":"https://api.github.com/users/thaJeztah/orgs","repos_url":"https://api.github.com/users/thaJeztah/repos","events_url":"https://api.github.com/users/thaJeztah/events{/privacy}","received_events_url":"https://api.github.com/users/thaJeztah/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/docker/docker/milestones/49","html_url":"https://github.com/docker/docker/milestones/1.11.0","labels_url":"https://api.github.com/repos/docker/docker/milestones/49/labels","id":1529231,"number":49,"title":"1.11.0","description":"Code freeze / feature freeze 22 March 2016\r\nPlanned release: 12 April 2016\r\n\r\nhttps://github.com/docker/docker/wiki/Engine-1.11.0","creator":{"login":"thaJeztah","id":1804568,"avatar_url":"https://avatars.githubusercontent.com/u/1804568?v=3","gravatar_id":"","url":"https://api.github.com/users/thaJeztah","html_url":"https://github.com/thaJeztah","followers_url":"https://api.github.com/users/thaJeztah/followers","following_url":"https://api.github.com/users/thaJeztah/following{/other_user}","gists_url":"https://api.github.com/users/thaJeztah/gists{/gist_id}","starred_url":"https://api.github.com/users/thaJeztah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thaJeztah/subscriptions","organizations_url":"https://api.github.com/users/thaJeztah/orgs","repos_url":"https://api.github.com/users/thaJeztah/repos","events_url":"https://api.github.com/users/thaJeztah/events{/privacy}","received_events_url":"https://api.github.com/users/thaJeztah/received_events","type":"User","site_admin":false},"open_issues":23,"closed_issues":91,"state":"open","created_at":"2016-01-21T01:33:46Z","updated_at":"2016-03-22T04:49:48Z","due_on":"2016-04-11T07:00:00Z","closed_at":null},"comments":40,"created_at":"2016-03-09T00:52:40Z","updated_at":"2016-03-22T06:42:16Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/docker/docker/pulls/21046","html_url":"https://github.com/docker/docker/pull/21046","diff_url":"https://github.com/docker/docker/pull/21046.diff","patch_url":"https://github.com/docker/docker/pull/21046.patch"},"body":"This PR enables trusted pushes to sign to all top level (\"targets/X\") delegation roles, not just \"targets/releases\", which may enable users to be able to push to their own name-spaced delegation role as well.\r\n\r\nIt updates the repo, finds out which delegation roles the user has keys for, and attempts to add the tag to all of those roles.  If there are no delegation roles, we fall back on the target role as before.\r\n\r\nTo validate the feature, create a repo with docker, and then use the notary CLI as described here to add a delegation:  https://docs.docker.com/notary/advanced_usage/#work-with-delegation-roles.  You can use one of the fixture key pairs.  After publishing using the notary CLI, use trusted push again.\r\n\r\nYou can verify that the target has been added to `~/.docker/trust/tuf/docker.io/username/repo/metadata/targets/releases.json`.  Alternately, do a `docker pull <tag>` of that repo with content trust enabled, and ensure that what gets pulled is the same has as your *second* push.\r\n\r\n![quokka](https://cuteoverload.files.wordpress.com/2016/01/a-very-friendly-quokka-imgur.jpg?w=600&h=600)"},"comment":{"url":"https://api.github.com/repos/docker/docker/issues/comments/199660949","html_url":"https://github.com/docker/docker/pull/21046#issuecomment-199660949","issue_url":"https://api.github.com/repos/docker/docker/issues/21046","id":199660949,"user":{"login":"vdemeester","id":6508,"avatar_url":"https://avatars.githubusercontent.com/u/6508?v=3","gravatar_id":"","url":"https://api.github.com/users/vdemeester","html_url":"https://github.com/vdemeester","followers_url":"https://api.github.com/users/vdemeester/followers","following_url":"https://api.github.com/users/vdemeester/following{/other_user}","gists_url":"https://api.github.com/users/vdemeester/gists{/gist_id}","starred_url":"https://api.github.com/users/vdemeester/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vdemeester/subscriptions","organizations_url":"https://api.github.com/users/vdemeester/orgs","repos_url":"https://api.github.com/users/vdemeester/repos","events_url":"https://api.github.com/users/vdemeester/events{/privacy}","received_events_url":"https://api.github.com/users/vdemeester/received_events","type":"User","site_admin":false},"created_at":"2016-03-22T06:42:16Z","updated_at":"2016-03-22T06:42:16Z","body":"LGTM and all :green_heart: "}}