feat(alerting): Add Incident.io alerting provider (#972)
* feat(alerting): added incident.io provider alerting. * Tests: added incident.io provider unit tests. * Documentation: added incidentio documentation. * Refactor: Changed documentation + types to an alphabetical order. * Refactor: change wrong comment. Co-authored-by: Maksim Zhylinski <maksim@zhylinski.me> * Update README.md Co-authored-by: Maksim Zhylinski <maksim@zhylinski.me> * Update alerting/provider/incidentio/incident_io.go Co-authored-by: Julien Limoges <limoges@users.noreply.github.com> * Update alerting/provider/incidentio/incident_io.go Co-authored-by: Julien Limoges <limoges@users.noreply.github.com> * Update alerting/provider/incidentio/incident_io.go Co-authored-by: Julien Limoges <limoges@users.noreply.github.com> * Update alerting/provider/incidentio/incident_io.go Co-authored-by: Julien Limoges <limoges@users.noreply.github.com> * Refactor: changed alertSourceID to url. * Refactor: changed documentation. * Refactor: refactored tests, removed status from config. * Readme: updated docs. * Refactor: removed duplication key in favor of ResolveKey. * Refactor: change variable format. * Feat + Test: added support for passing metadata and source url, added resolved-with-metadata-source-url test case. * Refactor: chaned variable naming * Update alerting/config.go * Update README.md * Update README.md * Update README.md * Apply suggestions from code review * Refactor: sort var by abc --------- Co-authored-by: Maksim Zhylinski <maksim@zhylinski.me> Co-authored-by: Julien Limoges <limoges@users.noreply.github.com> Co-authored-by: TwiN <twin@linux.com>
This commit is contained in:
38
README.md
38
README.md
@ -59,6 +59,7 @@ Have any feedback or questions? [Create a discussion](https://github.com/TwiN/ga
|
||||
- [Configuring GitLab alerts](#configuring-gitlab-alerts)
|
||||
- [Configuring Google Chat alerts](#configuring-google-chat-alerts)
|
||||
- [Configuring Gotify alerts](#configuring-gotify-alerts)
|
||||
- [Configuring Incident.io alerts](#configuring-incidentio-alerts)
|
||||
- [Configuring JetBrains Space alerts](#configuring-jetbrains-space-alerts)
|
||||
- [Configuring Matrix alerts](#configuring-matrix-alerts)
|
||||
- [Configuring Mattermost alerts](#configuring-mattermost-alerts)
|
||||
@ -579,6 +580,7 @@ endpoints:
|
||||
| `alerting.gitlab` | Configuration for alerts of type `gitlab`. <br />See [Configuring GitLab alerts](#configuring-gitlab-alerts). | `{}` |
|
||||
| `alerting.googlechat` | Configuration for alerts of type `googlechat`. <br />See [Configuring Google Chat alerts](#configuring-google-chat-alerts). | `{}` |
|
||||
| `alerting.gotify` | Configuration for alerts of type `gotify`. <br />See [Configuring Gotify alerts](#configuring-gotify-alerts). | `{}` |
|
||||
| `alerting.incident-io` | Configuration for alerts of type `incident-io`. <br />See [Configuring Incident.io alerts](#configuring-incidentio-alerts). | `{}` |
|
||||
| `alerting.jetbrainsspace` | Configuration for alerts of type `jetbrainsspace`. <br />See [Configuring JetBrains Space alerts](#configuring-jetbrains-space-alerts). | `{}` |
|
||||
| `alerting.matrix` | Configuration for alerts of type `matrix`. <br />See [Configuring Matrix alerts](#configuring-matrix-alerts). | `{}` |
|
||||
| `alerting.mattermost` | Configuration for alerts of type `mattermost`. <br />See [Configuring Mattermost alerts](#configuring-mattermost-alerts). | `{}` |
|
||||
@ -904,6 +906,42 @@ Here's an example of what the notifications look like:
|
||||
|
||||

|
||||
|
||||
#### Configuring Incident.io alerts
|
||||
| Parameter | Description | Default |
|
||||
|:-----------------------------------|:-------------------------------------------------------------------------------------------|:--------------|
|
||||
| `alerting.incident-io` | Configuration for alerts of type `incident-io` | `{}` |
|
||||
| `alerting.incident-io.url` | url to trigger an alert event. | Required `""` |
|
||||
| `alerting.incident-io.auth-token` | Token that is used for authentication. | Required `""` |
|
||||
| `alerting.incident-io.overrides` | List of overrides that may be prioritized over the default configuration | `[]` |
|
||||
| `alerting.incident-io.default-alert` | Default alert configuration. <br />See [Setting a default alert](#setting-a-default-alert) | N/A |
|
||||
| `alerting.incident-io.overrides[].group` | Endpoint group for which the configuration will be overridden by this configuration | `""` |
|
||||
| `alerting.incident-io.overrides[].*` | See `alerting.incident-io.*` parameters | `{}` |
|
||||
|
||||
```yaml
|
||||
alerting:
|
||||
incident-io:
|
||||
url: "*****************"
|
||||
auth-token: "********************************************"
|
||||
|
||||
endpoints:
|
||||
- name: website
|
||||
url: "https://twin.sh/health"
|
||||
interval: 30s
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[BODY].status == UP"
|
||||
- "[RESPONSE_TIME] < 300"
|
||||
alerts:
|
||||
- type: incident-io
|
||||
description: "healthcheck failed"
|
||||
send-on-resolved: true
|
||||
```
|
||||
in order to get the required alert source config id and authentication token, you must configure an HTTP alert source.
|
||||
|
||||
> **_NOTE:_** the source config id is of the form `api.incident.io/v2/alert_events/http/$ID` and the token is expected to be passed as a bearer token like so: `Authorization: Bearer $TOKEN`
|
||||
|
||||
|
||||
> **_NOTE:_** ```
|
||||
|
||||
#### Configuring JetBrains Space alerts
|
||||
| Parameter | Description | Default |
|
||||
|
Reference in New Issue
Block a user