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:35:43 -06:00
|
|
|
Docs are in the `./docs/` folder, but here's a quick overview on how to use this:
|
2024-01-29 17:26:50 -06:00
|
|
|
|
2024-01-30 13:35:56 -06:00
|
|
|
1. Clone this repository - `git clone --depth 1 https://git.askiiart.net/askiiart/updog`
|
2024-01-29 17:26:50 -06:00
|
|
|
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": {
|
2024-01-31 19:03:12 -06:00
|
|
|
"file": "/home/askiiart/Documents/updog/logs/site-log"
|
2024-01-29 17:26:50 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## To-do
|
|
|
|
|
|
|
|
- Add basic functionality
|
|
|
|
- Call the extensions
|
|
|
|
- Add maintenance windows (optionally recurring)
|
2024-01-30 13:35:56 -06:00
|
|
|
- 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)
|
2024-01-29 17:26:50 -06:00
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
***All specs are still a work-in-progress, breaking changes are likely!***
|