2024-02-10 08:11:28 +00:00
|
|
|
# `zdravko`
|
|
|
|
|
|
|
|
Golang selfhosted Status/Healthcheck monitoring app.
|
|
|
|
|
2024-02-15 11:24:10 +00:00
|
|
|
### Roadmap
|
|
|
|
- [x] SSO Support for authentication.
|
2024-02-15 11:24:35 +00:00
|
|
|
- [x] SQLite for database.
|
2024-02-15 11:24:10 +00:00
|
|
|
- This means for main app db as well as temporal db.
|
2024-02-18 21:41:40 +00:00
|
|
|
- [x] Single binary.
|
2024-02-15 11:24:10 +00:00
|
|
|
- One binary to run worker, server and temporal all together.
|
2024-02-21 08:41:49 +00:00
|
|
|
- [x] Abbility for multiple workers.
|
2024-02-15 11:24:10 +00:00
|
|
|
- Spread workers across regions to monitor latency from different locations.
|
2024-02-21 22:19:19 +00:00
|
|
|
- [x] Use [k6](https://github.com/grafana/k6) for checks, so that they can be written in javascript.
|
2024-03-01 10:11:02 +00:00
|
|
|
- [x] History and working home page.
|
|
|
|
- Kinda working atm. ~But look if all the data could be stored/fetched from temporal.~
|
|
|
|
- [x] Edit/Delete operations for healthchecks and workers.
|
2024-02-15 11:24:10 +00:00
|
|
|
- [ ] CronJob Healthchecks (via webhooks).
|
2024-05-29 19:11:51 +00:00
|
|
|
- Allow CronJob monitoring by checking that there was an event at expected time.
|
|
|
|
- Allow Heartbeat monitoring to alert when events stop coming.
|
|
|
|
- Allow integration with other services by alerting/transforming when events come.
|
2024-02-22 16:29:17 +00:00
|
|
|
- [ ] Notifications (webhooks, slack, etc).
|
2024-03-01 10:11:02 +00:00
|
|
|
- [ ] Incidents (based on script that is triggered by monitors/crobjobs).
|
|
|
|
- [ ] Prepare i18n.
|
2024-05-29 19:11:51 +00:00
|
|
|
- [ ] Alpha Version (3Q 2024)
|
2024-03-01 10:11:02 +00:00
|
|
|
- [ ] ??
|
2024-05-29 19:11:51 +00:00
|
|
|
- [ ] Beta Version (4Q 2024)
|
2024-03-01 10:11:02 +00:00
|
|
|
- [ ] ??
|
2024-05-29 19:11:51 +00:00
|
|
|
- [ ] Stable Release (1H 2025)
|
2024-02-10 11:59:58 +00:00
|
|
|
|
2024-02-10 17:05:11 +00:00
|
|
|
![Screenshot](docs/screenshot.png)
|
2024-05-29 19:11:51 +00:00
|
|
|
Demo is available at https://zdravko.mnts.dev. More screenshots in the [docs folder](docs/).
|
2024-02-10 17:05:11 +00:00
|
|
|
|
2024-02-10 11:59:58 +00:00
|
|
|
# Development
|
|
|
|
|
|
|
|
### Dependencies
|
|
|
|
* [devbox](https://www.jetpack.io/devbox)
|
2024-02-18 09:49:28 +00:00
|
|
|
* [justfile](https://github.com/casey/just) (optional, `devbox run -- just` can be used instead)
|
2024-02-10 11:59:58 +00:00
|
|
|
|
|
|
|
```sh
|
2024-02-11 19:28:00 +00:00
|
|
|
# Configure
|
2024-05-23 16:33:30 +00:00
|
|
|
# You will need to configure an SSO provider
|
|
|
|
# This can be github for example.
|
2024-02-11 19:28:00 +00:00
|
|
|
cp example.env .env
|
|
|
|
|
2024-02-18 21:37:17 +00:00
|
|
|
# Generate JWT key
|
2024-05-23 16:33:30 +00:00
|
|
|
# Copy the values to your .env
|
2024-02-18 21:37:17 +00:00
|
|
|
just generate-jwt-key
|
|
|
|
|
2024-02-10 11:59:58 +00:00
|
|
|
# Start development environment
|
|
|
|
just run
|
|
|
|
```
|
2024-02-11 21:21:40 +00:00
|
|
|
|
|
|
|
### License
|
|
|
|
Under AGPL, see [LICENSE](LICENSE) file.
|