{"id":20687166,"url":"https://github.com/phara0h/sky-puppy","last_synced_at":"2025-04-22T15:08:48.481Z","repository":{"id":57362513,"uuid":"294729363","full_name":"Phara0h/sky-puppy","owner":"Phara0h","description":"A easy to use reliable health checking service with Prometheus export","archived":false,"fork":false,"pushed_at":"2020-12-11T19:05:36.000Z","size":157,"stargazers_count":2,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-22T15:08:41.353Z","etag":null,"topics":["checker","devops","hacktoberfest","health","infrastructure","node","ping","prometheus","puppy","rest","sky","status","universal"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Phara0h.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-11T15:15:40.000Z","updated_at":"2022-06-13T14:32:45.000Z","dependencies_parsed_at":"2022-09-13T21:00:46.715Z","dependency_job_id":null,"html_url":"https://github.com/Phara0h/sky-puppy","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Phara0h%2Fsky-puppy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Phara0h%2Fsky-puppy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Phara0h%2Fsky-puppy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Phara0h%2Fsky-puppy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Phara0h","download_url":"https://codeload.github.com/Phara0h/sky-puppy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250264909,"owners_count":21402003,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["checker","devops","hacktoberfest","health","infrastructure","node","ping","prometheus","puppy","rest","sky","status","universal"],"created_at":"2024-11-16T22:56:18.691Z","updated_at":"2025-04-22T15:08:48.423Z","avatar_url":"https://github.com/Phara0h.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sky Puppy\nA easy to use reliable endpoint coordinator / health checking service with Prometheus export\n\n[Sky Puppy Postman Collection](https://documenter.getpostman.com/view/208035/TVYKawgU)\n\n## Install\n\n```bash\nnpm install -g sky-puppy\n```\n\n## Run\n\n```bash\nsky-puppy\n```\n\n## Checkers\n\n##### Test\n- [sky-puppy-checker-template](https://github.com/Phara0h/sky-puppy-checker-template) : A Sky Puppy template to use to create your own checkers\n\n##### Databases\n- [sky-puppy-checker-mongodb](https://github.com/Phara0h/sky-puppy-checker-mongodb) : A Sky Puppy checker for mongodb\n\n##### HTTP/HTTPS\n- request (native)\n\n##### Services\n- [sky-puppy-checker-cloudflare-status](https://github.com/Phara0h/sky-puppy-checker-cloudflare-status) : A Sky Puppy checker for checking cloudflarestatus.com api\n\n\n## Sample Config\n\nSky Puppy looks for a file called `sky-puppy-config.json` in the folder it is ran at.\n\n```json\n{\n  \"alerters\": {\n    \"discord_down\": {\n      \"uri\": \"http://discord.com\",\n      \"json\": true,\n      \"method\": \"PUT\",\n      \"body\": {\n        \"embeds\": [\n          {\n            \"title\": \"undefined is undefined!\",\n            \"description\": \"This service was healthy for undefined seconds!\",\n            \"color\": 14828098,\n            \"footer\": {\n              \"text\": \"\"\n            },\n            \"timestamp\": \"undefined\"\n          }\n        ],\n        \"username\": \"Sky Puppy\",\n        \"avatar_url\": \"https://i.imgur.com/J5vIVSt.png\"\n      }\n    },\n    \"discord_unhealthy\": {\n      \"uri\": \"http://discord.com\",\n      \"json\": true,\n      \"method\": \"PUT\",\n      \"body\": {\n        \"embeds\": [\n          {\n            \"title\": \"undefined is undefined!\",\n            \"description\": \"This service was healthy for undefined seconds!\",\n            \"color\": 14852674,\n            \"footer\": {\n              \"text\": \"\"\n            },\n            \"timestamp\": \"undefined\"\n          }\n        ],\n        \"username\": \"Sky Puppy\",\n        \"avatar_url\": \"https://i.imgur.com/J5vIVSt.png\"\n      }\n    },\n    \"discord_healthy\": {\n      \"uri\": \"http://discord.com\",\n      \"json\": true,\n      \"method\": \"PUT\",\n      \"body\": {\n        \"embeds\": [\n          {\n            \"title\": \"undefined is undefined!\",\n            \"description\": \"Carry on, looks like things are back! We were down for undefined seconds.\",\n            \"color\": 6480450,\n            \"footer\": {\n              \"text\": \"\"\n            },\n            \"timestamp\": \"undefined\"\n          }\n        ],\n        \"username\": \"Sky Puppy\",\n        \"avatar_url\": \"https://i.imgur.com/3rfFeOu.png\"\n      }\n    }\n  },\n  \"services\": {\n    \"your_service\": {\n      \"interval\": 3,\n      \"start_delay\": 2,\n      \"checker\": {\n          \"name\": \"request\",\n          \"settings\": {\n            \"uri\": \"http://127.0.0.1/a/cool/endpoint\",\n            \"timeout\": 2,\n            \"json\": true,\n            \"method\": \"PUT\",\n            \"body\": {\n              \"test\": \"sweet\"\n            },\n          }\n      },\n      \"alerts\": [\n        {\n          \"type\": \"down\",\n          \"alerter\": \"discord_down\"\n        },\n        {\n          \"type\": \"unhealthy\",\n          \"alerter\": \"discord_unhealthy\"\n        },\n        {\n          \"type\": \"healthy\",\n          \"alerter\": \"discord_healthy\"\n        }\n      ]\n    }\n  },\n  \"skypuppy\": {\n    \"version\": \"1.0.0\",\n    \"log\": {\n        \"enable\": true,\n        \"colors\": true,\n        \"level\": \"info\"\n    }\n  }\n}\n\n```\n\n## Changelog\n\nAll notable changes to this project will be documented in this file. Dates are displayed in UTC.\n\n#### [v1.3.8](https://github.com/Phara0h/sky-puppy/compare/v1.3.7...v1.3.8)\n\n\u003e 11 December 2020\n\n#####   [`628dc13`](https://github.com/Phara0h/sky-puppy/commit/628dc135553f811d6ccf565249ce690cb025eb8e)FIxed some bugs, made sky puppy more crash safe and better logging\n\n#### [v1.3.7](https://github.com/Phara0h/sky-puppy/compare/v1.3.6...v1.3.7)\n\n\u003e 18 November 2020\n\n#####   [`0cc7817`](https://github.com/Phara0h/sky-puppy/commit/0cc78172c6f40edb0e50ff3efd33a6becd3b6ec9)Fixed a minor bug, dates should now work in prom.\n\n#### [v1.3.6](https://github.com/Phara0h/sky-puppy/compare/v1.3.5...v1.3.6)\n\n\u003e 17 November 2020\n\n#####   [`61b2674`](https://github.com/Phara0h/sky-puppy/commit/61b267410b7dfcff222ff841b594a659f05ddf5e)Minor debug fix\n\n#### [v1.3.5](https://github.com/Phara0h/sky-puppy/compare/v1.3.4...v1.3.5)\n\n\u003e 17 November 2020\n\n#####   [`ec30c55`](https://github.com/Phara0h/sky-puppy/commit/ec30c55cdaed1a4e7eee81dccef1ae388b92ee8a)Few fixes\n\n- Added date to each prom stats only when it was updated\n- Fixed bug with version not showing in prom stats\n- Fixed possible bug around alerts\n\n#### [v1.3.4](https://github.com/Phara0h/sky-puppy/compare/v1.3.3...v1.3.4)\n\n\u003e 4 November 2020\n\n#####   [`e196e2b`](https://github.com/Phara0h/sky-puppy/commit/e196e2bf498bc3491f6feac0ac53b692bdd6e502)Fixed bug `Cannot find module` package.json\n\n#### [v1.3.3](https://github.com/Phara0h/sky-puppy/compare/v1.3.2...v1.3.3)\n\n\u003e 4 November 2020\n\n#####   [`9b1b3c0`](https://github.com/Phara0h/sky-puppy/commit/9b1b3c097cc7e4509c860a3160a2dfebbecfc1ba)Fixed bin package bug\n\n#### [v1.3.2](https://github.com/Phara0h/sky-puppy/compare/v1.3.1...v1.3.2)\n\n\u003e 4 November 2020\n\n#####   [`6197717`](https://github.com/Phara0h/sky-puppy/commit/61977172f631ea3517cbf04d3b1056fb6d4e9f38)ETIMEDOUT is now `unhealthy` instead of `down`\n\n#### [v1.3.1](https://github.com/Phara0h/sky-puppy/compare/v1.3.0...v1.3.1)\n\n\u003e 4 November 2020\n\n#####   [`9712744`](https://github.com/Phara0h/sky-puppy/commit/971274485311642389f0ecd0f47dfd3fe044d348)Update changelog-template.hbs\n\n#### [v1.3.0](https://github.com/Phara0h/sky-puppy/compare/v1.2.0...v1.3.0)\n\n\u003e 4 November 2020\n\n#####   [`bd98346`](https://github.com/Phara0h/sky-puppy/commit/bd9834615c809569f714ac4dcc01ab00838f73cf)Fixed bugs and added pretty console logs\n\n- Fixed `last_unhealthy_total_duration` and `last_healthy_total_duration` bug reporting the wrong elapsed time.\n- Fixed `healthy` status getting reported even when unhealthy/down has not yet been reported.\n- Fixed bug relating to console title displaying config version instead of application version.\n- Added new console logs (see sample config for details)\n- Added 2 new test-server routes\n\n#### [v1.2.0](https://github.com/Phara0h/sky-puppy/compare/v1.1.2...v1.2.0)\n\n\u003e 3 November 2020\n\n#####   [`6604d77`](https://github.com/Phara0h/sky-puppy/commit/6604d77123392a478df83dc7df6e48ed907edb91)Clean up and more\n\n-  Added skypuppy console log title\n- Fixed eslint issues\n- Fixed bug that altered on healthy status at start of sky puppy\n- Fixed bug if settings field was left out of services checkers\n\n#### [v1.1.2](https://github.com/Phara0h/sky-puppy/compare/v1.1.1...v1.1.2)\n\n\u003e 2 November 2020\n\n#####   [`6e251c0`](https://github.com/Phara0h/sky-puppy/commit/6e251c0f8d2365add9280d6b847331fdeb2f5cb5)Added `sky-puppy-checker-cloudflare-status` to the list of checkers\n\n#####   [`d204255`](https://github.com/Phara0h/sky-puppy/commit/d204255d1b1f86183778f872b8e879f746e44f04)Added sky-puppy-checker-mongodb to list of checkers\n\n#### [v1.1.1](https://github.com/Phara0h/sky-puppy/compare/v1.1.0...v1.1.1)\n\n\u003e 2 November 2020\n\n#####   [`4b1a2e4`](https://github.com/Phara0h/sky-puppy/commit/4b1a2e414739b80903d61383e1c34ab8fc3c8f17)Fixed changelog to have full commit message\n\n#### [v1.1.0](https://github.com/Phara0h/sky-puppy/compare/v1.0.2...v1.1.0)\n\n\u003e 2 November 2020\n\n#####   [`7f27201`](https://github.com/Phara0h/sky-puppy/commit/7f2720100f876e2f10ce6e46ea3a0098c0db83fc)New feature: Messages\n\n* Added the ability to add messages from checkers\n* Messages can be accessed in alterters message / viewed in prom\n* Added the ability to map codes to messages in a global setting via checkers settings EX:\n```json\n\"sky-puppy-checker-template\": {\n\"foo\": \"bar\",\n\"code_messages\": {\n\"200\": \"Override me plz\",\n\"500\": \"Yikes its down\"\n}\n}\n```\n* Added the ability to override those code_messages inside each service as well EX:\n\n```json\n\"checker\": {\n\"name\": \"sky-puppy-checker-template\",\n\"settings\": {\n\"bar\": \"test\"\n},\n\"code_messages\": {\n\"200\": \"Yup its up\"\n}\n}\n```\n\n#### [v1.0.2](https://github.com/Phara0h/sky-puppy/compare/v1.0.1...v1.0.2)\n\n\u003e 30 October 2020\n\n#####   [`a927cdf`](https://github.com/Phara0h/sky-puppy/commit/a927cdf104bb2f8acf7baa99485ebd2135d2427c)Added sky-puppy-checker-template to tests and readme\n\n#### [v1.0.1](https://github.com/Phara0h/sky-puppy/compare/v1.0.0...v1.0.1)\n\n\u003e 30 October 2020\n\n#####   [`7674805`](https://github.com/Phara0h/sky-puppy/commit/7674805fae0b7e39b56dbbeef18ede9216e22956)Fixed bug around checkers name\n\n### [v1.0.0](https://github.com/Phara0h/sky-puppy/compare/v0.3.0...v1.0.0)\n\n\u003e 30 October 2020\n\n#####   [`344b6f0`](https://github.com/Phara0h/sky-puppy/commit/344b6f02dfa4b31d0720b7c047d034a7f118684a)Added module based checkers! Now you can write custom checkers to check any thing.\n\n#### [v0.3.0](https://github.com/Phara0h/sky-puppy/compare/v0.2.1...v0.3.0)\n\n\u003e 30 October 2020\n\n#####   [`5d614eb`](https://github.com/Phara0h/sky-puppy/commit/5d614eb20b62ba5b616f67aeffddda1bfd5575de)Added endpoints, Added postman docs, Fixed bugs and more!\n\n#####   [`f6f9a56`](https://github.com/Phara0h/sky-puppy/commit/f6f9a56b35b31797f9409c97df4c3b3dc5ae5a4b)added process tile\n\n#### [v0.2.1](https://github.com/Phara0h/sky-puppy/compare/v0.2.0...v0.2.1)\n\n\u003e 14 September 2020\n\n#####   [`505209a`](https://github.com/Phara0h/sky-puppy/commit/505209afdac682daca37284a5f69fd98b14b8145)Update README.nbs\n\n#### v0.2.0\n\n\u003e 14 September 2020\n\n#####   [`b03ca2e`](https://github.com/Phara0h/sky-puppy/commit/b03ca2ee43ac5754f020d1963dcb9e201cd47e0d)init commit config based is done REST endpoints to come\n\n#####   [`b7535a3`](https://github.com/Phara0h/sky-puppy/commit/b7535a3a3990fe081f932dc6e1079a86bdf9842f)Initial commit\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphara0h%2Fsky-puppy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphara0h%2Fsky-puppy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphara0h%2Fsky-puppy/lists"}