{"action":"created","issue":{"url":"https://api.github.com/repos/moby/moby/issues/34144","repository_url":"https://api.github.com/repos/moby/moby","labels_url":"https://api.github.com/repos/moby/moby/issues/34144/labels{/name}","comments_url":"https://api.github.com/repos/moby/moby/issues/34144/comments","events_url":"https://api.github.com/repos/moby/moby/issues/34144/events","html_url":"https://github.com/moby/moby/pull/34144","id":243475188,"number":34144,"title":"[POC] Break subsystem deps","user":{"login":"cpuguy83","id":799078,"avatar_url":"https://avatars3.githubusercontent.com/u/799078?v=4","gravatar_id":"","url":"https://api.github.com/users/cpuguy83","html_url":"https://github.com/cpuguy83","followers_url":"https://api.github.com/users/cpuguy83/followers","following_url":"https://api.github.com/users/cpuguy83/following{/other_user}","gists_url":"https://api.github.com/users/cpuguy83/gists{/gist_id}","starred_url":"https://api.github.com/users/cpuguy83/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cpuguy83/subscriptions","organizations_url":"https://api.github.com/users/cpuguy83/orgs","repos_url":"https://api.github.com/users/cpuguy83/repos","events_url":"https://api.github.com/users/cpuguy83/events{/privacy}","received_events_url":"https://api.github.com/users/cpuguy83/received_events","type":"User","site_admin":false},"labels":[{"id":175374554,"url":"https://api.github.com/repos/moby/moby/labels/status/0-triage","name":"status/0-triage","color":"EEEEEE","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-07-17T17:52:49Z","updated_at":"2017-07-17T17:53:19Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/moby/moby/pulls/34144","html_url":"https://github.com/moby/moby/pull/34144","diff_url":"https://github.com/moby/moby/pull/34144.diff","patch_url":"https://github.com/moby/moby/pull/34144.patch"},"body":"Right now the `Daemon` object is a mix of a few different things, it provides service discovery to various subsystems (b/c it caches it on the struct and provides accessors to them), it's a container manager, it's a volume manager, it is an API controller, etc...\r\nThe `Daemon` object is required to have lots of deep knowledge about various subystems, deals with large interfaces and is generally difficult to find what pieces are needed for different subsystems, what touches what.\r\n\r\nThis is a POC to introduce a component store which breaks away the need of storing a bunch of objects on the daemon in favor of a common registry for components.\r\nI've provided an example of this decoupling with the plugin manager (even more to do here, really).\r\nIt would be nice to even break the plugin manager up into even smaller components, but I didn't want to begin doing that here.\r\n\r\nPosting for comments on design before going any further with it."},"comment":{"url":"https://api.github.com/repos/moby/moby/issues/comments/315830503","html_url":"https://github.com/moby/moby/pull/34144#issuecomment-315830503","issue_url":"https://api.github.com/repos/moby/moby/issues/34144","id":315830503,"user":{"login":"cpuguy83","id":799078,"avatar_url":"https://avatars3.githubusercontent.com/u/799078?v=4","gravatar_id":"","url":"https://api.github.com/users/cpuguy83","html_url":"https://github.com/cpuguy83","followers_url":"https://api.github.com/users/cpuguy83/followers","following_url":"https://api.github.com/users/cpuguy83/following{/other_user}","gists_url":"https://api.github.com/users/cpuguy83/gists{/gist_id}","starred_url":"https://api.github.com/users/cpuguy83/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cpuguy83/subscriptions","organizations_url":"https://api.github.com/users/cpuguy83/orgs","repos_url":"https://api.github.com/users/cpuguy83/repos","events_url":"https://api.github.com/users/cpuguy83/events{/privacy}","received_events_url":"https://api.github.com/users/cpuguy83/received_events","type":"User","site_admin":false},"created_at":"2017-07-17T17:53:19Z","updated_at":"2017-07-17T17:53:19Z","body":"ping @stevvooe @dnephin "}}
{"actor":{"display_login":"cpuguy83"}}