{"action":"created","issue":{"url":"https://api.github.com/repos/docker/docker-registry/issues/658","labels_url":"https://api.github.com/repos/docker/docker-registry/issues/658/labels{/name}","comments_url":"https://api.github.com/repos/docker/docker-registry/issues/658/comments","events_url":"https://api.github.com/repos/docker/docker-registry/issues/658/events","html_url":"https://github.com/docker/docker-registry/issues/658","id":47093336,"number":658,"title":"NG: mirroring model","user":{"login":"dmp42","id":332946,"avatar_url":"https://avatars.githubusercontent.com/u/332946?v=3","gravatar_id":"","url":"https://api.github.com/users/dmp42","html_url":"https://github.com/dmp42","followers_url":"https://api.github.com/users/dmp42/followers","following_url":"https://api.github.com/users/dmp42/following{/other_user}","gists_url":"https://api.github.com/users/dmp42/gists{/gist_id}","starred_url":"https://api.github.com/users/dmp42/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmp42/subscriptions","organizations_url":"https://api.github.com/users/dmp42/orgs","repos_url":"https://api.github.com/users/dmp42/repos","events_url":"https://api.github.com/users/dmp42/events{/privacy}","received_events_url":"https://api.github.com/users/dmp42/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/docker/docker-registry/labels/Next-generation","name":"Next-generation","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/docker/docker-registry/milestones/10","labels_url":"https://api.github.com/repos/docker/docker-registry/milestones/10/labels","id":855306,"number":10,"title":"GO-beta","description":"Feature complete version of the new registry.","creator":{"login":"dmp42","id":332946,"avatar_url":"https://avatars.githubusercontent.com/u/332946?v=3","gravatar_id":"","url":"https://api.github.com/users/dmp42","html_url":"https://github.com/dmp42","followers_url":"https://api.github.com/users/dmp42/followers","following_url":"https://api.github.com/users/dmp42/following{/other_user}","gists_url":"https://api.github.com/users/dmp42/gists{/gist_id}","starred_url":"https://api.github.com/users/dmp42/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmp42/subscriptions","organizations_url":"https://api.github.com/users/dmp42/orgs","repos_url":"https://api.github.com/users/dmp42/repos","events_url":"https://api.github.com/users/dmp42/events{/privacy}","received_events_url":"https://api.github.com/users/dmp42/received_events","type":"User","site_admin":false},"open_issues":7,"closed_issues":22,"state":"open","created_at":"2014-11-05T22:47:03Z","updated_at":"2014-12-23T23:14:40Z","due_on":"2015-01-16T08:00:00Z","closed_at":null},"comments":4,"created_at":"2014-10-28T23:10:52Z","updated_at":"2015-01-06T01:42:19Z","closed_at":null,"body":"The current registry supports mirroring.\r\nWe need to have the same kind of feature.\r\n\r\nThe bottom-line is:\r\n\r\n * act as a caching proxy, likely with configurable TTL on manifest files\r\n * support bytes-range end-to-end"},"comment":{"url":"https://api.github.com/repos/docker/docker-registry/issues/comments/68813965","html_url":"https://github.com/docker/docker-registry/issues/658#issuecomment-68813965","issue_url":"https://api.github.com/repos/docker/docker-registry/issues/658","id":68813965,"user":{"login":"stevvooe","id":120601,"avatar_url":"https://avatars.githubusercontent.com/u/120601?v=3","gravatar_id":"","url":"https://api.github.com/users/stevvooe","html_url":"https://github.com/stevvooe","followers_url":"https://api.github.com/users/stevvooe/followers","following_url":"https://api.github.com/users/stevvooe/following{/other_user}","gists_url":"https://api.github.com/users/stevvooe/gists{/gist_id}","starred_url":"https://api.github.com/users/stevvooe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stevvooe/subscriptions","organizations_url":"https://api.github.com/users/stevvooe/orgs","repos_url":"https://api.github.com/users/stevvooe/repos","events_url":"https://api.github.com/users/stevvooe/events{/privacy}","received_events_url":"https://api.github.com/users/stevvooe/received_events","type":"User","site_admin":false},"created_at":"2015-01-06T01:42:19Z","updated_at":"2015-01-06T01:42:19Z","body":"This issue has been superseded by docker/distribution#19, which includes an overview of the intended implementation.\r\n\r\n@bobrik Actual storage for mirroring will be accomplished within the registry. If the registry is not configured as a mirror, content will not be pulled from that registry. We may be able to make caching the content locally an optional configuration parameter to allow for local, non-cached mirrors. The client can be pointed at the local registry, deferring the decision of whether to fetch the remote content to the local registry. The new registry will be able to run as a cluster with a shared storage backend, allowing for HA and scaling. For the most part, nodes are shared-nothing except for the storage backend and possibly a caching system, such as redis."}}