No description
docs/extensions | ||
.gitignore | ||
helpers.py | ||
LICENSE | ||
README.md | ||
services-example.json | ||
updog.py |
Updog
What's updog?
Not much, you?
(it's a simple, extensible uptime monitor)
Warning
Extensions will be executed with no safety checks! Make sure an extension isn't malicious before adding it.
Docs
Docs are in the ./docs/
folder, but here's a quick overview on how to use this:
- Clone this repository -
git clone --depth 1 https://git.askiiart.net/askiiart/updog
- Install your extensions in the appropriate folders:
./extensions/checkers
,./extensions/alerts
(optional), and./extensions/logging
- Create your
services.json
file, example below.
{
"site": {
"name": "A Website",
"checker": "CheckerTemplate",
"checker-args": {
"url": "https://example.net",
"port": 443,
"lol": "CheckerTemplate ignores these options lol"
},
"rate": 60,
"alerts": "AlertsTemplate",
"alerts-args": {
"url": "https://example.com/webhook-url-or-whatever-goes-here",
"lol": "irrelevant, AlertsTemplate ignores these options lol"
},
"logging": "LoggingTemplate",
"logging-args": {
"lol": "irrelevant, LoggingTemplate ignores these options lol"
}
}
}
To-do
- Add basic functionality
- Read
services.json
file - Call the extensions
- Read
- Add support for logging and alert extensions
- Add maintenance windows (optionally recurring)
- Add ability to set default extensions that can be overridden on a per-service basis
- And groups (lower priority)
- Add ability for checkers to have preferred alerts and logging extensions - will print a warning if the preferred extension(s) are not used
- Add "keywords" to be replaced in the config (for current directory, service name, maybe some others)
All specs are still a work-in-progress, breaking changes are likely!