2024-01-29 17:26:50 -06:00
|
|
|
# Updog
|
|
|
|
|
|
|
|
## What's updog?
|
|
|
|
|
|
|
|
Not much, you?
|
|
|
|
|
|
|
|
<small>(it's a simple, extensible uptime monitor)</small>
|
|
|
|
|
|
|
|
## Warning
|
|
|
|
|
|
|
|
**Extensions will be executed with no safety checks!** Make sure an extension isn't malicious before adding it.
|
|
|
|
|
|
|
|
## Docs
|
|
|
|
|
2024-01-29 17:28:04 -06:00
|
|
|
Docs are in the [`./docs/`](./docs/) folder, but here's a quick overview on how to use this:
|
2024-01-29 17:26:50 -06:00
|
|
|
|
|
|
|
1. Clone this repository - or just download `updog.py`
|
|
|
|
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)
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
***All specs are still a work-in-progress, breaking changes are likely!***
|