# 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: 1. Clone this repository - `git clone --depth 1 https://git.askiiart.net/askiiart/updog` 2. Install your extensions in the appropriate folders: `./extensions/checkers`, `./extensions/alerts` (optional), and `./extensions/logging` 3. Create your `services.json` file, example below. ```json { "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 - 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!***