* feat(alerting): add optional email to ntfy provider
https://docs.ntfy.sh/publish/#e-mail-notifications
* feat(alerting): add optional click action to ntfy provider
https://docs.ntfy.sh/publish/#click-action
* feat(alerting): add option to disable firebase in ntfy provider
https://docs.ntfy.sh/publish/#disable-firebase
* feat(alerting): add option to disable message caching in ntfy provider
https://docs.ntfy.sh/publish/#message-caching
* test(alerting): add buildRequestBody tests for email and click properties
* test(alerting): add tests for Send to verify request headers
* feat(alerting): refactor to prefix firebase & cache with "disable"
This avoids the need for a pointer, as omitting these bools in the config defaults to false
and omitting to set these headers will use the server's default - which is enabled on ntfy.sh
* refactor: Partially break core package into dns, result and ssh packages
* refactor: Move core package to config/endpoint
* refactor: Fix warning about overlapping imported package name with endpoint variable
* refactor: Rename EndpointStatus to Status
* refactor: Merge result pkg back into endpoint pkg, because it makes more sense
* refactor: Rename parameter r to result in Condition.evaluate
* refactor: Rename parameter r to result
* refactor: Revert accidental change to endpoint.TypeDNS
* refactor: Rename parameter r to result
* refactor: Merge util package into endpoint package
* refactor: Rename parameter r to result
Closes#308
Work remaining:
- Add the documentation on the README.md
- Test it with an actual Ntfy instance (I've only used https://ntfy.sh/docs/examples/#gatus as a reference; I haven't actually tested it yet)