{"action":"created","issue":{"url":"https://api.github.com/repos/inadarei/rfc-healthcheck/issues/19","repository_url":"https://api.github.com/repos/inadarei/rfc-healthcheck","labels_url":"https://api.github.com/repos/inadarei/rfc-healthcheck/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/inadarei/rfc-healthcheck/issues/19/comments","events_url":"https://api.github.com/repos/inadarei/rfc-healthcheck/issues/19/events","html_url":"https://github.com/inadarei/rfc-healthcheck/issues/19","id":347430001,"node_id":"MDU6SXNzdWUzNDc0MzAwMDE=","number":19,"title":"Canary proposal","user":{"login":"lkraider","id":52256,"node_id":"MDQ6VXNlcjUyMjU2","avatar_url":"https://avatars2.githubusercontent.com/u/52256?v=4","gravatar_id":"","url":"https://api.github.com/users/lkraider","html_url":"https://github.com/lkraider","followers_url":"https://api.github.com/users/lkraider/followers","following_url":"https://api.github.com/users/lkraider/following{/other_user}","gists_url":"https://api.github.com/users/lkraider/gists{/gist_id}","starred_url":"https://api.github.com/users/lkraider/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lkraider/subscriptions","organizations_url":"https://api.github.com/users/lkraider/orgs","repos_url":"https://api.github.com/users/lkraider/repos","events_url":"https://api.github.com/users/lkraider/events{/privacy}","received_events_url":"https://api.github.com/users/lkraider/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-08-03T14:58:16Z","updated_at":"2018-08-03T16:29:47Z","closed_at":null,"author_association":"NONE","body":"I am currently deploying canary health check endpoints that indicates baseline info of the systems, and would like to propose it as a simplified interface. Based on the open discussion regarding the details, I think there is value in having a simple output. Example:\r\n\r\nSuggested interface:\r\n`GET /canary?key=API_KEY&details=true`\r\n\r\nNot sending `details` in the query parameter will omit the details from the output.\r\n\r\nHTTP Response: `200 OK` when topmost status is `true`, `503 Service Unavailable` otherwise.\r\n```\r\n{\r\n  \"name\": \"api-1\",\r\n  \"status\": true,\r\n  \"metrics\": {\r\n    \"uptime\": \"P4DT12H30M5.123456S\"\r\n  },\r\n  \"details\": {\r\n    \"database\": {\r\n      \"status\": true,\r\n      \"metrics\": {\r\n        \"connections\": 25,\r\n        \"latency\": \"PT0.000456S\"\r\n      }\r\n    },\r\n    \"api-2\": {\r\n      \"status\": false,\r\n      \"details\": {\r\n        \"s3\": {\r\n          \"status\": true,\r\n          \"metrics\": {\r\n            \"latency\": \"PT0.000123S\"\r\n          }\r\n        }\r\n      }\r\n    },\r\n    \"redis\": {\r\n      \"status\": true\r\n    },\r\n    \"email\": {\r\n      \"status\": false,\r\n      \"critical\": false\r\n    },\r\n    \"node-1\": {\r\n      \"status\": true,\r\n      \"metrics\": {\r\n        \"DiskAvailable\": {\r\n          \"value\": 14,\r\n          \"unit\": \"Gb\"\r\n        },\r\n        \"DiskUse\": {\r\n          \"value\": 31,\r\n          \"unit\": \"%\"\r\n        },\r\n        \"MemoryAvailable\": {\r\n          \"value\": 536,\r\n          \"unit\": \"Mb\"\r\n        },\r\n        \"time\": \"2018-07-31T01:07:51+00:00\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\nIf any critical services respond with status false, the parent service must also be set to status false. Services are critical by default, unless `\"critical\": false` is defined.\r\n\r\nLet me know your thoughts."},"comment":{"url":"https://api.github.com/repos/inadarei/rfc-healthcheck/issues/comments/410306835","html_url":"https://github.com/inadarei/rfc-healthcheck/issues/19#issuecomment-410306835","issue_url":"https://api.github.com/repos/inadarei/rfc-healthcheck/issues/19","id":410306835,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMDMwNjgzNQ==","user":{"login":"dret","id":1848612,"node_id":"MDQ6VXNlcjE4NDg2MTI=","avatar_url":"https://avatars1.githubusercontent.com/u/1848612?v=4","gravatar_id":"","url":"https://api.github.com/users/dret","html_url":"https://github.com/dret","followers_url":"https://api.github.com/users/dret/followers","following_url":"https://api.github.com/users/dret/following{/other_user}","gists_url":"https://api.github.com/users/dret/gists{/gist_id}","starred_url":"https://api.github.com/users/dret/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dret/subscriptions","organizations_url":"https://api.github.com/users/dret/orgs","repos_url":"https://api.github.com/users/dret/repos","events_url":"https://api.github.com/users/dret/events{/privacy}","received_events_url":"https://api.github.com/users/dret/received_events","type":"User","site_admin":false},"created_at":"2018-08-03T16:29:47Z","updated_at":"2018-08-03T16:29:47Z","author_association":"CONTRIBUTOR","body":"On 2018-08-03 08:00, Paul Eipper wrote:\n> I am currently deploying canary health check endpoints that indicates \n> baseline info of the systems, and would like to propose it as a \n> simplified interface. Based on the open discussion regarding the \n> details, I think there is value in having a simple output. Example:\n> \n> Suggested interface:\n> |GET /canary?key=API_KEY&details=true|\n> \n> Not sending |details| in the query parameter will omit the details from \n> the output.\n\nyou're free to do that. the format does not preclude you from defining \nquery models into it, but personally, i don't think that such a query \nmodel should be part of the format definition.\n"}}
{"actor":{"display_login":"dret"}}