zdravko/README.md

54 lines
1.8 KiB
Markdown

# `zdravko`
Golang selfhosted Status/Healthcheck monitoring app.
### Roadmap
- [x] SSO Support for authentication.
- [x] SQLite for database.
- This means for main app db as well as temporal db.
- [x] Single binary.
- One binary to run worker, server and temporal all together.
- [x] Abbility for multiple workers.
- Spread workers across regions to monitor latency from different locations.
- [x] Use [k6](https://github.com/grafana/k6) for checks, so that they can be written in javascript.
- [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.
- [ ] CronJob Healthchecks (via webhooks).
- 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.
- [ ] Notifications (webhooks, slack, etc).
- [ ] Incidents (based on script that is triggered by monitors/crobjobs).
- [ ] Prepare i18n.
- [ ] Alpha Version (3Q 2024)
- [ ] ??
- [ ] Beta Version (4Q 2024)
- [ ] ??
- [ ] Stable Release (1H 2025)
![Screenshot](docs/screenshot.png)
Demo is available at https://zdravko.mnts.dev. More screenshots in the [docs folder](docs/).
# Development
### Dependencies
* [devbox](https://www.jetpack.io/devbox)
* [justfile](https://github.com/casey/just) (optional, `devbox run -- just` can be used instead)
```sh
# Configure
# You will need to configure an SSO provider
# This can be github for example.
cp example.env .env
# Generate JWT key
# Copy the values to your .env
just generate-jwt-key
# Start development environment
just run
```
### License
Under AGPL, see [LICENSE](LICENSE) file.