Environment Variables Reference
Complete reference for all environment variables supported by Radar Collector.
Two Types of Environment Variable Usage
1. YAML Interpolation (Recommended)
Variables are expanded when the configuration file is loaded:
server:
api_key: "${RADAR_API_KEY}"
grpc_url: "${RADAR_SERVER:-https://grpc.radar.redis.io:443}"
Syntax:
${VAR}- Required (fails if not set)${VAR:-default}- Use default if VAR is unset or empty${VAR-default}- Use default if VAR is unset (empty string is valid)
Important: Only ${VAR} (braced) syntax is expanded. Bare $VAR is NOT expanded.
This allows literal $ characters in YAML values (e.g., passwords like my$ecret). Interpolation is applied after YAML parsing, so # and other YAML-significant characters inside interpolated secrets are treated as data, not syntax.
When to use which:
- Use
:-when empty values should fall back to default - Use
-when empty is a valid value (e.g., Redis with no password:password: ${REDIS_PASSWORD-})
Use for: Per-deployment credentials, secrets, environment-specific values
2. Runtime Overrides
Variables override configuration after YAML parsing. See sections below for supported variables.
Use for: Quick testing, debugging, container environments
Global Configuration
| Variable | Type | Description | Default |
|---|---|---|---|
GRPC_ENDPOINT | Override | gRPC server URL | From config |
COLLECTION_INTERVAL | Override | Collection interval (seconds) | From config |
ACCESS_KEY | Direct | API key for gRPC auth (see Authentication) | From server.api_key |
Authentication
The collector uses ACCESS_KEY for gRPC authentication. You can set it:
-
Via config file (recommended):
server: api_key: "${MY_API_KEY}" -
Via environment variable:
export ACCESS_KEY=your-api-key
If both are set, ACCESS_KEY takes precedence.
Standalone Deployments
Global Overrides (All Standalone Deployments)
⚠️ Warning: These apply to ALL standalone deployments.
| Variable | Description |
|---|---|
REDIS_HOST | Override Redis host for all standalone deployments |
REDIS_PORT | Override Redis port for all standalone deployments |
REDIS_PASSWORD | Override password for all standalone deployments |
Per-Deployment Overrides
Replace {ID} with deployment ID in UPPERCASE with - → _.
Example: deployment id: "redis-prod" → REDIS_PROD
| Variable | Description |
|---|---|
REDIS_STANDALONE_{ID}_HOST | Override Redis host |
REDIS_STANDALONE_{ID}_PORT | Override Redis port |
REDIS_STANDALONE_{ID}_PASSWORD | Override password |
Example:
# For deployment with id: "redis-prod"
export REDIS_STANDALONE_REDIS_PROD_HOST=prod.example.com
export REDIS_STANDALONE_REDIS_PROD_PORT=6380
export REDIS_STANDALONE_REDIS_PROD_PASSWORD=secret
Cluster Deployments
Global Override (All Cluster Deployments)
⚠️ Warning: Applies to ALL cluster deployments.
| Variable | Description |
|---|---|
REDIS_PASSWORD | Override password for all cluster deployments |
Per-Deployment Override
| Variable | Description |
|---|---|
REDIS_CLUSTER_{ID}_PASSWORD | Override password for specific cluster |
Example:
# For deployment with id: "cluster-01"
export REDIS_CLUSTER_CLUSTER_01_PASSWORD=cluster-secret
Sentinel Deployments
Global Override (All Sentinel Deployments)
⚠️ Warning: Applies to ALL sentinel deployments.
| Variable | Description |
|---|---|
REDIS_PASSWORD | Override password for all sentinel deployments |
Per-Deployment Override
| Variable | Description |
|---|---|
REDIS_SENTINEL_{ID}_PASSWORD | Override password for specific sentinel |
Example:
# For deployment with id: "sentinel-ha"
export REDIS_SENTINEL_SENTINEL_HA_PASSWORD=sentinel-secret
Redis Software (Enterprise) Deployments
All per-deployment. Replace {ID} with deployment ID in UPPERCASE with - → _.
| Variable | Description |
|---|---|
REDIS_ENTERPRISE_{ID}_REST_API_URL | Override REST API URL (HTTPS only; full URL with scheme) |
REDIS_ENTERPRISE_{ID}_ADMIN_URL | Override admin console URL |
REDIS_ENTERPRISE_{ID}_USERNAME | Override REST API username |
REDIS_ENTERPRISE_{ID}_PASSWORD | Override REST API password |
REDIS_ENTERPRISE_{ID}_SSL_NO_VERIFY | Skip TLS certificate verification while keeping HTTPS enabled (true/false) |
Example:
# For deployment with id: "ent-01"
export REDIS_ENTERPRISE_ENT_01_REST_API_URL=https://enterprise.example.com:9443
export REDIS_ENTERPRISE_ENT_01_ADMIN_URL=https://admin.example.com:8443
export REDIS_ENTERPRISE_ENT_01_USERNAME=admin@example.com
export REDIS_ENTERPRISE_ENT_01_PASSWORD=secret
export REDIS_ENTERPRISE_ENT_01_SSL_NO_VERIFY=true
REDIS_ENTERPRISE_{ID}_SSL_NO_VERIFY defaults to true. Set to false to require certificate verification.
Retry Configuration
Control retry behavior for failed operations:
| Variable | Type | Description | Default |
|---|---|---|---|
RETRY_MAX_ATTEMPTS | integer | Maximum retry attempts | 3 |
RETRY_INITIAL_DELAY_SECS | integer | Initial delay in seconds | 1 |
RETRY_MAX_DELAY_SECS | integer | Maximum delay in seconds | 30 |
RETRY_MULTIPLIER | float | Backoff multiplier | 2.0 |
Example:
export RETRY_MAX_ATTEMPTS=5
export RETRY_INITIAL_DELAY_SECS=2
export RETRY_MAX_DELAY_SECS=60
export RETRY_MULTIPLIER=3.0
Advanced Settings
| Variable | Type | Description | Default |
|---|---|---|---|
CONCURRENT_COLLECTION | boolean | Enable concurrent collection | true |
Set to false to disable concurrent collection (useful for debugging):
export CONCURRENT_COLLECTION=false
Best Practices
-
Use YAML interpolation for secrets and per-deployment values:
credentials: password: "${REDIS_PROD_PASSWORD}" # Different var per deployment -
Use runtime overrides for testing/debugging:
GRPC_ENDPOINT=http://localhost:50051 radar-collector -
Avoid global overrides with multiple deployments:
- ❌
REDIS_PASSWORDaffects ALL deployments - ✅ Use
REDIS_STANDALONE_{ID}_PASSWORDfor specific deployments - ✅ Or use YAML interpolation with different variables
- ❌
-
ID transformation rules:
- Deployment
id: "my-redis"→MY_REDIS - Deployment
id: "redis_prod"→REDIS_PROD - Deployment
id: "Redis-01"→REDIS_01
- Deployment