{"action":"created","issue":{"url":"https://api.github.com/repos/docker/distribution/issues/888","labels_url":"https://api.github.com/repos/docker/distribution/issues/888/labels{/name}","comments_url":"https://api.github.com/repos/docker/distribution/issues/888/comments","events_url":"https://api.github.com/repos/docker/distribution/issues/888/events","html_url":"https://github.com/docker/distribution/pull/888","id":101541852,"number":888,"title":"More flexible environment variable overrides","user":{"login":"aaronlehmann","id":10601430,"avatar_url":"https://avatars.githubusercontent.com/u/10601430?v=3","gravatar_id":"","url":"https://api.github.com/users/aaronlehmann","html_url":"https://github.com/aaronlehmann","followers_url":"https://api.github.com/users/aaronlehmann/followers","following_url":"https://api.github.com/users/aaronlehmann/following{/other_user}","gists_url":"https://api.github.com/users/aaronlehmann/gists{/gist_id}","starred_url":"https://api.github.com/users/aaronlehmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aaronlehmann/subscriptions","organizations_url":"https://api.github.com/users/aaronlehmann/orgs","repos_url":"https://api.github.com/users/aaronlehmann/repos","events_url":"https://api.github.com/users/aaronlehmann/events{/privacy}","received_events_url":"https://api.github.com/users/aaronlehmann/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/docker/distribution/labels/status/0-triage","name":"status/0-triage","color":"ededed"}],"state":"open","locked":false,"assignee":{"login":"aaronlehmann","id":10601430,"avatar_url":"https://avatars.githubusercontent.com/u/10601430?v=3","gravatar_id":"","url":"https://api.github.com/users/aaronlehmann","html_url":"https://github.com/aaronlehmann","followers_url":"https://api.github.com/users/aaronlehmann/followers","following_url":"https://api.github.com/users/aaronlehmann/following{/other_user}","gists_url":"https://api.github.com/users/aaronlehmann/gists{/gist_id}","starred_url":"https://api.github.com/users/aaronlehmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aaronlehmann/subscriptions","organizations_url":"https://api.github.com/users/aaronlehmann/orgs","repos_url":"https://api.github.com/users/aaronlehmann/repos","events_url":"https://api.github.com/users/aaronlehmann/events{/privacy}","received_events_url":"https://api.github.com/users/aaronlehmann/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/docker/distribution/milestones/9","html_url":"https://github.com/docker/distribution/milestones/Registry/2.2","labels_url":"https://api.github.com/repos/docker/distribution/milestones/9/labels","id":1026605,"number":9,"title":"Registry/2.2","description":"","creator":{"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},"open_issues":42,"closed_issues":37,"state":"open","created_at":"2015-03-18T04:28:58Z","updated_at":"2015-09-03T23:26:21Z","due_on":"2015-10-05T07:00:00Z","closed_at":null},"comments":7,"created_at":"2015-08-18T00:58:15Z","updated_at":"2015-09-04T20:54:58Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/docker/distribution/pulls/888","html_url":"https://github.com/docker/distribution/pull/888","diff_url":"https://github.com/docker/distribution/pull/888.diff","patch_url":"https://github.com/docker/distribution/pull/888.patch"},"body":"Overriding configuration parameters with environment variables used to\r\nwork by walking the configuration structure and checking for a\r\ncorresponding environment variable for each item. This was very limiting\r\nbecause only variables corresponding to items that already existed in\r\nthe configuration structure would be checked. For example, an\r\nenvironment variable corresponding to nested maps would only be noticed\r\nif the outer map's key already existed.\r\n\r\nThis commit changes environment variable overriding to iterate over the\r\nenvironment instead. For environment variables beginning with the\r\nREGISTRY_ prefix, it splits the rest of their names on \"_\", and\r\ninterprets that as a path to the variable to unmarshal into. Map keys\r\nare created as necessary. If we encounter an empty interface partway\r\nthrough following the path, it becomes an implicit\r\nmap[string]interface{}.\r\n\r\nWith the new unit tests added here, parser.go now has 89.2% test\r\ncoverage.\r\n\r\nTestParseWithExtraneousEnvStorageParams was removed, because the limit\r\nof one storage driver is no longer enforced while parsing environment\r\nvariables. Now, Storage.Type will panic if multiple drivers are\r\nspecified.\r\n\r\nSigned-off-by: Aaron Lehmann <aaron.lehmann@docker.com>"},"comment":{"url":"https://api.github.com/repos/docker/distribution/issues/comments/137850031","html_url":"https://github.com/docker/distribution/pull/888#issuecomment-137850031","issue_url":"https://api.github.com/repos/docker/distribution/issues/888","id":137850031,"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-09-04T20:54:58Z","updated_at":"2015-09-04T20:54:58Z","body":"@aaronlehmann I suspect that is not related, but that test failure is disconcerting. I've kicked off a rebuild."}}