### Configuration Examples Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Fdocker.md&version=v1.2.1 Example configuration files for SQLite and PostgreSQL setups. ```text docker/incidentrelay.docker.conf ``` ```ini [main] log_level = INFO log_file = /var/log/incidentrelay/incidentrelay.log [server] host = 0.0.0.0 port = 8080 public_base_url = http://localhost:8080 [database] type = sqlite path = /var/lib/incidentrelay/incidentrelay.db [sqlite] wal = true busy_timeout = 5000 [voice] provider = stub providers_dir = /usr/local/lib/incidentrelay/voice_providers callback_secret = change-me ``` ```ini [database] type = postgresql host = postgres port = 5432 name = incidentrelay user = incidentrelay password = incidentrelay-change-me ``` -------------------------------- ### Recommended starting example Source: https://incidentrelay.io/docs.html?doc=docs%2Fvoice-providers%2Findex.md&version=v1.2.1 The suggested file to review when beginning development of a new provider. ```text examples/voice_providers/example_http.py ``` -------------------------------- ### Setup Python virtual environment Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Fsystemd.md Initialize a virtual environment and install required dependencies. ```bash sudo python3 -m venv /var/www/incidentrelay/venv sudo /var/www/incidentrelay/venv/bin/pip install --upgrade pip sudo /var/www/incidentrelay/venv/bin/pip install -r /var/www/incidentrelay/requirements.txt sudo /var/www/incidentrelay/venv/bin/pip install gunicorn ``` ```bash sudo /var/www/incidentrelay/venv/bin/pip install psycopg2-binary ``` -------------------------------- ### Dependency Settings Example Source: https://incidentrelay.io/docs.html?doc=docs%2Fconcepts%2Falert-correlation.md&version=v1.2.1 Example configuration for a service dependency. ```text Billing API depends on PostgreSQL correlation_enabled = true propagation_delay_seconds = 300 ``` -------------------------------- ### Quick Start and Management Commands Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Fdocker.md&version=v1.2.1 Commands to start the application, access the UI, and view logs. ```bash docker compose up -d --build ``` ```text http://SERVER_IP:8080/login ``` ```bash docker compose logs -f incidentrelay docker compose logs -f incidentrelay-scheduler ``` -------------------------------- ### List example services Source: https://incidentrelay.io/docs.html?doc=docs%2Fproject-readme.md&version=v1.2.1 Common examples of systems that can be defined as services. ```text RabbitMQ Cloud Billing API PostgreSQL Prod Frontend Web ``` -------------------------------- ### Get one trace with steps response example Source: https://incidentrelay.io/docs.html?doc=docs%2Fincidents%2Fexplain-trace.md&version=v1.2.1 Example JSON response for a single trace containing processing steps. ```json { "id": 12, "trace_id": "4fd2a8c9-8c2f-44e8-96fd-77b7f03e72f2", "mode": "live", "group_id": 123, "alert_id": 456, "source": "alertmanager", "dedup_key": "disk-full-host1", "status": "completed", "outcome": "created", "reason": null, "input_summary": {}, "result": {}, "started_at": "2026-06-19T17:00:00", "finished_at": "2026-06-19T17:00:01", "steps": [ { "id": 100, "position": 1, "stage": "intake", "code": "alert_received", "status": "success", "title": "Alert received", "message": null, "data": {}, "created_at": "2026-06-19T17:00:00" } ] } ``` -------------------------------- ### Action Hints Example Source: https://incidentrelay.io/docs.html?doc=docs%2Fvoice-providers%2Fprovider-api.md&version=v1.2.1 Example structure for defining keypad actions in a voice call. ```json { "1": "acknowledge", "2": "resolve", } ``` -------------------------------- ### Install IncidentRelay Package Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Frpm-installation.md&version=v1.2.1 Install the application using the package manager. ```bash sudo dnf install -y incidentrelay ``` ```bash sudo yum install -y incidentrelay ``` -------------------------------- ### 30-day 99.9% target example Source: https://incidentrelay.io/docs.html?doc=docs%2Fservices%2Fservice-sli-slo.md&version=v1.2.1 Example calculation for a 30-day window with a 99.9% availability target. ```text Window: 30 days = 2,592,000 seconds Allowed downtime: 0.1% = 2,592 seconds = 43.2 minutes ``` -------------------------------- ### Example Calendar Href Source: https://incidentrelay.io/docs.html?doc=docs%2Fintegrations%2Fcaldav.md An example of the calendar path format returned by the server. ```text /caldav/calendars/teams/1/ ``` -------------------------------- ### Full Policy Example Source: https://incidentrelay.io/docs.html?doc=docs%2Fconcepts%2Fescalation-policies.md A complete example of a policy configuration and its resulting timeline. ```text Team: Cloud OPS Policy: Critical escalation Repeat count: 1 Rule 1: Target type: rotation Target: Primary rotation Delay: 300 Rule 2: Target type: rotation Target: Backup rotation Delay: 600 Rule 3: Target type: user Target: cloud-lead Delay: 900 ``` ```text 12:00 alert created -> Primary rotation user notified 12:05 no ACK -> Backup rotation user notified 12:15 no ACK -> cloud-lead notified 12:30 repeat cycle starts, if repeat_count allows it ``` -------------------------------- ### Recommended Demo Link Examples Source: https://incidentrelay.io/docs.html?doc=docs%2Fadministration%2Fdemo-data.md Common examples of service links used for alert context and documentation. ```text Grafana dashboard Logs Repository Documentation ``` -------------------------------- ### Example provider file path Source: https://incidentrelay.io/docs.html?doc=docs%2Fvoice-providers%2Fconfiguration.md Full path to a provider file. ```text /usr/local/lib/incidentrelay/voice_providers/mango.py ``` -------------------------------- ### Current Migration and Scheduler Commands Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Finstallation.md Use these commands for database migrations and starting the scheduler worker in current installations. ```bash python manage.py migrate python -m app.scheduler_worker ``` -------------------------------- ### Recommended Demo Service Examples Source: https://incidentrelay.io/docs.html?doc=docs%2Fadministration%2Fdemo-data.md Configuration examples for defining services in demo data, including slug, type, environment, and criticality. ```text Service: RabbitMQ Cloud Slug: rabbitmq-cloud Type: queue Environment: production Criticality: critical Service: Billing API Slug: billing-api Type: api Environment: production Criticality: high Service: PostgreSQL Prod Slug: postgresql-prod Type: database Environment: production Criticality: critical ``` -------------------------------- ### DTMF callback mapping example Source: https://incidentrelay.io/docs.html?doc=docs%2Fvoice-providers%2Fprovider-api.md&version=v1.2.1 Example mapping of keypad inputs to specific actions. ```text 1 -> acknowledge 2 -> resolve ``` -------------------------------- ### Example Route Matchers Source: https://incidentrelay.io/docs.html?doc=docs%2Fintegrations%2Frmon.md&version=v1.2.1 Example configuration for filtering RMON alerts based on environment and region. ```json { "environment": "production", "rmon_region": "eu-west" } ``` -------------------------------- ### Service Configuration Example Source: https://incidentrelay.io/docs.html?doc=docs%2Fconcepts%2Fteams-rotations-routes.md Example definition of a service owned by a team, including metadata like type and criticality. ```text Team: Infrastructure Service: RabbitMQ Cloud Service slug: rabbitmq-cloud Type: queue Environment: production Criticality: critical ``` -------------------------------- ### Service Match Rule Example Source: https://incidentrelay.io/docs.html?doc=docs%2Fintegrations%2Fzabbix.md Example configuration for matching alerts to specific services based on labels. ```json { "labels": { "service": "cpu", "environment": { "op": "regex", "value": "^(prod|production)$" } } } ``` -------------------------------- ### Scheduler Entrypoint Source: https://incidentrelay.io/docs.html?doc=docs%2Fadministration%2Fscheduler.md&version=v1.2.1 Command to start the scheduler worker. ```bash python -m app.scheduler_worker ``` -------------------------------- ### Example Integration URL Source: https://incidentrelay.io/docs.html?doc=docs%2Fintegrations%2Faws-sns-cloudwatch.md&version=v1.2.1 An example of the full URL structure for an IncidentRelay AWS SNS integration route. ```text https://incidentrelay.example.com/api/integrations/aws-sns/17 ``` -------------------------------- ### List traces for an alert group response example Source: https://incidentrelay.io/docs.html?doc=docs%2Fincidents%2Fexplain-trace.md&version=v1.2.1 Example JSON response containing a list of explain trace objects. ```json [ { "id": 12, "trace_id": "4fd2a8c9-8c2f-44e8-96fd-77b7f03e72f2", "mode": "live", "group_id": 123, "alert_id": 456, "source": "alertmanager", "dedup_key": "disk-full-host1", "status": "completed", "outcome": "created", "reason": null, "input_summary": {}, "result": {}, "started_at": "2026-06-19T17:00:00", "finished_at": "2026-06-19T17:00:01", "steps": [] } ] ``` -------------------------------- ### Recommended Dependency Candidates Source: https://incidentrelay.io/docs.html?doc=docs%2Fconcepts%2Falert-correlation.md&version=v1.2.1 Examples of service dependencies suitable for correlation. ```text API -> database API -> queue frontend -> backend API worker -> queue service -> external provider service -> shared infrastructure ``` -------------------------------- ### Package File Paths Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Frpm-installation.md&version=v1.2.1 Standard directory structure for the installed application. ```text /var/www/incidentrelay # application directory /etc/incidentrelay/incidentrelay.conf # main configuration file /var/lib/incidentrelay # runtime data, SQLite database by default /var/log/incidentrelay # application logs /usr/local/lib/incidentrelay/voice_providers # custom voice providers ``` -------------------------------- ### SQLite Configuration Source: https://incidentrelay.io/docs.html?doc=docs%2Fadministration%2Fscheduler.md&version=v1.2.1 Recommended SQLite configuration for small installations. ```ini [sqlite] wal = true busy_timeout = 5000 ``` -------------------------------- ### Install System Packages on Debian/Ubuntu Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Fsystemd.md&version=v1.2.1 Required system dependencies for the application. ```bash sudo apt-get update sudo apt-get install -y \ git \ python3 \ python3-venv \ python3-pip \ build-essential \ curl ``` -------------------------------- ### Application File Paths Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Frpm-installation.md Standard directory structure for the installed application. ```text /var/www/incidentrelay # application directory /etc/incidentrelay/incidentrelay.conf # main configuration file /var/lib/incidentrelay # runtime data, SQLite database by default /var/log/incidentrelay # application logs /usr/local/lib/incidentrelay/voice_providers # custom voice providers ``` -------------------------------- ### Outline first setup flow Source: https://incidentrelay.io/docs.html?doc=docs%2Fproject-readme.md&version=v1.2.1 Step-by-step sequence for initial system configuration. ```text 1. Create a group 2. Create users 3. Add users to the group 4. Create a team 5. Add users to the team 6. Create a rotation 7. Add rotation members 8. Create a service 9. Add service links and runbooks 10. Create notification channels 11. Create a route and select default service 12. Copy the route intake token 13. Configure Alertmanager, Zabbix, or webhook sender 14. Send a test alert 15. Acknowledge or resolve the alert ``` -------------------------------- ### Configuration Examples Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Frpm-installation.md Minimum required configuration settings for server and database connectivity. ```ini [server] secret_key = change-me public_base_url = https://incidentrelay.example.com [database] type = sqlite path = /var/lib/incidentrelay/incidentrelay.db ``` ```ini [database] type = postgresql host = 127.0.0.1 port = 5432 name = incidentrelay user = incidentrelay password = change-me ``` -------------------------------- ### Create system directories Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Fsystemd.md&version=v1.2.1 Sets up the necessary directory structure for configuration, data, logs, and voice providers. ```bash sudo mkdir -p /etc/incidentrelay sudo mkdir -p /var/lib/incidentrelay sudo mkdir -p /var/log/incidentrelay sudo mkdir -p /usr/local/lib/incidentrelay/voice_providers ``` -------------------------------- ### Manage service lifecycle Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Fsystemd.md Enable and start the web and scheduler services. ```bash sudo systemctl enable incidentrelay sudo systemctl enable incidentrelay-scheduler sudo systemctl start incidentrelay sudo systemctl start incidentrelay-scheduler ``` -------------------------------- ### Historical Membership Example Source: https://incidentrelay.io/docs.html?doc=docs%2Fusage%2Fcalendar.md&version=v1.2.1 Example timeline of a user being added and removed from a rotation. ```text 2026-06-01 09:00 Ivan added 2026-06-05 12:00 Ivan removed 2026-06-10 09:00 Ivan added again ``` -------------------------------- ### CloudWatch Dimension Label Example Source: https://incidentrelay.io/docs.html?doc=docs%2Fintegrations%2Faws-sns-cloudwatch.md&version=v1.2.1 Example of a normalized label for a CloudWatch dimension. ```text dimension_instanceid=i-0123456789abcdef0 ``` -------------------------------- ### Configure system directories and permissions Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Fsystemd.md Create necessary system directories and set appropriate ownership and permissions. ```bash sudo mkdir -p /etc/incidentrelay sudo mkdir -p /var/lib/incidentrelay sudo mkdir -p /var/log/incidentrelay sudo mkdir -p /usr/local/lib/incidentrelay/voice_providers ``` ```bash sudo chown -R www-data:www-data /var/www/incidentrelay sudo chown -R www-data:www-data /var/lib/incidentrelay sudo chown -R www-data:www-data /var/log/incidentrelay ``` ```bash sudo chown root:root /usr/local/lib/incidentrelay/voice_providers sudo chmod 755 /usr/local/lib/incidentrelay/voice_providers ``` -------------------------------- ### Identify recommended installation paths Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Findex.md&version=v1.2.1 Standard directory structure for non-containerized deployments. ```text /etc/incidentrelay/incidentrelay.conf /var/lib/incidentrelay /var/log/incidentrelay /usr/local/lib/incidentrelay/voice_providers ``` -------------------------------- ### Create system directories Source: https://incidentrelay.io/docs?doc=docs%2Fgetting-started%2Fsystemd.md&version=v1.2.1 Sets up the necessary file system structure for application data and logs. ```bash sudo mkdir -p /etc/incidentrelay sudo mkdir -p /var/lib/incidentrelay sudo mkdir -p /var/log/incidentrelay sudo mkdir -p /usr/local/lib/incidentrelay/voice_providers ``` -------------------------------- ### Two-Hop Correlation Example Source: https://incidentrelay.io/docs.html?doc=docs%2Fconcepts%2Falert-correlation.md&version=v1.2.1 Example of a correlation spanning two dependency hops. ```text PostgreSQL unavailable -> Frontend 5xx depth = 2 ``` -------------------------------- ### Example directory structure Source: https://incidentrelay.io/docs.html?doc=docs%2Fvoice-providers%2Findex.md&version=v1.2.1 A sample layout showing how provider modules are organized within the directory. ```text /usr/local/lib/incidentrelay/voice_providers/ ├── README.md ├── mango.py ├── zadarma.py └── internal_pbx.py ``` -------------------------------- ### Install PostgreSQL dependency Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Fsystemd.md&version=v1.2.1 Installs the psycopg2-binary package for PostgreSQL database support. ```bash sudo /var/www/incidentrelay/venv/bin/pip install psycopg2-binary ``` -------------------------------- ### GET /api/services/{service_id}/readiness Source: https://incidentrelay.io/docs.html?doc=docs%2Fservices%2Fservice-standards-and-events.md&version=v1.2.1 Get the current readiness batch for a service. ```APIDOC ## GET /api/services/{service_id}/readiness ### Description Get current readiness batch. ### Method GET ### Endpoint /api/services/{service_id}/readiness ### Parameters #### Path Parameters - **service_id** (string) - Required - The unique identifier of the service. ``` -------------------------------- ### Metadata Example Source: https://incidentrelay.io/docs.html?doc=docs%2Fvoice-providers%2Fprovider-api.md&version=v1.2.1 Example structure for providing additional metadata in a voice call request. ```json { "channel_id": 1, "channel_name": "infra-voice-critical", "channel_type": "voice_call", } ``` -------------------------------- ### Example provider files location Source: https://incidentrelay.io/docs.html?doc=docs%2Fvoice-providers%2Findex.md&version=v1.2.1 The path where reference implementation files are stored. ```text examples/voice_providers/ ``` -------------------------------- ### Install systemd service files Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Fsystemd.md Copy the service definition files to the systemd directory. ```bash sudo cp /var/www/incidentrelay/systemd/incidentrelay.service /etc/systemd/system/ sudo cp /var/www/incidentrelay/systemd/incidentrelay-scheduler.service /etc/systemd/system/ ``` -------------------------------- ### Install Repository File Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Frpm-installation.md&version=v1.2.1 Commands to download and register the repository on DNF or YUM-based systems. ```bash sudo dnf install -y curl sudo curl -fsSL \ https://repo.incidentrelay.io/incidentrelay.repo \ -o /etc/yum.repos.d/incidentrelay.repo sudo dnf makecache ``` ```bash sudo yum install -y curl sudo curl -fsSL \ https://repo.incidentrelay.io/incidentrelay.repo \ -o /etc/yum.repos.d/incidentrelay.repo sudo yum makecache ``` -------------------------------- ### Dependency impact example Source: https://incidentrelay.io/docs.html?doc=docs%2Fconcepts%2Fbusiness-services.md&version=v1.2.1 Example of how upstream dependencies affect business service status. ```text Business Service: Openstack Cloud Component: Openstack Openstack depends on Cloud computes Alert fires on Cloud computes ``` -------------------------------- ### Recommended Demo Runbook Examples Source: https://incidentrelay.io/docs.html?doc=docs%2Fadministration%2Fdemo-data.md Standard runbook titles for testing alert notifications and troubleshooting workflows. ```text Generic service troubleshooting RabbitMQ cluster partition Database connection errors ``` -------------------------------- ### Claim Mapping Example Source: https://incidentrelay.io/docs.html?doc=docs%2Fadministration%2Fsso.md&version=v1.2.1 Example mapping for SAML claims to IncidentRelay user attributes. ```text Subject claim: NameID Email claim: email Username claim: username Display name claim: displayName Groups claim: groups ``` -------------------------------- ### Database Migration and Admin Creation Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Fdocker.md&version=v1.2.1 Commands to run migrations and initialize the first administrator account. ```bash docker compose exec incidentrelay python manage.py migrate ``` ```bash docker compose exec incidentrelay \ python manage.py create-admin \ --username admin \ --password 'change-me-123' \ --email admin@example.com ``` -------------------------------- ### Sentry Routing Matcher Examples Source: https://incidentrelay.io/docs.html?doc=docs%2Fintegrations%2Fsentry.md Examples of label-based routing configurations for filtering Sentry alerts. ```json { "labels": { "project_slug": "backend-api", "environment": "production" } } ``` ```json { "labels": { "environment": "production" } } ``` ```json { "labels": { "sentry_resource": "metric_alert" } } ``` -------------------------------- ### SQLite configuration example Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Fdocker.md Default configuration file path and content for SQLite deployments. ```text docker/incidentrelay.docker.conf ``` ```ini [main] log_level = INFO log_file = /var/log/incidentrelay/incidentrelay.log [server] host = 0.0.0.0 port = 8080 public_base_url = http://localhost:8080 [database] type = sqlite path = /var/lib/incidentrelay/incidentrelay.db [sqlite] wal = true busy_timeout = 5000 [voice] provider = stub providers_dir = /usr/local/lib/incidentrelay/voice_providers callback_secret = change-me ``` -------------------------------- ### Maintenance Window Payload Example Source: https://incidentrelay.io/docs.html?doc=docs%2Fconcepts%2Fmaintenance-windows.md&version=v1.2.1 Example JSON payload for a maintenance window in the Europe/Moscow timezone. ```json { "starts_at": "2026-06-07T07:52:00", "ends_at": "2026-06-07T11:37:00", "timezone": "Europe/Moscow" } ``` -------------------------------- ### Initial SSO Rollout Configuration Source: https://incidentrelay.io/docs.html?doc=docs%2Fadministration%2Fsso.md&version=v1.2.1 Recommended settings for the first SSO rollout. ```text Auto create users: enabled Auto link by email: enabled Require verified email: disabled Sync group memberships: enabled Remove missing group memberships: disabled Allowed domains: your corporate domain ``` -------------------------------- ### Effective Status Output Example Source: https://incidentrelay.io/docs.html?doc=docs%2Fconcepts%2Fbusiness-services.md&version=v1.2.1 Example showing the difference between raw and effective service status. ```text raw service_status: operational effective_status: degraded effective_status_reason: upstream_dependency ``` -------------------------------- ### Troubleshoot empty API token Source: https://incidentrelay.io/docs.html?doc=docs%2Fvoice-providers%2Ftroubleshooting.md Example configuration for environment variables and systemd command to verify them. ```json "api_token": "${VOICE_API_TOKEN}" ``` ```bash sudo systemctl show incidentrelay --property=Environment ``` -------------------------------- ### Set configuration file path Source: https://incidentrelay.io/docs.html?doc=docs%2Fproject-readme.md&version=v1.2.1 Example command to export the configuration file path. ```bash export INCIDENTRELAY_CONFIG_FILE=/etc/incidentrelay/incidentrelay.conf ``` -------------------------------- ### Update responder status response example Source: https://incidentrelay.io/docs.html?doc=docs%2Fincidents%2Fresponders.md&version=v1.2.1 Example JSON response after successfully updating a responder status. ```json { "id": 15, "incident_id": 14784, "group_id": 14784, "target_type": "user", "target_user_id": 42, "target": { "type": "user", "id": 42, "label": "Alice Smith" }, "requested_by_id": 1, "accepted_by_id": 42, "accepted_by": { "id": 42, "username": "alice", "display_name": "Alice Smith", "email": "alice@example.com" }, "declined_by_id": null, "declined_by": null, "status": "accepted", "message": "Please help with database checks", "response_message": "I am joining", "requested_at": "2026-06-17T10:00:00Z", "responded_at": "2026-06-17T10:05:00Z", "expires_at": "2026-06-17T10:30:00Z" } ``` -------------------------------- ### IncidentRelay Initial Setup Flow Source: https://incidentrelay.io/docs.html?doc=docs%2Findex.md Step-by-step configuration sequence for deploying and initializing the IncidentRelay platform. ```text 1. Install IncidentRelay 2. Configure the service and public_base_url 3. Configure browser push VAPID keys if browser/PWA notifications are required 4. Run migrations 5. Create the first global admin 6. Create a group 7. Create or add users to the group 8. Assign group roles: viewer, editor, user_admin 9. Create a team 10. Add group users to the team 11. Assign team roles: viewer, responder, manager 12. Create a rotation 13. Add rotation members 14. Create a service 15. Add service links and runbooks 16. Create notification channels 17. Ask users to enable browser push in Profile if required 18. Create a route and attach channels 19. Select a default service or configure service match rules 20. Copy the route intake token 21. Configure Alertmanager, Zabbix or webhook sender 22. Send a test alert 23. Acknowledge or resolve the alert ``` -------------------------------- ### Recommended escalation setup flow Source: https://incidentrelay.io/docs.html?doc=docs%2Fconcepts%2Fescalation-policies.md&version=v1.2.1 Step-by-step sequence for configuring team escalation policies. ```text 1. Create a team 2. Create rotations and add members 3. Create notification channels 4. Create an escalation policy 5. Add policy rules 6. Create or edit a route 7. Set Escalation mode = Escalation policy 8. Select the policy 9. Attach route channels 10. Send a test alert ``` -------------------------------- ### Nested OIDC Group Claim Example Source: https://incidentrelay.io/docs.html?doc=docs%2Fadministration%2Fsso.md&version=v1.2.1 Example of using a dot-separated path for nested group claims. ```text Groups claim: realm_access.roles ``` -------------------------------- ### Create initial admin user Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Fsystemd.md&version=v1.2.1 Initialize the application with an admin account using the manage.py script. ```bash cd /var/www/incidentrelay sudo -u www-data \ INCIDENTRELAY_CONFIG_FILE=/etc/incidentrelay/incidentrelay.conf \ /var/www/incidentrelay/venv/bin/python manage.py create-admin \ --username admin \ --password 'change-me-123' \ --email admin@example.com ``` -------------------------------- ### View RPM Installation Logs Source: https://incidentrelay.io/docs.html?doc=docs%2Fadministration%2Flogging.md Commands to follow logs for RPM-based installations, including the telegram worker. ```bash journalctl -u incidentrelay -f journalctl -u incidentrelay-scheduler -f journalctl -u incidentrelay-telegram-worker -f ``` -------------------------------- ### Example Topic ARN Source: https://incidentrelay.io/docs.html?doc=docs%2Fintegrations%2Faws-sns-cloudwatch.md&version=v1.2.1 An example of the Amazon Resource Name (ARN) format required for SNS topic validation. ```text arn:aws:sns:eu-west-1:123456789012:incidentrelay-alerts ``` -------------------------------- ### Example Sentry Alert Labels Source: https://incidentrelay.io/docs.html?doc=docs%2Fintegrations%2Fsentry-troubleshooting.md&version=v1.2.1 Example JSON structure representing Sentry alert labels used for routing. ```json { "project_slug": "backend-api", "environment": "production", "sentry_resource": "event_alert", "sentry_action": "triggered" } ``` -------------------------------- ### List incident responders response example Source: https://incidentrelay.io/docs.html?doc=docs%2Fincidents%2Fresponders.md&version=v1.2.1 Example JSON response containing a list of responder request objects. ```json [ { "id": 15, "incident_id": 14784, "group_id": 14784, "target_type": "user", "target_user_id": 42, "target": { "type": "user", "id": 42, "label": "Alice Smith", "user": { "id": 42, "username": "alice", "display_name": "Alice Smith", "email": "alice@example.com" } }, "status": "requested", "message": "Please help with database checks", "response_message": null, "requested_at": "2026-06-17T10:00:00Z", "responded_at": null, "expires_at": "2026-06-17T10:30:00Z" } ] ``` -------------------------------- ### SSO Secret Encryption Key Example Source: https://incidentrelay.io/docs.html?doc=docs%2Fadministration%2Fsso.md&version=v1.2.1 Example configuration for setting a persistent encryption key in the configuration file. ```ini [sso] secret_encryption_key = change-me-to-a-long-random-secret ``` -------------------------------- ### Create Admin User Source: https://incidentrelay.io/docs.html?doc=docs%2Fgetting-started%2Frpm-installation.md&version=v1.2.1 Command to initialize the first administrative user account. ```bash sudo -u incidentrelay \ INCIDENTRELAY_CONFIG_FILE=/etc/incidentrelay/incidentrelay.conf \ /var/www/incidentrelay/venv/bin/python \ /var/www/incidentrelay/manage.py create-admin \ --username admin \ --password 'change-me-123' \ --email admin@example.com ``` -------------------------------- ### Normalized Alert Output Example Source: https://incidentrelay.io/docs.html?doc=docs%2Fapi%2Fsentry-integration.md&version=v1.2.1 Example of a normalized IncidentRelay alert object generated from a Sentry event_alert.triggered payload. ```json { "source": "sentry", "team_slug": null, "external_id": "12345", "dedup_key": "sentry:issue:12345", "title": "ZeroDivisionError", "message": "division by zero", "severity": "critical", "status": "firing", "labels": { "alertname": "SentryIssueAlert", "severity": "critical", "sentry_resource": "event_alert", "sentry_action": "triggered", "organization_slug": "acme", "organization_name": "Acme", "project_slug": "backend-api", "project_name": "Backend API", "issue_id": "12345", "issue_short_id": "BACKEND-1", "event_id": "event-abc", "environment": "production", "level": "error", "sentry_url": "https://sentry.example.com/issues/12345/" }, "payload": {} } ``` -------------------------------- ### Route Configuration Example Source: https://incidentrelay.io/docs.html?doc=docs%2Fconcepts%2Fteams-rotations-routes.md Defines a route with specific source, team, rotation, channels, and alert matchers. ```text Source: alertmanager Team: infra Rotation: infra-primary Channels: infra-mattermost, infra-voice-critical Matchers: {"labels": {"team": "infra"}} ```