-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
136 lines (115 loc) · 4.46 KB
/
.env.example
File metadata and controls
136 lines (115 loc) · 4.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# ==================== ENVIRONMENT ====================
# Environment: development, staging, or production
ENVIRONMENT=development
DEBUG=false
# ==================== LLM CONFIGURATION ====================
# LLM Provider API Keys (at least one required)
OPENAI_API_KEY=your-openai-api-key-here
ANTHROPIC_API_KEY=your-anthropic-api-key-here
GOOGLE_API_KEY=your-google-api-key-here
# Provider Priority (optional, default: openai,anthropic,google)
LLM_PROVIDER_PRIORITY=openai,anthropic,google
LLM_FAILOVER_ENABLED=true
# LLM Settings
DEFAULT_LLM_PROVIDER=openai
DEFAULT_MODEL=gpt-4-turbo-preview
DEFAULT_TEMPERATURE=0.7
MAX_TOKENS=4096
LLM_MAX_RETRIES=3
LLM_TIMEOUT=30.0
# ==================== DATABASE CONFIGURATION ====================
# Option 1: Full database URL
DATABASE_URL=postgresql://aiops:aiops_password@localhost:5432/aiops
# Option 2: Individual components (used if DATABASE_URL not set)
DATABASE_USER=aiops
DATABASE_PASSWORD=aiops_password # CHANGE IN PRODUCTION
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_NAME=aiops
DATABASE_SSL_MODE=disable # Set to 'require' in production
# Database Pool Configuration
DATABASE_POOL_SIZE=5
DATABASE_MAX_OVERFLOW=10
DATABASE_POOL_TIMEOUT=30
DATABASE_POOL_RECYCLE=3600
DATABASE_ECHO=false
DATABASE_SLOW_QUERY_THRESHOLD_MS=1000
# ==================== REDIS CONFIGURATION ====================
REDIS_URL=redis://localhost:6379/0
REDIS_SSL=false # Set to true in production if using rediss://
REDIS_MAX_CONNECTIONS=50
REDIS_SOCKET_TIMEOUT=5
ENABLE_REDIS=false # Enable for distributed caching
# ==================== CELERY CONFIGURATION ====================
# Celery will use REDIS_URL by default if these are not set
CELERY_BROKER_URL=redis://localhost:6379/0
CELERY_RESULT_BACKEND=redis://localhost:6379/0
CELERY_TASK_TIME_LIMIT=600
CELERY_TASK_SOFT_TIME_LIMIT=540
CELERY_WORKER_MAX_TASKS_PER_CHILD=1000
# ==================== CACHE CONFIGURATION ====================
CACHE_ENABLED=true
CACHE_DEFAULT_TTL=3600
CACHE_DIR=.aiops_cache
# ==================== API CONFIGURATION ====================
API_HOST=0.0.0.0
API_PORT=8000
API_WORKERS=4
API_RELOAD=false
API_DOCS_ENABLED=true # Auto-disabled in production
# ==================== SECURITY ====================
# Generate a strong secret key for production (e.g., using: python -c "import secrets; print(secrets.token_urlsafe(32))")
SECRET_KEY=your-secret-key-here-change-in-production-min-32-chars
JWT_SECRET_KEY=your-jwt-secret-key-here # Optional, uses SECRET_KEY if not set
JWT_ALGORITHM=HS256
JWT_EXPIRATION_MINUTES=60
WEBHOOK_SIGNATURE_SECRET=your-webhook-signature-secret
SESSION_TIMEOUT_MINUTES=60
MAX_UPLOAD_SIZE_MB=10
# ==================== CORS CONFIGURATION ====================
# IMPORTANT: In production, set specific origins, not "*"
# Leave empty for no CORS, or specify comma-separated origins
CORS_ORIGINS=http://localhost:3000,http://localhost:8080
CORS_ALLOW_CREDENTIALS=true
CORS_ALLOW_METHODS=GET,POST,PUT,DELETE,OPTIONS,PATCH
CORS_ALLOW_HEADERS=Content-Type,Authorization,X-API-Key,X-Request-ID,Accept,Origin
# ==================== RATE LIMITING ====================
RATE_LIMITING_ENABLED=true
RATE_LIMIT_DEFAULT_REQUESTS=100
RATE_LIMIT_DEFAULT_WINDOW=60
# ==================== LOGGING ====================
LOG_LEVEL=INFO
LOG_FILE= # Optional: /var/log/aiops/app.log
LOG_ROTATION=500 MB
LOG_RETENTION=30 days
# ==================== METRICS & MONITORING ====================
ENABLE_METRICS=true
METRICS_PORT=9090
# Notification Webhooks (optional)
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/YOUR/WEBHOOK/URL
SLACK_BOT_TOKEN=xoxb-your-slack-bot-token
TEAMS_WEBHOOK_URL=https://outlook.office.com/webhook/YOUR/WEBHOOK/URL
DISCORD_WEBHOOK_URL=
# ==================== OBSERVABILITY ====================
# Sentry for error tracking (optional)
SENTRY_DSN=https://your-sentry-dsn@sentry.io/project-id
# OpenTelemetry Configuration (optional)
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
OTEL_SERVICE_NAME=aiops
OTEL_TRACES_ENABLED=false
# ==================== GITHUB INTEGRATION ====================
GITHUB_TOKEN=ghp_your_github_token_here
GITHUB_REPO=your-org/your-repo
# ==================== FEATURE FLAGS ====================
ENABLE_CODE_REVIEW=true
ENABLE_TEST_GENERATION=true
ENABLE_LOG_ANALYSIS=true
ENABLE_ANOMALY_DETECTION=true
ENABLE_AUTO_FIX=false # Disabled by default for safety
ENABLE_PLUGIN_SYSTEM=true
ENABLE_BACKGROUND_TASKS=true
ENABLE_COST_TRACKING=true
# ==================== BUDGET LIMITS ====================
DAILY_BUDGET_USD=50.0
MONTHLY_BUDGET_USD=1000.0
TOKEN_LIMIT_PER_REQUEST=32000