-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsample.env
More file actions
126 lines (96 loc) · 2.62 KB
/
sample.env
File metadata and controls
126 lines (96 loc) · 2.62 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
# Load Balancer Configuration
LB_PORT=8080
LB_ALGO=rr
# Backend Servers
BE_SERVERS=[{"domain":"http://localhost:8081","weight":1},{"domain":"http://localhost:8082","weight":1}]
# Backend Retry Settings
BE_RETRIES=3
BE_RETRY_DELAY=200
BE_PING_PATH=/ping
BE_PING_RETRIES=3
BE_PING_RETRY_DELAY=500
# Health Check
HEALTH_CHECK_INTERVAL=30000
# Alerts
SEND_ALERT_WEBHOOK=https://your-webhook-url.com
ALERT_ON_BE_FAILURE_STREAK=3
ALERT_ON_ALL_BE_FAILURE_STREAK=3
# Self Healing
ENABLE_SELF_HEALING=true
TEST_ONLY_CHANCES_OF_HEALING_SERVER=0.5
# Sticky Sessions
ENABLE_STICKY_SESSION=true
STICKY_SESSION_COOKIE_NAME=SERVERID
STICKY_SESSION_COOKIE_MAX_AGE=3600000
# Caching
ENABLE_CACHE=true
CACHE_TTL=300
# Content-Based Routing
CONTENT_BASED_ROUTING=[{"path":"/api","server":"http://api.example.com"},{"header":{"X-API-Version":"2"},"server":"http://v2.api.example.com"}]
# Regional Server Configuration (example for one region)
US_EAST_SERVER_1=http://us-east-1.example.com
US_EAST_SERVER_2=http://us-east-2.example.com
# Default Region
DEFAULT_REGION=us-east
# Geo-Routing
ENABLE_GEO_ROUTING=true
GEO_ROUTING_SERVICE=https://api.ipgeolocation.io/ipgeo?apiKey=your_api_key_here
# Latency-Based Routing
ENABLE_LATENCY_BASED_ROUTING=true
LATENCY_CHECK_INTERVAL=300000
# Rate Limiting
ENABLE_RATE_LIMIT=true
RATE_LIMIT_WINDOW=900000
RATE_LIMIT_MAX=100
# SSL Configuration
ENABLE_SSL=false
SSL_CERT_PATH=/path/to/ssl/cert.pem
SSL_KEY_PATH=/path/to/ssl/key.pem
# Logging
LOG_LEVEL=info
LOG_FORMAT=json
# Worker Processes
WORKER_PROCESSES=1
# Circuit Breaker
ENABLE_CIRCUIT_BREAKER=true
CIRCUIT_BREAKER_ERROR_THRESHOLD=50
CIRCUIT_BREAKER_RESET_TIMEOUT=30000
# Request Timeout
REQUEST_TIMEOUT=30000
# Custom Error Pages
CUSTOM_ERROR_PAGES={"404": "/path/to/404.html", "500": "/path/to/500.html"}
# WebSocket Support
ENABLE_WEBSOCKET=true
# CORS Configuration
ENABLE_CORS=true
CORS_ORIGIN=*
CORS_METHODS=GET,HEAD,PUT,PATCH,POST,DELETE
# Compression
ENABLE_COMPRESSION=true
COMPRESSION_LEVEL=6
# IP Filtering
IP_WHITELIST=203.0.113.1,203.0.113.2
IP_BLACKLIST=198.51.100.1,198.51.100.2
# Request/Response Transformation
ENABLE_REQUEST_TRANSFORM=false
ENABLE_RESPONSE_TRANSFORM=false
# API Key Authentication
ENABLE_API_KEY_AUTH=false
API_KEYS=key1,key2,key3
# Monitoring
ENABLE_MONITORING=true
MONITORING_PATH=/monitoring
# Dynamic Configuration
ENABLE_DYNAMIC_CONFIG=false
DYNAMIC_CONFIG_INTERVAL=60000
# Graceful Shutdown
GRACEFUL_SHUTDOWN_TIMEOUT=30000
# Load Balancing Thresholds
HEALTH_SCORE_THRESHOLD=30
SYSTEM_LOAD_THRESHOLD=80
ENABLE_PRIORITIZATION=true
LOW_PRIORITY_MAX_LOAD=80
# Metrics
ENABLE_METRICS=true
METRICS_PATH=/metrics
METRICS_PREFIX=load_balancer_