{"action":"created","issue":{"url":"https://api.github.com/repos/jalcine/wintermute/issues/14","labels_url":"https://api.github.com/repos/jalcine/wintermute/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/jalcine/wintermute/issues/14/comments","events_url":"https://api.github.com/repos/jalcine/wintermute/issues/14/events","html_url":"https://github.com/jalcine/wintermute/issues/14","id":17891324,"number":14,"title":"Build Core Plug-ins","user":{"login":"jalcine","id":452100,"avatar_url":"https://avatars.githubusercontent.com/u/452100?v=3","gravatar_id":"","url":"https://api.github.com/users/jalcine","html_url":"https://github.com/jalcine","followers_url":"https://api.github.com/users/jalcine/followers","following_url":"https://api.github.com/users/jalcine/following{/other_user}","gists_url":"https://api.github.com/users/jalcine/gists{/gist_id}","starred_url":"https://api.github.com/users/jalcine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jalcine/subscriptions","organizations_url":"https://api.github.com/users/jalcine/orgs","repos_url":"https://api.github.com/users/jalcine/repos","events_url":"https://api.github.com/users/jalcine/events{/privacy}","received_events_url":"https://api.github.com/users/jalcine/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/jalcine/wintermute/labels/core","name":"core","color":"5319e7"},{"url":"https://api.github.com/repos/jalcine/wintermute/labels/plugins","name":"plugins","color":"fbca04"},{"url":"https://api.github.com/repos/jalcine/wintermute/labels/ready","name":"ready","color":"ededed"},{"url":"https://api.github.com/repos/jalcine/wintermute/labels/waffle:in%20progress","name":"waffle:in progress","color":"eac04b"}],"state":"open","locked":false,"assignee":{"login":"jalcine","id":452100,"avatar_url":"https://avatars.githubusercontent.com/u/452100?v=3","gravatar_id":"","url":"https://api.github.com/users/jalcine","html_url":"https://github.com/jalcine","followers_url":"https://api.github.com/users/jalcine/followers","following_url":"https://api.github.com/users/jalcine/following{/other_user}","gists_url":"https://api.github.com/users/jalcine/gists{/gist_id}","starred_url":"https://api.github.com/users/jalcine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jalcine/subscriptions","organizations_url":"https://api.github.com/users/jalcine/orgs","repos_url":"https://api.github.com/users/jalcine/repos","events_url":"https://api.github.com/users/jalcine/events{/privacy}","received_events_url":"https://api.github.com/users/jalcine/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/jalcine/wintermute/milestones/1","html_url":"https://github.com/jalcine/wintermute/milestones/v0.1.x","labels_url":"https://api.github.com/repos/jalcine/wintermute/milestones/1/labels","id":396267,"number":1,"title":"v0.1.x","description":"# v0.1.0 - First Drop","creator":{"login":"jalcine","id":452100,"avatar_url":"https://avatars.githubusercontent.com/u/452100?v=3","gravatar_id":"","url":"https://api.github.com/users/jalcine","html_url":"https://github.com/jalcine","followers_url":"https://api.github.com/users/jalcine/followers","following_url":"https://api.github.com/users/jalcine/following{/other_user}","gists_url":"https://api.github.com/users/jalcine/gists{/gist_id}","starred_url":"https://api.github.com/users/jalcine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jalcine/subscriptions","organizations_url":"https://api.github.com/users/jalcine/orgs","repos_url":"https://api.github.com/users/jalcine/repos","events_url":"https://api.github.com/users/jalcine/events{/privacy}","received_events_url":"https://api.github.com/users/jalcine/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":29,"state":"open","created_at":"2013-08-07T03:05:38Z","updated_at":"2015-03-31T21:15:03Z","due_on":"2015-06-07T04:00:00Z","closed_at":null},"comments":9,"created_at":"2013-08-10T00:20:57Z","updated_at":"2015-03-31T21:22:32Z","closed_at":null,"body":"Wintermute, by design, does nothing but listen and log by itself. However,\r\nwith plug-ins, it can extend and grow as necessary. The following are plug-ins\r\nrequired for Wintermute to provide its initial usefulness.\r\n\r\n+ [x] Daemon (`wintermute-daemon`) - Provides Wintermute with logic necessary\r\n  to hang out in the background and manage computer-specific logic.\r\n  [~~#49~~]\r\n+ [x] Heartbeat (`wintermute-heartbeat`) - Drops in the logic required to\r\n  get Wintermute processes a bit more friendly to one another.\r\n  [#54]\r\n+ ~~[ ] D-Bus Dispatcher/Receiver Support (`wintermute-transport-dbus`) - Allows\r\n  Wintermute to communicate over the D-Bus protocol. [pull request #48]~~\r\n+ [x] ZeroMQ Dispatcher/Receiver Support (`wintermute-transport-zeromq`) -\r\n  Allows Wintermute to communicate using ZeroMQ as the message broker. [pull request #38]\r\n+ ~~[ ] HTTP Dispatcher/Receiver Support (`wintermute-transport-http`) -\r\n  Allows Wintermute to communicate to other services over HTTP by exposing a\r\n  REST API. [pull request pending]~~\r\n\r\nThe act of the daemon plugin would be to handle the starting of integral\r\nWintermute processes. These would be the following:\r\n\r\n**Process 1**: Serves as the gate-keeper instance for the local machine to the\r\noutside world.\r\n+ [x] heartbeat instance (a la `wintermute-heartbeat`)\r\n+ [x] local network relay instance over TCP (a la `wintermute-transport-zeromq`)\r\n\r\n\r\nHeartbeat plug-ins act like a middleman in each process that it's loaded in to\r\ncheck the existence of other modules in processes it can communicate with. This\r\nallows Wintermute to have a sense of who's where and helps other modules\r\ndetermining whether or not they should start another process.\r\n\r\nThese are merely extensions to the whole `Wintermute::Tunnel::Dispatcher` and\r\n`Wintermute::Tunnel::Receiver` abstract interfaces to allow for transparent\r\nmessaging over these message brokers.\r\n\r\nThis allows local applications that don't use the TCP socket form of connectivity\r\nwith Wintermute or don't have bindings for it to connect using a REST-like API.\r\n\r\n---\r\n**Update 2015-03-31 17:18:32 EDT**: Dropped the idea of using D-Bus. That's something someone else can build (or I might, in the future), if it's absolutely needed."},"comment":{"url":"https://api.github.com/repos/jalcine/wintermute/issues/comments/88254666","html_url":"https://github.com/jalcine/wintermute/issues/14#issuecomment-88254666","issue_url":"https://api.github.com/repos/jalcine/wintermute/issues/14","id":88254666,"user":{"login":"jalcine","id":452100,"avatar_url":"https://avatars.githubusercontent.com/u/452100?v=3","gravatar_id":"","url":"https://api.github.com/users/jalcine","html_url":"https://github.com/jalcine","followers_url":"https://api.github.com/users/jalcine/followers","following_url":"https://api.github.com/users/jalcine/following{/other_user}","gists_url":"https://api.github.com/users/jalcine/gists{/gist_id}","starred_url":"https://api.github.com/users/jalcine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jalcine/subscriptions","organizations_url":"https://api.github.com/users/jalcine/orgs","repos_url":"https://api.github.com/users/jalcine/repos","events_url":"https://api.github.com/users/jalcine/events{/privacy}","received_events_url":"https://api.github.com/users/jalcine/received_events","type":"User","site_admin":false},"created_at":"2015-03-31T21:22:32Z","updated_at":"2015-03-31T21:22:32Z","body":"Merging this and making a new gotdamn release. Love clean slates."}}