{"action":"opened","issue":{"url":"https://api.github.com/repos/rapid7/propsd/issues/150","repository_url":"https://api.github.com/repos/rapid7/propsd","labels_url":"https://api.github.com/repos/rapid7/propsd/issues/150/labels{/name}","comments_url":"https://api.github.com/repos/rapid7/propsd/issues/150/comments","events_url":"https://api.github.com/repos/rapid7/propsd/issues/150/events","html_url":"https://github.com/rapid7/propsd/issues/150","id":157345796,"number":150,"title":"Change the Consul endpoint used to populate catalog entries","user":{"login":"jmanero-r7","id":8549280,"avatar_url":"https://avatars.githubusercontent.com/u/8549280?v=3","gravatar_id":"","url":"https://api.github.com/users/jmanero-r7","html_url":"https://github.com/jmanero-r7","followers_url":"https://api.github.com/users/jmanero-r7/followers","following_url":"https://api.github.com/users/jmanero-r7/following{/other_user}","gists_url":"https://api.github.com/users/jmanero-r7/gists{/gist_id}","starred_url":"https://api.github.com/users/jmanero-r7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmanero-r7/subscriptions","organizations_url":"https://api.github.com/users/jmanero-r7/orgs","repos_url":"https://api.github.com/users/jmanero-r7/repos","events_url":"https://api.github.com/users/jmanero-r7/events{/privacy}","received_events_url":"https://api.github.com/users/jmanero-r7/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rapid7/propsd/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-05-28T16:16:40Z","updated_at":"2016-05-28T16:16:40Z","closed_at":null,"body":"While we're still injecting the entire Consul catalog into properties, we should set up a single watcher on https://www.consul.io/docs/agent/http/health.html#health_state for `any` instead of watching every service's health endpoint individually. This should vastly simplify the current Consul-source codeline, and lower load from both Propsd and the Consul agent significantly.\r\n\r\nThe `/v1/health/state/passing` endpoint returns an array of `Check` objects which we can group by Node ID, reject any Node with non-passing checks, then group nodes by Service ID to achieve the same result as watching every `/v1/health/service/ALL_TEH_THINGS` endpoint."}}
{"actor":{"display_login":"jmanero-r7"}}