-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
124 lines (105 loc) · 2.79 KB
/
.env.example
File metadata and controls
124 lines (105 loc) · 2.79 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
# Service Configuration
SERVICE_NAME=synthoraai-stream-processor
SERVICE_PORT=8080
LOG_LEVEL=info
ENVIRONMENT=development
# Message Queue Configuration
# Options: redis, kafka
MESSAGE_BROKER=redis
# Redis Configuration
REDIS_URL=redis://localhost:6379
REDIS_PASSWORD=
REDIS_DB=0
REDIS_STREAM_NAME=synthoraai-articles
REDIS_CONSUMER_GROUP=stream-processors
REDIS_MAX_LEN=100000
# Kafka Configuration (if using Kafka)
KAFKA_BROKERS=localhost:9092,localhost:9093,localhost:9094
KAFKA_TOPIC_RAW=raw-articles
KAFKA_TOPIC_PROCESSED=processed-articles
KAFKA_TOPIC_URGENT=urgent-alerts
KAFKA_GROUP_ID=synthoraai-processors
KAFKA_AUTO_COMMIT=true
KAFKA_SESSION_TIMEOUT=10s
# MongoDB Configuration
MONGODB_URI=mongodb://localhost:27017
MONGODB_DATABASE=synthoraai
MONGODB_COLLECTION=articles
MONGODB_MAX_POOL_SIZE=100
MONGODB_TIMEOUT=10s
# Google AI Configuration
GOOGLE_AI_API_KEY=your_google_ai_api_key_here
GOOGLE_AI_API_KEY1=your_backup_key_1
GOOGLE_AI_API_KEY2=your_backup_key_2
GOOGLE_AI_MODEL=gemini-1.5-pro
AI_MAX_TOKENS=500
AI_TEMPERATURE=0.3
AI_TIMEOUT=30s
AI_MAX_RETRIES=3
# WebSocket Configuration
WS_MAX_CONNECTIONS=10000
WS_READ_BUFFER_SIZE=1024
WS_WRITE_BUFFER_SIZE=1024
WS_PING_INTERVAL=30s
WS_PONG_WAIT=60s
WS_WRITE_WAIT=10s
# GraphQL Configuration
GRAPHQL_ENABLED=true
GRAPHQL_PLAYGROUND=true
GRAPHQL_INTROSPECTION=true
GRAPHQL_MAX_COMPLEXITY=1000
# Rate Limiting
RATE_LIMIT_ENABLED=true
RATE_LIMIT_REQUESTS=100
RATE_LIMIT_WINDOW=1m
RATE_LIMIT_BURST=20
# Circuit Breaker
CIRCUIT_BREAKER_THRESHOLD=5
CIRCUIT_BREAKER_TIMEOUT=30s
CIRCUIT_BREAKER_MAX_REQUESTS=10
# Data Sources
RSS_FEEDS=https://www.state.gov/rss-feed/press-releases/feed/,https://www.whitehouse.gov/feed/,https://www.congress.gov/rss/
API_ENDPOINTS=https://newsapi.org/v2/top-headlines
NEWS_API_KEY=your_news_api_key_here
POLL_INTERVAL=30s
MAX_ARTICLES_PER_POLL=100
# Content Processing
ENABLE_AI_SUMMARY=true
ENABLE_SENTIMENT_ANALYSIS=true
ENABLE_TOPIC_CLASSIFICATION=true
ENABLE_DEDUPLICATION=true
DEDUP_SIMILARITY_THRESHOLD=0.85
# Worker Pool Configuration
WORKER_POOL_SIZE=20
BATCH_SIZE=100
PROCESSING_TIMEOUT=10s
MAX_RETRY_ATTEMPTS=3
RETRY_BACKOFF=exponential
# Monitoring & Observability
PROMETHEUS_ENABLED=true
PROMETHEUS_PORT=9090
PROMETHEUS_PATH=/metrics
JAEGER_ENABLED=true
JAEGER_ENDPOINT=http://localhost:14268/api/traces
JAEGER_SAMPLER_TYPE=probabilistic
JAEGER_SAMPLER_PARAM=0.1
# Health Checks
HEALTH_CHECK_ENABLED=true
HEALTH_CHECK_INTERVAL=30s
# Performance Tuning
GOMAXPROCS=0
GOGC=100
GOMEMLIMIT=0
# Security
CORS_ENABLED=true
CORS_ORIGINS=http://localhost:3000,https://synthoraai.vercel.app
CORS_METHODS=GET,POST,PUT,DELETE,OPTIONS
CORS_HEADERS=Content-Type,Authorization
JWT_SECRET=your_jwt_secret_here
JWT_EXPIRATION=24h
# Feature Flags
FEATURE_WEBSOCKET=true
FEATURE_GRAPHQL=true
FEATURE_REST_API=true
FEATURE_KAFKA=false
FEATURE_REDIS=true