{"action":"created","issue":{"url":"https://api.github.com/repos/peterbourgon/gokit/issues/1","labels_url":"https://api.github.com/repos/peterbourgon/gokit/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/peterbourgon/gokit/issues/1/comments","events_url":"https://api.github.com/repos/peterbourgon/gokit/issues/1/events","html_url":"https://github.com/peterbourgon/gokit/issues/1","id":57498928,"number":1,"title":"Configuration","user":{"login":"jtolds","id":109603,"avatar_url":"https://avatars.githubusercontent.com/u/109603?v=3","gravatar_id":"","url":"https://api.github.com/users/jtolds","html_url":"https://github.com/jtolds","followers_url":"https://api.github.com/users/jtolds/followers","following_url":"https://api.github.com/users/jtolds/following{/other_user}","gists_url":"https://api.github.com/users/jtolds/gists{/gist_id}","starred_url":"https://api.github.com/users/jtolds/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtolds/subscriptions","organizations_url":"https://api.github.com/users/jtolds/orgs","repos_url":"https://api.github.com/users/jtolds/repos","events_url":"https://api.github.com/users/jtolds/events{/privacy}","received_events_url":"https://api.github.com/users/jtolds/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":14,"created_at":"2015-02-12T18:23:56Z","updated_at":"2015-02-12T21:11:27Z","closed_at":null,"body":"Filing an issue so we consider unified configuration of some kind. \r\n\r\nMotivating example (though definitely not the only case): let's say a gokit process does want to do Dapper/Zipkin style tracing. The process will need to know where to forward the tracing information to, which won't be known at compile time.\r\n\r\nIt would be nice if all of the gokit packages were configured in the same or similar way, so that as they are used modularly, configuration of subpackages happens automatically, with little programmer assistance."},"comment":{"url":"https://api.github.com/repos/peterbourgon/gokit/issues/comments/74153512","html_url":"https://github.com/peterbourgon/gokit/issues/1#issuecomment-74153512","issue_url":"https://api.github.com/repos/peterbourgon/gokit/issues/1","id":74153512,"user":{"login":"jtolds","id":109603,"avatar_url":"https://avatars.githubusercontent.com/u/109603?v=3","gravatar_id":"","url":"https://api.github.com/users/jtolds","html_url":"https://github.com/jtolds","followers_url":"https://api.github.com/users/jtolds/followers","following_url":"https://api.github.com/users/jtolds/following{/other_user}","gists_url":"https://api.github.com/users/jtolds/gists{/gist_id}","starred_url":"https://api.github.com/users/jtolds/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtolds/subscriptions","organizations_url":"https://api.github.com/users/jtolds/orgs","repos_url":"https://api.github.com/users/jtolds/repos","events_url":"https://api.github.com/users/jtolds/events{/privacy}","received_events_url":"https://api.github.com/users/jtolds/received_events","type":"User","site_admin":false},"created_at":"2015-02-12T21:11:27Z","updated_at":"2015-02-12T21:11:27Z","body":"Yeah, I think I was envisioning that gokit would be an import you could pull into any Go program with very little changes (some startup call in Main, an additional import or two) which was definitely an unstated assumption. \r\n\r\nHaving a shim that does all the default wiring and config be separate seems like a great separation of concerns, so +1\r\n\r\nWould it be worth considering providing a default setup/config/wiring shim that libraries could register with? Much like how you can add drivers to the database/sql package by importing them (`import _ \"github.com/lib/pq\"`), perhaps if you're using the default setup/config/wiring shim you get features for free by just using imports?\r\n\r\nExample: you are using lots of gokit features, but you haven't pulled in the gokit http server (#2). If you were using a default setup/config system, adding it could be as simple as `import _ gokit.io/debug` or something.\r\n\r\nI guess that's what this issue boils down to."}}