--- title: Environment Variables description: Complete reference of all supported OpenSRE environment variables. --- All configuration options for OpenSRE can be set via environment variables. This page provides a complete reference. ## LLM Providers | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `LLM_PROVIDER` | `anthropic` | Primary LLM provider (`anthropic`, `openai`, `openrouter`, `deepseek`, `gemini`, `nvidia`, `minimax`, `groq`, `azure-openai`, `bedrock`, `ollama`, `codex`, `claude-code`, `cursor`, `gemini-cli`, `antigravity-cli`, `opencode`, `kimi`, `copilot`, `grok-cli`, `pi`) | `config` | | `LLM_MAX_TOKENS` | `4096` | Maximum tokens for LLM responses | `config` | | `OPENSRE_LLM_TRANSPORT` | `sdk` | LLM transport for API providers: `sdk` (native SDKs) or `litellm` | `core/llm/transport_mode` | ### Anthropic | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `ANTHROPIC_API_KEY` | | API key for Anthropic | `llm_credentials` | | `ANTHROPIC_REASONING_MODEL` | | Model for reasoning tasks | `config` | | `ANTHROPIC_TOOLCALL_MODEL` | | Model for tool calling | `config` | ### OpenAI | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `OPENAI_API_KEY` | | API key for OpenAI | `llm_credentials` | | `OPENAI_REASONING_MODEL` | | Model for reasoning tasks | `config` | | `OPENAI_TOOLCALL_MODEL` | | Model for tool calling | `config` | ### OpenRouter | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `OPENROUTER_API_KEY` | | API key for OpenRouter | `llm_credentials` | | `OPENROUTER_MODEL` | | Shared model for all tasks | `config` | | `OPENROUTER_REASONING_MODEL` | | Override model for reasoning | `config` | | `OPENROUTER_TOOLCALL_MODEL` | | Override model for tool calling | `config` | ### DeepSeek | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `DEEPSEEK_API_KEY` | | API key for DeepSeek | `llm_credentials` | | `DEEPSEEK_MODEL` | | Shared model for all tasks | `config` | | `DEEPSEEK_REASONING_MODEL` | | Override model for reasoning | `config` | | `DEEPSEEK_TOOLCALL_MODEL` | | Override model for tool calling | `config` | ### Google Gemini | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `GEMINI_API_KEY` | | API key for Google Gemini | `llm_credentials` | | `GEMINI_MODEL` | | Shared model for all tasks | `config` | | `GEMINI_REASONING_MODEL` | | Override model for reasoning | `config` | | `GEMINI_TOOLCALL_MODEL` | | Override model for tool calling | `config` | ### NVIDIA | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `NVIDIA_API_KEY` | | API key for NVIDIA NIM | `llm_credentials` | | `NVIDIA_MODEL` | | Shared model for all tasks | `config` | | `NVIDIA_REASONING_MODEL` | | Override model for reasoning | `config` | | `NVIDIA_TOOLCALL_MODEL` | | Override model for tool calling | `config` | ### MiniMax | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `MINIMAX_API_KEY` | | API key for MiniMax | `llm_credentials` | | `MINIMAX_MODEL` | | Shared model for all tasks | `config` | | `MINIMAX_REASONING_MODEL` | | Override model for reasoning | `config` | | `MINIMAX_TOOLCALL_MODEL` | | Override model for tool calling | `config` | ### Groq | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `GROQ_API_KEY` | | API key for Groq | `llm_credentials` | | `GROQ_MODEL` | | Shared model for all tasks | `config` | | `GROQ_REASONING_MODEL` | | Override model for reasoning | `config` | | `GROQ_TOOLCALL_MODEL` | | Override model for tool calling | `config` | ### Azure OpenAI | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `AZURE_OPENAI_BASE_URL` | | Azure OpenAI resource URL (`https://.openai.azure.com`) | `config` | | `AZURE_OPENAI_API_KEY` | | API key for Azure OpenAI | `llm_credentials` | | `AZURE_OPENAI_API_VERSION` | `2024-10-21` | Azure OpenAI API version | `config` | | `AZURE_OPENAI_MODEL` | | Shared deployment name for all slots | `config` | | `AZURE_OPENAI_REASONING_MODEL` | `gpt-5.4-mini` | Deployment for reasoning tasks | `config` | | `AZURE_OPENAI_CLASSIFICATION_MODEL` | `gpt-5.4-mini` | Deployment for classification | `config` | | `AZURE_OPENAI_TOOLCALL_MODEL` | `gpt-5.4-mini` | Deployment for tool calling | `config` | ### Amazon Bedrock | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `BEDROCK_REASONING_MODEL` | | Model for reasoning tasks | `config` | | `BEDROCK_TOOLCALL_MODEL` | | Model for tool calling | `config` | ### Ollama (Local) | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `OLLAMA_MODEL` | | Model name in Ollama | `config` | | `OLLAMA_HOST` | `http://localhost:11434` | Ollama server URL | `config` | ## LLM Reasoning Effort | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `OPENSRE_REASONING_EFFORT` | `medium` | Reasoning effort level for extended thinking models (`low`, `medium`, `high`) | `llm_reasoning_effort` | ## CLI Investigation Tools | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `CODEX_BIN` | | Path to Codex CLI binary | `config` | | `CODEX_MODEL` | | Model override for Codex | `config` | | `CLAUDE_CODE_BIN` | | Path to Claude Code CLI binary | `config` | | `CLAUDE_CODE_MODEL` | | Model override for Claude Code | `config` | | `GEMINI_CLI_BIN` | | Path to Gemini CLI binary | `config` | | `GEMINI_CLI_MODEL` | | Model override for Gemini CLI | `config` | | `ANTIGRAVITY_CLI_BIN` | | Path to Antigravity CLI binary | `config` | | `ANTIGRAVITY_CLI_MODEL` | | Model override for Antigravity | `config` | | `ANTIGRAVITY_CLI_TIMEOUT_SECONDS` | | Timeout for Antigravity CLI invocations | `config` | | `OPENCODE_BIN` | | Path to OpenCode CLI binary | `config` | | `OPENCODE_MODEL` | | Model override for OpenCode | `config` | | `CURSOR_BIN` | | Path to Cursor CLI binary | `config` | | `CURSOR_MODEL` | | Model override for Cursor | `config` | | `KIMI_BIN` | | Path to Kimi CLI binary | `config` | | `KIMI_MODEL` | | Model override for Kimi | `config` | | `KIMI_API_KEY` | | API key for Kimi | `config` | | `COPILOT_BIN` | | Path to GitHub Copilot CLI binary | `config` | | `COPILOT_MODEL` | | Model override for Copilot | `config` | | `COPILOT_HOME` | | Copilot config directory override | `config` | | `COPILOT_GITHUB_TOKEN` | | GitHub token for Copilot auth | `config` | | `GROK_CLI_BIN` | | Path to Grok Build CLI binary | `config` | | `GROK_CLI_MODEL` | | Model override for Grok Build CLI | `config` | | `XAI_API_KEY` | | API-key auth for Grok Build CLI | `integrations/llm_cli` | | `PI_BIN` | | Path to Pi CLI binary | `config` | | `PI_MODEL` | | Model override for Pi CLI (`provider/model`) | `config` | | `PI_AGENT_DIR` | | Pi agent config directory override | `integrations/llm_cli` | | `PI_CONFIG_DIR` | | Pi config directory override | `integrations/llm_cli` | ## Output & Debugging | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `TRACER_VERBOSE` | `0` | Verbose output for tracer (`1`, `true`, `yes`) | `surfaces/interactive_shell/ui/output` | | `TRACER_OUTPUT_FORMAT` | | Output format for tracer results | `platform/observability/output_format` | | `TRACER_API_URL` | | API URL for tracer reports | `integrations/slack/delivery.py` | | `NO_COLOR` | | Disable colored output (standard convention) | `platform/observability/output_format` | | `COLUMNS` | `80` | Terminal column width for output formatting | `surfaces/interactive_shell/ui/output` | | `ENV` | `development` | Environment (`development`, `production`) | `config` | ## Credentials & Authentication | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `OPENSRE_DISABLE_KEYRING` | `0` | Disable OS keyring for credential storage | `llm_credentials` | | `OPENSRE_LLM_AUTH_METADATA_PATH` | `~/.opensre/llm-auth.json` | Non-secret LLM auth metadata path used by prompt-safe status checks | `llm_auth/records` | | `OPENSRE_API_KEY` | | API key for remote OpenSRE instances | `remote/server` | | `DBUS_SESSION_BUS_ADDRESS` | | D-Bus socket address (Linux keyring) | `llm_credentials` | ## Telemetry & Monitoring | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `OPENSRE_NO_TELEMETRY` | `0` | Disable all telemetry, including Sentry and PostHog (covers `$ai_generation` prompt/response events) | `platform/observability/sentry_sdk.py` | | `OPENSRE_SENTRY_DISABLED` | `0` | Disable Sentry error reporting | `platform/observability/sentry_sdk.py` | | `OPENSRE_SENTRY_DSN` | | Override Sentry DSN | `platform/observability/sentry_sdk.py` | | `OPENSRE_SENTRY_LOGGING_DISABLED` | `0` | Disable Sentry log integration | `.env.example` | | `OPENSRE_DEPLOYMENT_METHOD` | `local` | Deployment method tag for Sentry (`railway`, `ec2`, `vercel`, `local`) | `.env.example` | | `OPENSRE_PROMPT_LOG_DISABLED` | `0` | Disable prompt logging entirely | `.env.example` | | `OPENSRE_PROMPT_LOG_LOCAL_DISABLED` | `0` | Disable local prompt log file | `.env.example` | | `OPENSRE_PROMPT_LOG_REDACT` | `1` | Redact known token shapes from prompts/responses before local or PostHog logging | `.env.example` | | `OPENSRE_PROMPT_LOG_PATH` | `~/.config/opensre/prompt_log.jsonl` | Path to local prompt log file | `.env.example` | | `DO_NOT_TRACK` | `0` | Honor global do-not-track preference | `platform/observability/sentry_sdk.py` | | `SENTRY_TRACES_SAMPLE_RATE` | `1.0` | Trace sampling rate for Sentry | `.env.example` | | `SENTRY_ERROR_SAMPLE_RATE` | `1.0` | Error sampling rate for Sentry | `.env.example` | ## Paths & Directories | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `INVESTIGATIONS_DIR` | `~/.opensre/investigations` | Directory for saved investigations | `remote/server` | | `OPENSRE_PROJECT_ENV_PATH` | `PROJECT_ROOT/.env` | Path to project-level `.env` file | `surfaces/cli/wizard/config` | | `OPENSRE_WIZARD_STORE_PATH` | `~/.opensre/opensre.json` | Path to the local wizard/provider selection store | `config/constants` | ## Feature Flags | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `OSRE_HELM_INTEGRATION` | | Enable Helm integration (1/true/yes) | `integrations/_catalog_impl` | | `GITLAB_MR_WRITEBACK` | | Enable GitLab merge request writeback (`true`, `1`, `yes`) | `tools/investigation/reporting/gitlab_writeback` | | `OPENSRE_RELEASES_API_URL` | GitHub releases API | Override releases API endpoint | `surfaces/cli/lifecycle/update` | ## Integration Credentials ### Observability & Monitoring | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `GRAFANA_INSTANCE_URL` | | Grafana instance URL | `integrations/_catalog_impl` | | `GRAFANA_READ_TOKEN` | | Grafana API token | `integrations/_catalog_impl` | | `GRAFANA_LOKI_DATASOURCE_UID` | | UID of Loki datasource in Grafana | `.env.example` | | `GRAFANA_TEMPO_DATASOURCE_UID` | | UID of Tempo datasource in Grafana | `.env.example` | | `DD_API_KEY` | | Datadog API key | `integrations/_catalog_impl` | | `DD_APP_KEY` | | Datadog application key | `integrations/_catalog_impl` | | `DD_SITE` | `datadoghq.com` | Datadog site (us/eu) | `integrations/_catalog_impl` | | `GROUNDCOVER_API_KEY` | | groundcover read-only service-account token (alias: `GROUNDCOVER_MCP_TOKEN`) | `integrations/_catalog_impl` | | `GROUNDCOVER_MCP_URL` | `https://mcp.groundcover.com/api/mcp` | groundcover MCP endpoint | `integrations/_catalog_impl` | | `GROUNDCOVER_TENANT_UUID` | | Tenant UUID (multi-workspace accounts) | `integrations/_catalog_impl` | | `GROUNDCOVER_BACKEND_ID` | | Backend ID (multi-backend tenants) | `integrations/_catalog_impl` | | `GROUNDCOVER_TIMEZONE` | `UTC` | Timezone for returned timestamps (`X-Timezone`) | `integrations/_catalog_impl` | | `HONEYCOMB_API_KEY` | | Honeycomb API key | `integrations/_catalog_impl` | | `HONEYCOMB_DATASET` | `__all__` | Honeycomb dataset slug | `integrations/_catalog_impl` | | `HONEYCOMB_API_URL` | `https://api.honeycomb.io` | Honeycomb API endpoint | `integrations/_catalog_impl` | | `CORALOGIX_API_KEY` | | Coralogix API key | `integrations/_catalog_impl` | | `CORALOGIX_API_URL` | `https://api.coralogix.com` | Coralogix API endpoint | `integrations/_catalog_impl` | | `CORALOGIX_APPLICATION_NAME` | | Application name in Coralogix | `integrations/_catalog_impl` | | `CORALOGIX_SUBSYSTEM_NAME` | | Subsystem name in Coralogix | `integrations/_catalog_impl` | | `SIGNOZ_URL` | | SigNoz instance URL | `.env.example` | | `SIGNOZ_API_KEY` | | SigNoz API key | `.env.example` | | `ALERTMANAGER_URL` | | Alertmanager URL | `integrations/_catalog_impl` | | `ALERTMANAGER_BEARER_TOKEN` | | Bearer token for Alertmanager | `integrations/_catalog_impl` | | `ALERTMANAGER_USERNAME` | | Username for Alertmanager basic auth | `integrations/_catalog_impl` | | `ALERTMANAGER_PASSWORD` | | Password for Alertmanager basic auth | `integrations/_catalog_impl` | | `SPLUNK_URL` | | Splunk instance URL | `integrations/_catalog_impl` | | `SPLUNK_TOKEN` | | Splunk API token | `integrations/_catalog_impl` | | `SPLUNK_INDEX` | `main` | Splunk index | `integrations/_catalog_impl` | | `SPLUNK_VERIFY_SSL` | `true` | Verify Splunk SSL certificate | `integrations/_catalog_impl` | | `SENTRY_URL` | `https://sentry.io` | Sentry instance URL | `integrations/_catalog_impl` | | `SENTRY_ORG_SLUG` | | Sentry organization slug | `integrations/_catalog_impl` | | `SENTRY_PROJECT_SLUG` | | Sentry project slug | `integrations/_catalog_impl` | | `SENTRY_AUTH_TOKEN` | | Sentry auth token | `integrations/_catalog_impl` | ### Cloud Platforms | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `AWS_REGION` | `us-east-1` | AWS region | `integrations/_catalog_impl` | | `AWS_ROLE_ARN` | | AWS role ARN for cross-account access | `integrations/_catalog_impl` | | `AWS_EXTERNAL_ID` | | External ID for AWS cross-account role | `integrations/_catalog_impl` | | `AWS_ACCESS_KEY_ID` | | AWS access key | `integrations/_catalog_impl` | | `AWS_SECRET_ACCESS_KEY` | | AWS secret access key | `integrations/_catalog_impl` | | `AWS_SESSION_TOKEN` | | AWS session token | `integrations/_catalog_impl` | ### Messaging | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `SLACK_WEBHOOK_URL` | | Slack incoming webhook URL | `interactive_shell/ui/output`, `integrations/slack/delivery.py` | | `SLACK_BOT_TOKEN` | | Slack bot token | `scheduler/credentials`, `.env.example` | | `SLACK_ACCESS_TOKEN` | | Slack user token | `scheduler/credentials` | | `SLACK_GITHUB_ISSUES_WEBHOOK_URL` | | Slack webhook for GitHub issues | `integrations/github/issue_comments` | | `DISCORD_BOT_TOKEN` | | Discord bot token | `scheduler/credentials`, `remote/server` | | `DISCORD_APPLICATION_ID` | | Discord application ID | `integrations/_catalog_impl` | | `DISCORD_PUBLIC_KEY` | | Discord public key | `integrations/_catalog_impl` | | `DISCORD_DEFAULT_CHANNEL_ID` | | Default Discord channel | `integrations/_catalog_impl` | | `TELEGRAM_BOT_TOKEN` | | Telegram bot token | `integrations/telegram/credentials`, `scheduler/credentials` | | `TELEGRAM_DEFAULT_CHAT_ID` | | Default Telegram chat ID | `integrations/telegram/credentials`, `integrations/_catalog_impl` | | `TWILIO_ACCOUNT_SID` | | Twilio account SID | `integrations/_catalog_impl` | | `TWILIO_AUTH_TOKEN` | | Twilio auth token | `integrations/_catalog_impl` | | `TWILIO_WHATSAPP_FROM` | | WhatsApp sender number (Twilio) | `integrations/_catalog_impl` | | `WHATSAPP_DEFAULT_TO` | | Default WhatsApp recipient | `integrations/_catalog_impl` | | `TWILIO_SMS_FROM` | | SMS sender number (Twilio) | `integrations/_catalog_impl` | | `TWILIO_SMS_MESSAGING_SERVICE_SID` | | SMS messaging service SID | `integrations/_catalog_impl` | | `TWILIO_SMS_DEFAULT_TO` | | Default SMS recipient | `integrations/_catalog_impl` | ### Code & Collaboration | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `GITHUB_MCP_MODE` | `streamable-http` | GitHub MCP transport mode | `integrations/_catalog_impl` | | `GITHUB_MCP_URL` | | GitHub MCP server URL | `integrations/_catalog_impl` | | `GITHUB_MCP_COMMAND` | | GitHub MCP command to execute | `integrations/_catalog_impl` | | `GITHUB_MCP_ARGS` | | GitHub MCP command arguments | `integrations/_catalog_impl` | | `GITHUB_MCP_AUTH_TOKEN` | | GitHub MCP auth token | `integrations/_catalog_impl` | | `GITHUB_MCP_TOOLSETS` | `repos,issues,pull_requests,actions,search` | Enabled GitHub MCP toolsets | `integrations/_catalog_impl` | | `OPENSRE_GITHUB_MCP_REPO_PROBE_LIMIT` | `50` | Max repos to probe (5-500) | `.env.example` | | `GITLAB_BASE_URL` | | GitLab instance URL | `integrations/_catalog_impl` | | `GITLAB_TOKEN` | | GitLab API token | `.env.example` | | `JIRA_BASE_URL` | | Jira instance URL | `integrations/_catalog_impl` | | `JIRA_EMAIL` | | Jira user email | `integrations/_catalog_impl` | | `JIRA_API_TOKEN` | | Jira API token | `integrations/_catalog_impl` | | `JIRA_PROJECT_KEY` | | Default Jira project key | `integrations/_catalog_impl` | | `BITBUCKET_WORKSPACE` | | Bitbucket workspace name | `integrations/_catalog_impl` | | `BITBUCKET_USERNAME` | | Bitbucket username | `integrations/_catalog_impl` | | `BITBUCKET_APP_PASSWORD` | | Bitbucket app password | `integrations/_catalog_impl` | | `BITBUCKET_MAX_RESULTS` | `25` | Max results per API call | `integrations/_catalog_impl` | | `INCIDENT_IO_BASE_URL` | | incident.io API URL | `integrations/_catalog_impl` | | `INCIDENT_IO_API_TOKEN` | | incident.io API token | `.env.example` | | `OPSGENIE_API_KEY` | | Opsgenie API key | `integrations/_catalog_impl` | | `OPSGENIE_REGION` | `us` | Opsgenie region (us/eu) | `integrations/_catalog_impl` | | `VERCEL_API_TOKEN` | | Vercel API token | `integrations/_catalog_impl` | | `VERCEL_TEAM_ID` | | Vercel team ID | `integrations/_catalog_impl` | | `VERCEL_POLL_PROJECT_IDS` | | Project IDs for Vercel polling (CSV) | `remote/vercel_poller` | ### Databases | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `MONGODB_CONNECTION_STRING` | | MongoDB connection string | `integrations/mongodb`, `integrations/_catalog_impl` | | `MONGODB_DATABASE` | | MongoDB database name | `integrations/mongodb`, `integrations/_catalog_impl` | | `MONGODB_AUTH_SOURCE` | `admin` | MongoDB auth source | `integrations/mongodb`, `integrations/_catalog_impl` | | `MONGODB_TLS` | `true` | Enable MongoDB TLS | `integrations/mongodb`, `integrations/_catalog_impl` | | `MONGODB_ATLAS_PUBLIC_KEY` | | MongoDB Atlas public API key | `integrations/_catalog_impl` | | `MONGODB_ATLAS_PRIVATE_KEY` | | MongoDB Atlas private API key | `integrations/_catalog_impl` | | `MONGODB_ATLAS_PROJECT_ID` | | MongoDB Atlas project ID | `integrations/_catalog_impl` | | `MONGODB_ATLAS_BASE_URL` | `https://cloud.mongodb.com/api/atlas/v2` | MongoDB Atlas API base URL | `.env.example` | | `REDIS_HOST` | | Redis host | `integrations/redis`, `integrations/_catalog_impl` | | `REDIS_PORT` | `6379` | Redis port | `integrations/redis`, `integrations/_catalog_impl` | | `REDIS_USERNAME` | | Redis ACL username (Redis 6+) | `integrations/redis`, `integrations/_catalog_impl` | | `REDIS_PASSWORD` | | Redis password | `integrations/redis`, `integrations/_catalog_impl` | | `REDIS_DATABASE` | `0` | Redis database number | `integrations/redis`, `integrations/_catalog_impl` | | `REDIS_SSL` | `false` | Connect using TLS | `integrations/redis`, `integrations/_catalog_impl` | | `POSTGRESQL_HOST` | | PostgreSQL host | `integrations/_catalog_impl` | | `POSTGRESQL_PORT` | `5432` | PostgreSQL port | `integrations/_catalog_impl` | | `POSTGRESQL_DATABASE` | | PostgreSQL database name | `integrations/_catalog_impl` | | `POSTGRESQL_USERNAME` | `postgres` | PostgreSQL username | `integrations/_catalog_impl` | | `POSTGRESQL_PASSWORD` | | PostgreSQL password | `integrations/_catalog_impl` | | `POSTGRESQL_SSL_MODE` | `prefer` | PostgreSQL SSL mode | `integrations/_catalog_impl` | | `MYSQL_HOST` | | MySQL host | `integrations/_catalog_impl` | | `MYSQL_PORT` | `3306` | MySQL port | `integrations/_catalog_impl` | | `MYSQL_DATABASE` | | MySQL database name | `integrations/_catalog_impl` | | `MYSQL_USERNAME` | `root` | MySQL username | `integrations/_catalog_impl` | | `MYSQL_PASSWORD` | | MySQL password | `integrations/_catalog_impl` | | `MYSQL_SSL_MODE` | `preferred` | MySQL SSL mode | `integrations/_catalog_impl` | | `MARIADB_HOST` | | MariaDB host | `integrations/_catalog_impl` | | `MARIADB_PORT` | `3306` | MariaDB port | `integrations/_catalog_impl` | | `MARIADB_DATABASE` | | MariaDB database name | `integrations/_catalog_impl` | | `MARIADB_USERNAME` | | MariaDB username | `integrations/_catalog_impl` | | `MARIADB_PASSWORD` | | MariaDB password | `integrations/_catalog_impl` | | `MARIADB_SSL` | `true` | Enable MariaDB SSL | `integrations/_catalog_impl` | ### Message Queues & Other Services | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `RABBITMQ_HOST` | | RabbitMQ host | `integrations/_catalog_impl` | | `RABBITMQ_MANAGEMENT_PORT` | `15672` | RabbitMQ management port | `integrations/_catalog_impl` | | `RABBITMQ_USERNAME` | | RabbitMQ username | `integrations/_catalog_impl` | | `RABBITMQ_PASSWORD` | | RabbitMQ password | `integrations/_catalog_impl` | | `RABBITMQ_VHOST` | `/` | RabbitMQ vhost | `integrations/_catalog_impl` | | `RABBITMQ_SSL` | `false` | Enable RabbitMQ SSL | `integrations/_catalog_impl` | | `RABBITMQ_VERIFY_SSL` | `true` | Verify RabbitMQ SSL certificate | `integrations/_catalog_impl` | | `BETTERSTACK_QUERY_ENDPOINT` | | Better Stack query endpoint | `integrations/_catalog_impl` | | `BETTERSTACK_USERNAME` | | Better Stack username | `integrations/_catalog_impl` | | `BETTERSTACK_PASSWORD` | | Better Stack password | `integrations/_catalog_impl` | | `BETTERSTACK_SOURCES` | | Better Stack sources | `integrations/_catalog_impl` | | `KAFKA_BOOTSTRAP_SERVERS` | | Kafka broker addresses | `.env.example` | | `KAFKA_SECURITY_PROTOCOL` | `PLAINTEXT` | Kafka security protocol | `.env.example` | | `KAFKA_SASL_MECHANISM` | | Kafka SASL mechanism | `.env.example` | | `KAFKA_SASL_USERNAME` | | Kafka SASL username | `.env.example` | | `KAFKA_SASL_PASSWORD` | | Kafka SASL password | `.env.example` | | `DAGSTER_ENDPOINT` | | Dagster GraphQL endpoint | `integrations/_catalog_impl` | | `DAGSTER_API_TOKEN` | | Dagster Cloud User Token (leave empty for unauthenticated local OSS) | `integrations/_catalog_impl` | ### Data & Search | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `OPENSEARCH_URL` | | OpenSearch instance URL | `integrations/_catalog_impl` | | `OPENSEARCH_USERNAME` | | OpenSearch username | `integrations/_catalog_impl` | | `OPENSEARCH_PASSWORD` | | OpenSearch password | `integrations/_catalog_impl` | | `OPENSEARCH_INDEX_PATTERN` | `*` | OpenSearch index pattern | `integrations/_catalog_impl` | | `OPENSEARCH_MAX_RESULTS` | `100` | Max OpenSearch results | `integrations/_catalog_impl` | | `OPENOBSERVE_URL` | | OpenObserve instance URL | `integrations/_catalog_impl` | | `OPENOBSERVE_TOKEN` | | OpenObserve API token | `integrations/_catalog_impl` | | `OPENOBSERVE_USERNAME` | | OpenObserve username | `integrations/_catalog_impl` | | `OPENOBSERVE_PASSWORD` | | OpenObserve password | `integrations/_catalog_impl` | | `OPENOBSERVE_ORG` | `default` | OpenObserve organization | `integrations/_catalog_impl` | | `OPENOBSERVE_STREAM` | | OpenObserve stream | `integrations/_catalog_impl` | | `OPENOBSERVE_MAX_RESULTS` | `100` | Max OpenObserve results | `integrations/_catalog_impl` | | `VICTORIA_LOGS_URL` | | VictoriaLogs instance URL | `integrations/_catalog_impl` | | `VICTORIA_LOGS_TENANT_ID` | | VictoriaLogs tenant ID | `integrations/_catalog_impl` | | `CLICKHOUSE_HOST` | | ClickHouse host | `.env.example` | | `CLICKHOUSE_PORT` | `8123` | ClickHouse port | `.env.example` | | `CLICKHOUSE_DATABASE` | `default` | ClickHouse database | `.env.example` | | `CLICKHOUSE_USER` | `default` | ClickHouse username | `.env.example` | | `CLICKHOUSE_PASSWORD` | | ClickHouse password | `.env.example` | | `CLICKHOUSE_SECURE` | `false` | Enable ClickHouse TLS | `.env.example` | | `SNOWFLAKE_ACCOUNT_IDENTIFIER` | | Snowflake account identifier | `integrations/_catalog_impl` | | `SNOWFLAKE_ACCOUNT` | | Snowflake account (alternative) | `integrations/_catalog_impl` | | `SNOWFLAKE_TOKEN` | | Snowflake token | `integrations/_catalog_impl` | | `SNOWFLAKE_USER` | | Snowflake username | `integrations/_catalog_impl` | | `SNOWFLAKE_PASSWORD` | | Snowflake password | `integrations/_catalog_impl` | | `SNOWFLAKE_WAREHOUSE` | | Snowflake warehouse | `integrations/_catalog_impl` | | `SNOWFLAKE_ROLE` | | Snowflake role | `integrations/_catalog_impl` | | `SNOWFLAKE_DATABASE` | | Snowflake database | `integrations/_catalog_impl` | | `SNOWFLAKE_SCHEMA` | | Snowflake schema | `integrations/_catalog_impl` | | `SNOWFLAKE_MAX_RESULTS` | `50` | Max Snowflake results | `integrations/_catalog_impl` | | `AZURE_SQL_SERVER` | | Azure SQL server name | `integrations/_catalog_impl` | | `AZURE_SQL_DATABASE` | | Azure SQL database name | `integrations/_catalog_impl` | | `AZURE_SQL_PORT` | | Azure SQL port | `integrations/_catalog_impl` | | `AZURE_SQL_USERNAME` | | Azure SQL username | `integrations/_catalog_impl` | | `AZURE_SQL_PASSWORD` | | Azure SQL password | `integrations/_catalog_impl` | | `AZURE_SQL_DRIVER` | `ODBC Driver 18 for SQL Server` | Azure SQL ODBC driver | `integrations/_catalog_impl` | | `AZURE_SQL_ENCRYPT` | `true` | Enable Azure SQL encryption | `integrations/_catalog_impl` | | `AZURE_LOG_ANALYTICS_WORKSPACE_ID` | | Azure Log Analytics workspace ID | `integrations/_catalog_impl` | | `AZURE_LOG_ANALYTICS_TOKEN` | | Azure Log Analytics token | `integrations/_catalog_impl` | | `AZURE_TENANT_ID` | | Azure tenant ID | `integrations/_catalog_impl` | | `AZURE_SUBSCRIPTION_ID` | | Azure subscription ID | `integrations/_catalog_impl` | | `AZURE_MAX_RESULTS` | `100` | Max Azure results | `integrations/_catalog_impl` | ### MCP Servers | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `OPENCLAW_MCP_URL` | | OpenClaw MCP server URL | `integrations/_catalog_impl` | | `OPENCLAW_MCP_COMMAND` | | OpenClaw MCP command to execute | `integrations/_catalog_impl` | | `OPENCLAW_MCP_MODE` | `streamable-http` | OpenClaw MCP transport mode | `integrations/_catalog_impl` | | `OPENCLAW_MCP_ARGS` | | OpenClaw MCP command arguments | `integrations/_catalog_impl` | ### Git Integrations | Variable | Default | Description | Module | |----------|---------|-------------|--------| | `GITHUB_EVENT_PATH` | | GitHub Actions event payload path | `integrations/github/issue_comments` | | `GITHUB_REPOSITORY` | | GitHub repository (owner/repo) | `integrations/github/issue_comments` | | `GITHUB_TOKEN` | | GitHub personal access token | `.env.example` | ## Multi-Instance Integrations Many integrations support multi-instance configuration via JSON: | Variable Pattern | Description | |------------------|-------------| | `GRAFANA_INSTANCES` | JSON array of Grafana instances | | `DD_INSTANCES` | JSON array of Datadog instances | | `GROUNDCOVER_INSTANCES` | JSON array of groundcover instances | | `HONEYCOMB_INSTANCES` | JSON array of Honeycomb instances | | `CORALOGIX_INSTANCES` | JSON array of Coralogix instances | | `AWS_INSTANCES` | JSON array of AWS accounts | | `ARGOCD_INSTANCES` | JSON array of Argo CD instances | See [multi-instance-integrations](/multi-instance-integrations) for detailed format. ## LLM Classification Models When not specified, classification models fall back to reasoning models or provider defaults: | Variable | Default | Description | |----------|---------|-------------| | `ANTHROPIC_CLASSIFICATION_MODEL` | | Anthropic classification model | | `OPENAI_CLASSIFICATION_MODEL` | | OpenAI classification model | | `OPENROUTER_CLASSIFICATION_MODEL` | | OpenRouter classification model | | `DEEPSEEK_CLASSIFICATION_MODEL` | | DeepSeek classification model | | `GEMINI_CLASSIFICATION_MODEL` | | Gemini classification model | | `NVIDIA_CLASSIFICATION_MODEL` | | NVIDIA classification model | | `MINIMAX_CLASSIFICATION_MODEL` | | MiniMax classification model | | `GROQ_CLASSIFICATION_MODEL` | | Groq classification model | ## Notes - All variables support `.env` file configuration - Environment variables take precedence over `.env` file - Variables with empty values are typically treated as "not set" - Boolean values accept: `1`, `true`, `yes`, `on` (case-insensitive) - See [LLM Providers](/llm-providers) for detailed provider setup instructions