/zdravko

Self-Hosted multi region health check service

Primary LanguageGoGNU Affero General Public License v3.0AGPL-3.0

zdravko

Golang selfhosted Status/Healthcheck monitoring app.

Roadmap

  • SSO Support for authentication.
  • SQLite for database.
    • This means for main app db as well as temporal db.
  • Single binary.
    • One binary to run worker, server and temporal all together.
  • Abbility for multiple workers.
    • Spread workers across regions to monitor latency from different locations.
  • Use k6 for checks, so that they can be written in javascript.
  • History and working home page.
    • Kinda working atm. But look if all the data could be stored/fetched from temporal.
  • 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 Demo is available at https://zdravko.mnts.dev. More screenshots in the docs folder.

Development

Dependencies

# Configure
# You will need to configure an SSO provider
# This can be github for example:.
cp example.env .env

# Generate JWT key
just generate-jwt-key

# Start development environment
just run

# Or build binaries, packages, docker images...
just build
# Or build only one binary.
just build-only-binary

License

Under AGPL, see LICENSE file.