Summary

Adds a SolarWinds Orion provider for Keep, enabling alert ingestion from the SolarWinds monitoring platform via the SWIS (SolarWinds Information Service) REST API.

Features

Authentication

  • Username/password authentication against SolarWinds Orion server
  • Configurable SSL certificate verification for self-signed certificates

Alert Fetching (Pull)

  • Queries Orion.AlertActive joined with Orion.AlertObjects and Orion.AlertConfigurations via SWQL
  • Maps SolarWinds severity levels (Informational, Warning, Critical, Notice) to Keep severity model
  • Maps acknowledgement state to Keep alert status model

Webhook Support (Push)

  • _format_alert handles incoming webhook payloads from SolarWinds HTTP POST alert actions
  • Supports both SolarWinds-native field names (AlertActiveID, AlertName, Severity) and generic Keep field names
  • Handles severity as both integer and string values
  • Handles acknowledged flag as both boolean and string

Scope Validation

  • Verifies connectivity and read access via SWIS API queries

Files Added

  • keep/providers/solarwinds_provider/solarwinds_provider.py — Main provider implementation
  • keep/providers/solarwinds_provider/alerts_mock.py — Mock alert data for UI simulation
  • keep/providers/solarwinds_provider/__init__.py — Package init
  • keep-ui/public/icons/solarwinds-icon.png — Provider icon
  • tests/test_solarwinds_provider.py — Unit tests for format_alert and datetime parsing

Test Plan

  • Unit tests for _format_alert with various webhook payloads (critical, warning, resolved, acknowledged)
  • Unit tests for severity mapping (integer, string, numeric string)
  • Unit tests for datetime parsing (ISO, Z-suffix, invalid, None)
  • Unit tests for fallback field names and minimal payloads
  • Integration test with a SolarWinds Orion instance

Fixes #3526

/claim #3526

Claim

Total prize pool $50
Total paid $0
Status Pending
Submitted February 17, 2026
Last updated February 17, 2026

Contributors

JA

Janis A.

@janisag07

100%

Sponsors

KE

Keep (YC W23)

@keephq

$50