A very basic HTTP status checker implemented for fun with asynchronous Rust and an attempt at the actor model.
Syntax / terminology inspired by docker-compose
.
The services and notifications are defined in a configuration file such as
config.yaml
.
# Services to check
services:
service_1:
url: http://localhost:3000/health_check
# Time interval in seconds (will improve granularity soon)
interval: 5
notifications: [notification_1]
smooth:
url: http://localhost:3000/annie
interval: 258
notifications: [notification_1]
# Specify type of notification (only Slack for now but more can be added)
notifications:
notification_1:
type: slack
url: http://foo.bar/baz
The application can be run with the command ruok ./config.yaml
.
- Basic authentication for the services.
- Better error handling.
- Add integration tests using something like
mockito
. - Better documentation.
- Logging.
- More types of notifications.