# @backstage/plugin-ilert
## Introduction
[iLert](https://www.ilert.com) is a platform for alerting, on-call management and uptime monitoring. It helps teams to reduce response times to critical incidents by extending monitoring tools with reliable alerting, automatic escalations, on-call schedules and other features to support the incident response process, such as informing stakeholders or creating tickets in external incident management tools.
## Overview
This plugin gives an overview about ongoing iLert incidents, on-call and uptime monitor status.
See who is on-call, which incidents are active and trigger incidents directly from backstage for the configured alert sources.
In detail this plugin provides:
- Information details about the person on-call (all escalation levels of the current time)
- A way to override the current on-call person
- A list of active incidents
- A way to trigger a new incident
- A way to reassign/acknowledge/resolve an incident
- A way to trigger an incident action
- A way to trigger an immediate maintenance
- A way to disable/enable an alert source
- A list of uptime monitors
## Setup instructions
Install the plugin:
```bash
# From the Backstage repository root
cd packages/app
yarn add @backstage/plugin-ilert
```
Add it to the `EntityPage.tsx`:
```ts
import {
isPluginApplicableToEntity as isILertAvailable,
EntityILertCard,
} from '@backstage/plugin-ilert';
// ...
;
// ...
```
> To force an iLert card for each entity just add the `` component. An instruction card will appear if no integration key is set.
## Add iLert explorer to the app sidebar
Modify your app routes in [`App.tsx`](https://github.com/backstage/backstage/blob/master/packages/app/src/App.tsx) to include the Router component exported by the plugin - for example:
```tsx
import { ILertPage } from '@backstage/plugin-ilert';
// ...
} />
// ...
;
```
Modify your sidebar in [`Root.tsx`](https://github.com/backstage/backstage/blob/master/packages/app/src/components/Root/Root.tsx) to include the icon component exported by the plugin - for example:
```tsx
import { ILertIcon } from '@backstage/plugin-ilert';
// ...
// ...
;
```
## Client configuration
If you want to override the default URL for api calls and detail pages, you can add it to `app-config.yaml`.
In `app-config.yaml`:
```yaml
ilert:
baseUrl: https://my-org.ilert.com/
```
## Providing the Authorization Header
In order to make the API calls, you need to provide a new proxy config which will redirect to the [iLert API](https://api.ilert.com/api-docs/) endpoint. It needs an [Authorization Header](https://api.ilert.com/api-docs/#section/Authentication).
Add the proxy configuration in `app-config.yaml`
```yaml
proxy:
...
'/ilert':
target: https://api.ilert.com
allowedMethods: ['GET', 'POST', 'PUT']
allowedHeaders: ['Authorization']
headers:
Authorization: ${ILERT_AUTH_HEADER}
```
Then start the backend, passing the authorization header (bearer token or basic auth) as environment variable:
```bash
$ ILERT_AUTH_HEADER='' yarn start
```
## Integration Key
The information displayed for each entity is based on the alert source integration key.
### Adding the integration key to the entity annotation
If you want to use this plugin for an entity, you need to label it with the below annotation:
```yml
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: example
annotations:
ilert.com/integration-key: [INTEGRATION_KEY]
```