{"action":"created","issue":{"url":"https://api.github.com/repos/docker/libkv/issues/49","labels_url":"https://api.github.com/repos/docker/libkv/issues/49/labels{/name}","comments_url":"https://api.github.com/repos/docker/libkv/issues/49/comments","events_url":"https://api.github.com/repos/docker/libkv/issues/49/events","html_url":"https://github.com/docker/libkv/issues/49","id":104541936,"number":49,"title":"Libkv should allow to independently vendor store backends","user":{"login":"abronan","id":1655859,"avatar_url":"https://avatars.githubusercontent.com/u/1655859?v=3","gravatar_id":"","url":"https://api.github.com/users/abronan","html_url":"https://github.com/abronan","followers_url":"https://api.github.com/users/abronan/followers","following_url":"https://api.github.com/users/abronan/following{/other_user}","gists_url":"https://api.github.com/users/abronan/gists{/gist_id}","starred_url":"https://api.github.com/users/abronan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abronan/subscriptions","organizations_url":"https://api.github.com/users/abronan/orgs","repos_url":"https://api.github.com/users/abronan/repos","events_url":"https://api.github.com/users/abronan/events{/privacy}","received_events_url":"https://api.github.com/users/abronan/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/docker/libkv/labels/drivers","name":"drivers","color":"006b75"},{"url":"https://api.github.com/repos/docker/libkv/labels/kind/enhancement","name":"kind/enhancement","color":"E8CAAF"},{"url":"https://api.github.com/repos/docker/libkv/labels/kind/proposal","name":"kind/proposal","color":"bfe5bf"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-09-02T18:17:01Z","updated_at":"2015-09-06T06:20:45Z","closed_at":null,"body":"We recently added the `boltdb` backend and now we have to vendor 10K additional LoC regardless of the fact that we use `boltDB` or not (in swarm for example).\r\n\r\nUltimately we should vendor only the stores that are relevant to someone's usage (vendoring `consul`/`etcd`/`zookeeper` together makes sense as it is the case to vendor `boltdb`/`leveldb`/`rocksdb` together potentially, etc.)\r\n\r\nThe only solution I see for now is to remove the `libkv.go` entrypoint and let the user import and handle the logic of instantiating the Store. The experience is not seamless but I prefer this to the solution of vendoring 10K LoC that we don't use :confused: "},"comment":{"url":"https://api.github.com/repos/docker/libkv/issues/comments/138046291","html_url":"https://github.com/docker/libkv/issues/49#issuecomment-138046291","issue_url":"https://api.github.com/repos/docker/libkv/issues/49","id":138046291,"user":{"login":"victorcoder","id":47026,"avatar_url":"https://avatars.githubusercontent.com/u/47026?v=3","gravatar_id":"","url":"https://api.github.com/users/victorcoder","html_url":"https://github.com/victorcoder","followers_url":"https://api.github.com/users/victorcoder/followers","following_url":"https://api.github.com/users/victorcoder/following{/other_user}","gists_url":"https://api.github.com/users/victorcoder/gists{/gist_id}","starred_url":"https://api.github.com/users/victorcoder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/victorcoder/subscriptions","organizations_url":"https://api.github.com/users/victorcoder/orgs","repos_url":"https://api.github.com/users/victorcoder/repos","events_url":"https://api.github.com/users/victorcoder/events{/privacy}","received_events_url":"https://api.github.com/users/victorcoder/received_events","type":"User","site_admin":false},"created_at":"2015-09-06T06:20:45Z","updated_at":"2015-09-06T06:20:45Z","body":"What about using new golang vendoring with something like https://github.com/Masterminds/glide and ignore de vendor folder?"}}