Configuration

OpenSRE uses a hierarchical configuration system managed by the config-service. Configuration flows from org-level defaults down to team-specific overrides — dicts merge, lists replace.

Environment Variables

The minimal required configuration is one env var:

| Variable | Required | Description | |----------|----------|-------------| | OPENROUTER_API_KEY | Yes | LLM API key via OpenRouter | | SLACK_BOT_TOKEN | No | Slack bot token (xoxb-...) | | SLACK_APP_TOKEN | No | Slack app token (xapp-...) for Socket Mode | | NEO4J_URI | No | Neo4j connection URI (default: bolt://localhost:7688) | | NEO4J_USERNAME | No | Neo4j username (default: neo4j) | | NEO4J_PASSWORD | No | Neo4j password | | ADMIN_TOKEN | No | Admin token for web UI |

Integration Configuration

Prometheus

integrations:
  prometheus:
    url: "http://prometheus:9090"
    enabled: true

Grafana

integrations:
  grafana:
    url: "http://grafana:3000"
    api_key: "your-grafana-api-key"
    enabled: true

Datadog

integrations:
  datadog:
    api_key: "your-datadog-api-key"
    app_key: "your-datadog-app-key"
    enabled: true

Elastic / ELK

integrations:
  elasticsearch:
    url: "http://elasticsearch:9200"
    enabled: true

PagerDuty

integrations:
  pagerduty:
    api_key: "your-pagerduty-api-key"
    enabled: true

LLM Configuration

OpenSRE routes LLM requests through LiteLLM, which supports any LLM provider:

# litellm_config.yaml
model_list:
  - model_name: claude-3-5-sonnet
    litellm_params:
      model: openrouter/anthropic/claude-3-5-sonnet
      api_key: os.environ/OPENROUTER_API_KEY

Configuration Hierarchy

Configuration is stored in the config-service and organized hierarchically:

org (base defaults)
 └── team (team-specific overrides)
      └── agent (per-agent overrides)

Dict values are deep merged at each level. List values are replaced — if a team specifies a list, it replaces the org-level list entirely.

Skills Configuration

Enable or disable specific investigation skills per agent:

{
  "agents": {
    "my-agent-id": {
      "skills": {
        "k8s-debug": true,
        "datadog-metrics": false
      }
    }
  }
}

See Investigation Skills for the full list of available skills.