{"action":"created","issue":{"url":"https://api.github.com/repos/docker/machine/issues/2453","labels_url":"https://api.github.com/repos/docker/machine/issues/2453/labels{/name}","comments_url":"https://api.github.com/repos/docker/machine/issues/2453/comments","events_url":"https://api.github.com/repos/docker/machine/issues/2453/events","html_url":"https://github.com/docker/machine/pull/2453","id":119437421,"number":2453,"title":"Put all core drivers in docker-machine binary","user":{"login":"dgageot","id":153495,"avatar_url":"https://avatars.githubusercontent.com/u/153495?v=3","gravatar_id":"","url":"https://api.github.com/users/dgageot","html_url":"https://github.com/dgageot","followers_url":"https://api.github.com/users/dgageot/followers","following_url":"https://api.github.com/users/dgageot/following{/other_user}","gists_url":"https://api.github.com/users/dgageot/gists{/gist_id}","starred_url":"https://api.github.com/users/dgageot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dgageot/subscriptions","organizations_url":"https://api.github.com/users/dgageot/orgs","repos_url":"https://api.github.com/users/dgageot/repos","events_url":"https://api.github.com/users/dgageot/events{/privacy}","received_events_url":"https://api.github.com/users/dgageot/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/docker/machine/labels/kind/quality","name":"kind/quality","color":"bfd4f2"},{"url":"https://api.github.com/repos/docker/machine/labels/status/0-triage","name":"status/0-triage","color":"fef2c0"}],"state":"open","locked":false,"assignee":{"login":"dgageot","id":153495,"avatar_url":"https://avatars.githubusercontent.com/u/153495?v=3","gravatar_id":"","url":"https://api.github.com/users/dgageot","html_url":"https://github.com/dgageot","followers_url":"https://api.github.com/users/dgageot/followers","following_url":"https://api.github.com/users/dgageot/following{/other_user}","gists_url":"https://api.github.com/users/dgageot/gists{/gist_id}","starred_url":"https://api.github.com/users/dgageot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dgageot/subscriptions","organizations_url":"https://api.github.com/users/dgageot/orgs","repos_url":"https://api.github.com/users/dgageot/repos","events_url":"https://api.github.com/users/dgageot/events{/privacy}","received_events_url":"https://api.github.com/users/dgageot/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/docker/machine/milestones/8","html_url":"https://github.com/docker/machine/milestones/0.5.3","labels_url":"https://api.github.com/repos/docker/machine/milestones/8/labels","id":1373607,"number":8,"title":"0.5.3","description":"","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":38,"closed_issues":13,"state":"open","created_at":"2015-10-24T04:12:22Z","updated_at":"2015-12-02T23:42:12Z","due_on":"2015-12-14T08:00:00Z","closed_at":null},"comments":5,"created_at":"2015-11-30T07:51:58Z","updated_at":"2015-12-03T01:29:16Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/docker/machine/pulls/2453","html_url":"https://github.com/docker/machine/pull/2453","diff_url":"https://github.com/docker/machine/pull/2453.diff","patch_url":"https://github.com/docker/machine/pull/2453.patch"},"body":"Let's package all core-drivers into the main docker-machine binary.\r\nThis has multiple advantages:\r\n\r\n- Much faster build (8s vs 47s on my laptop)\r\n- Much smaller distribution (15Mb vs 125Mb)\r\n- One step towards being go gettable\r\n\r\nSigned-off-by: David Gageot <david@gageot.net>"},"comment":{"url":"https://api.github.com/repos/docker/machine/issues/comments/161487141","html_url":"https://github.com/docker/machine/pull/2453#issuecomment-161487141","issue_url":"https://api.github.com/repos/docker/machine/issues/2453","id":161487141,"user":{"login":"nathanleclaire","id":1476820,"avatar_url":"https://avatars.githubusercontent.com/u/1476820?v=3","gravatar_id":"","url":"https://api.github.com/users/nathanleclaire","html_url":"https://github.com/nathanleclaire","followers_url":"https://api.github.com/users/nathanleclaire/followers","following_url":"https://api.github.com/users/nathanleclaire/following{/other_user}","gists_url":"https://api.github.com/users/nathanleclaire/gists{/gist_id}","starred_url":"https://api.github.com/users/nathanleclaire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathanleclaire/subscriptions","organizations_url":"https://api.github.com/users/nathanleclaire/orgs","repos_url":"https://api.github.com/users/nathanleclaire/repos","events_url":"https://api.github.com/users/nathanleclaire/events{/privacy}","received_events_url":"https://api.github.com/users/nathanleclaire/received_events","type":"User","site_admin":false},"created_at":"2015-12-03T01:29:16Z","updated_at":"2015-12-03T01:29:16Z","body":"> Driver developers would compile a version of docker-machine that doesn't contain their driver as a core driver. I think it's basic enough.\r\n\r\nNo, I mean that when we move drivers like `rackspace` out, if the users have a version of `docker-machine` with the `rackspace` driver bundled, they'll have to update `docker-machine` (to get a version that _doesn't_ bundle `rackspace`) _and_ download the `docker-machine-driver-rackspace` binary.  Don't you feel that will be confusing?\r\n\r\n> Let's see if we break something someday and then we can react.\r\n\r\nIsn't that approach likely to result in a lot of broken code?\r\n\r\n> This PR make embedding docker-machine much more realistic. 125Mb is way too bug. Users have complained #2130, docker staff has complained cc @michaKFromParis. We have to fix that\r\n\r\nI agree that the excess disk space usage is bad.\r\n\r\nI'm really skittish on this until we have better documentation around driver installation as well.  With the current installation method, it's clear to see that you are getting `docker-machine-driver-*` for each provider, and follow intuitively that installing new ones is done using the same method.  How are users supposed to know how to install plugins if some are bundled into the main binary and some are externally loaded?\r\n\r\nThat being said, the motivation for doing this is pretty reasonable, and I'm OK with merging it _if and only if_ we introduce regression testing for externally loaded plugins (something automated which is run in CI)."}}