{"action":"created","issue":{"url":"https://api.github.com/repos/yyyar/gobetween/issues/76","repository_url":"https://api.github.com/repos/yyyar/gobetween","labels_url":"https://api.github.com/repos/yyyar/gobetween/issues/76/labels{/name}","comments_url":"https://api.github.com/repos/yyyar/gobetween/issues/76/comments","events_url":"https://api.github.com/repos/yyyar/gobetween/issues/76/events","html_url":"https://github.com/yyyar/gobetween/pull/76","id":221831528,"number":76,"title":"LXD backend discovery support","user":{"login":"jtopjian","id":46959,"avatar_url":"https://avatars3.githubusercontent.com/u/46959?v=3","gravatar_id":"","url":"https://api.github.com/users/jtopjian","html_url":"https://github.com/jtopjian","followers_url":"https://api.github.com/users/jtopjian/followers","following_url":"https://api.github.com/users/jtopjian/following{/other_user}","gists_url":"https://api.github.com/users/jtopjian/gists{/gist_id}","starred_url":"https://api.github.com/users/jtopjian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtopjian/subscriptions","organizations_url":"https://api.github.com/users/jtopjian/orgs","repos_url":"https://api.github.com/users/jtopjian/repos","events_url":"https://api.github.com/users/jtopjian/events{/privacy}","received_events_url":"https://api.github.com/users/jtopjian/received_events","type":"User","site_admin":false},"labels":[{"id":388336919,"url":"https://api.github.com/repos/yyyar/gobetween/labels/feature","name":"feature","color":"0052cc","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/yyyar/gobetween/milestones/5","html_url":"https://github.com/yyyar/gobetween/milestone/5","labels_url":"https://api.github.com/repos/yyyar/gobetween/milestones/5/labels","id":2397388,"number":5,"title":"0.5.0","description":"","creator":{"login":"yyyar","id":219061,"avatar_url":"https://avatars0.githubusercontent.com/u/219061?v=3","gravatar_id":"","url":"https://api.github.com/users/yyyar","html_url":"https://github.com/yyyar","followers_url":"https://api.github.com/users/yyyar/followers","following_url":"https://api.github.com/users/yyyar/following{/other_user}","gists_url":"https://api.github.com/users/yyyar/gists{/gist_id}","starred_url":"https://api.github.com/users/yyyar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yyyar/subscriptions","organizations_url":"https://api.github.com/users/yyyar/orgs","repos_url":"https://api.github.com/users/yyyar/repos","events_url":"https://api.github.com/users/yyyar/events{/privacy}","received_events_url":"https://api.github.com/users/yyyar/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":0,"state":"open","created_at":"2017-03-20T10:30:03Z","updated_at":"2017-06-03T09:41:08Z","due_on":null,"closed_at":null},"comments":39,"created_at":"2017-04-14T15:30:50Z","updated_at":"2017-06-04T20:35:40Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/yyyar/gobetween/pulls/76","html_url":"https://github.com/yyyar/gobetween/pull/76","diff_url":"https://github.com/yyyar/gobetween/pull/76.diff","patch_url":"https://github.com/yyyar/gobetween/pull/76.patch"},"body":"Hello,\r\n\r\nI think gobetween would be a great fit for LXD containers, so I made a proof-of-concept discovery. The idea is to configure the LXD discovery like any other discovery mechanism, and then launch an LXD container like so:\r\n\r\n```shell\r\n$ lxc launch ubuntu foo --config user.gobetween.label=\"foo\" --config user.gobetween.private_port=80\r\n```\r\n\r\nLXD reserves the `user.*` config key for user-specified metadata. The full config reference is [here](https://github.com/lxc/lxd/blob/master/doc/configuration.md)\r\n\r\nRight now, discovery is only done on the local server, so only local containers are discovered. However, it could be extended to support remote LXD server(s).\r\n\r\nI'm happy to answer any questions about this feature. In addition, I wasn't able to find a doc that lists the requirements for contributing a patch, so please let me know if I need to do anything else.\r\n\r\nWhat I would really like to do is use gobetween to dynamically generate server entries based on containers. This is because LXD does not provide a built-in mechanism to automatically handle external-to-container traffic (similar to publishing a docker port). In effect, gobetween would supply that support. I understand this might be too much of a niche case for gobetween, though. Perhaps a better solution is to write a glue utility that bridges the LXD server and gobetween by using the gobetween REST API rather than have gobetween directly support this."},"comment":{"url":"https://api.github.com/repos/yyyar/gobetween/issues/comments/306065182","html_url":"https://github.com/yyyar/gobetween/pull/76#issuecomment-306065182","issue_url":"https://api.github.com/repos/yyyar/gobetween/issues/76","id":306065182,"user":{"login":"illarion","id":535541,"avatar_url":"https://avatars0.githubusercontent.com/u/535541?v=3","gravatar_id":"","url":"https://api.github.com/users/illarion","html_url":"https://github.com/illarion","followers_url":"https://api.github.com/users/illarion/followers","following_url":"https://api.github.com/users/illarion/following{/other_user}","gists_url":"https://api.github.com/users/illarion/gists{/gist_id}","starred_url":"https://api.github.com/users/illarion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illarion/subscriptions","organizations_url":"https://api.github.com/users/illarion/orgs","repos_url":"https://api.github.com/users/illarion/repos","events_url":"https://api.github.com/users/illarion/events{/privacy}","received_events_url":"https://api.github.com/users/illarion/received_events","type":"User","site_admin":false},"created_at":"2017-06-04T20:35:40Z","updated_at":"2017-06-04T20:35:40Z","body":"@shantanugadgil could you please share the corresponding piece of config?"}}
{"actor":{"display_login":"illarion"}}