Roadmap¶
ExaCheck is currently work in progress as I have time. When I started writing ExaCheck I got about half way before taking a break for a few months; at some point I plan to go through everything in more detail to fix up anything I may have forgotten about.
Upcoming Features¶
As I need them I plan to add additional health check methods. Unless there is a request or I need it myself you may not have a health check method suitable for your use case. If that is the case please create a request on GitHub; I am interested to see other use cases.
General Features¶
- Python 3.10 support
- Python 3.11 support: This is the commonly available Python release for modern distributions.
- Python 3.12 support: The current stable Python release.
- Complete test files: Currently there is only a basic test for loading the configuration.
- Logging for when ExaCheck is shut down. Due to a race condition Loguru is not able to log inside a signal handler.
- Make the
metric_down
feature work. If set, routes should be announced when the service is down but have the configured metric attribute set. - API for monitoring purposes.
- Configuration management for ExaBGP. This should remove the need to have a separate exabgp.conf file (if the setting is used).
CLI¶
- Command line option to print table of available configuration options using the available field data.
- Command line option to send test notifications.
- Option to list available checks and their configuration (or view configuration for a single check.)
Shell Health Check¶
- Add variable support to allow passing information to the command that is being executed such as the next hop address.
HTTP Health Check¶
- Add support for HTTP2 and HTTP3.
DNS Health Check¶
- Add support for DNS over TLS (DoT) and DNS over HTTPS (DoH).
Future Plans¶
In the future after any features are complete I plan to do these:
- Clean up comments: The current functions are mostly missing documentation about parameters that are passed to them.
- Tidy up logging: I plan to tidy up logging a bit and split log messages into "short" and "long".
- Website tidy up: The website needs to be reviewed and have grammar fixed up.
- Plugin based health checks: Allow you to place customer health checks in a directory and load them automatically.