-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy path.env.example
More file actions
327 lines (306 loc) · 10.4 KB
/
.env.example
File metadata and controls
327 lines (306 loc) · 10.4 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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
# Language Configuration
LANGUAGE=FA
# Authentication Configuration
AUTH__SECRET_KEY=
AUTH__ACCESS_TOKEN_EXPIRES_IN=3600
AUTH__REFRESH_TOKEN_EXPIRES_IN=86400
AUTH__HASH_ALGORITHM=HS256
AUTH__JWT_ISSUER=your-app-name
AUTH__JWT_AUDIENCE=your-app-audience
AUTH__TOKEN_VERSION=1
AUTH__TOTP_SECRET_KEY=
AUTH__TOTP_HASH_ALGORITHM=SHA1
AUTH__TOTP_LENGTH=6
AUTH__TOTP_EXPIRES_IN=300
AUTH__TOTP_TIME_STEP=30
AUTH__TOTP_VERIFICATION_WINDOW=1
AUTH__TOTP_MAX_ATTEMPTS=3
AUTH__TOTP_LOCKOUT_TIME=300
AUTH__LOGIN_RATE_LIMIT=5
AUTH__TOTP_RATE_LIMIT=3
AUTH__PASSWORD_RESET_RATE_LIMIT=3
AUTH__HASH_ITERATIONS=100000
AUTH__MIN_LENGTH=12
AUTH__REQUIRE_DIGIT=true
AUTH__REQUIRE_LOWERCASE=true
AUTH__REQUIRE_SPECIAL=true
AUTH__REQUIRE_UPPERCASE=true
AUTH__SALT_LENGTH=16
AUTH__SPECIAL_CHARACTERS=!@#$%^&*()-_+=
AUTH__PASSWORD_HISTORY_SIZE=3
AUTH__ENABLE_JTI_CLAIM=true
AUTH__ENABLE_TOKEN_ROTATION=true
AUTH__REFRESH_TOKEN_REUSE_INTERVAL=60
# Datetime Configuration
DATETIME__TIME_IR_API_KEY=ZAVdqwuySASubByCed5KYuYMzb9uB2f7
DATETIME__TIME_IR_API_ENDPOINT=https://api.time.ir/v1/event/fa/events/calendar
DATETIME__REQUEST_TIMEOUT=5
DATETIME__MAX_RETRIES=3
DATETIME__CACHE_TTL=86400
DATETIME__HISTORICAL_CACHE_TTL=604800
# Elasticsearch Configuration
ELASTIC__HOSTS=["https://localhost:9200"]
ELASTIC__HTTP_USER_NAME=
ELASTIC__HTTP_PASSWORD=
ELASTIC__API_KEY=
ELASTIC__API_SECRET=
ELASTIC__CA_CERTS=
ELASTIC__SSL_ASSERT_FINGERPRINT=
ELASTIC__VERIFY_CERTS=true
ELASTIC__CLIENT_CERT=
ELASTIC__CLIENT_KEY=
ELASTIC__HTTP_COMPRESS=true
ELASTIC__REQUEST_TIMEOUT=1.0
ELASTIC__MAX_RETRIES=1
ELASTIC__RETRY_ON_TIMEOUT=true
ELASTIC__RETRY_ON_STATUS=[429,502,503,504]
ELASTIC__IGNORE_STATUS=[]
ELASTIC__SNIFF_ON_START=false
ELASTIC__SNIFF_BEFORE_REQUESTS=false
ELASTIC__SNIFF_ON_NODE_FAILURE=true
ELASTIC__MIN_DELAY_BETWEEN_SNIFFING=60.0
ELASTIC__NODE_SELECTOR_CLASS=round_robin
ELASTIC__CONNECTIONS_PER_NODE=10
ELASTIC__DEAD_NODE_BACKOFF_FACTOR=1.0
ELASTIC__MAX_DEAD_NODE_BACKOFF=300.0
# Elastic APM Configuration
ELASTIC_APM__API_REQUEST_SIZE=768kb
ELASTIC_APM__API_REQUEST_TIME=10s
ELASTIC_APM__AUTO_LOG_STACKS=true
ELASTIC_APM__CAPTURE_BODY=off
ELASTIC_APM__CAPTURE_HEADERS=false
ELASTIC_APM__COLLECT_LOCAL_VARIABLES=errors
ELASTIC_APM__IS_ENABLED=false
ELASTIC_APM__ENVIRONMENT=
ELASTIC_APM__LOG_FILE=
ELASTIC_APM__LOG_FILE_SIZE=50mb
ELASTIC_APM__RECORDING=true
ELASTIC_APM__SECRET_TOKEN=
ELASTIC_APM__SERVER_TIMEOUT=5s
ELASTIC_APM__SERVER_URL=
ELASTIC_APM__SERVICE_NAME=unknown-python-service
ELASTIC_APM__SERVICE_VERSION=
ELASTIC_APM__TRANSACTION_SAMPLE_RATE=0.001
ELASTIC_APM__API_KEY=
# Email Configuration
EMAIL__SMTP_SERVER=
EMAIL__SMTP_PORT=587
EMAIL__USERNAME=
EMAIL__PASSWORD=
EMAIL__POOL_SIZE=5
EMAIL__CONNECTION_TIMEOUT=30
EMAIL__MAX_RETRIES=3
EMAIL__ATTACHMENT_MAX_SIZE=5242880
# Environment Configuration
ENVIRONMENT=
# FastAPI Configuration
FASTAPI__PROJECT_NAME=project_name
FASTAPI__API_PREFIX=/api
FASTAPI__ACCESS_LOG=true
FASTAPI__BACKLOG=2048
FASTAPI__DATE_HEADER=true
FASTAPI__FORWARDED_ALLOW_IPS=
FASTAPI__LIMIT_CONCURRENCY=
FASTAPI__LIMIT_MAX_REQUESTS=
FASTAPI__CORS_MIDDLEWARE_ALLOW_CREDENTIALS=true
FASTAPI__CORS_MIDDLEWARE_ALLOW_HEADERS=["*"]
FASTAPI__CORS_MIDDLEWARE_ALLOW_METHODS=["*"]
FASTAPI__CORS_MIDDLEWARE_ALLOW_ORIGINS=["*"]
FASTAPI__PROXY_HEADERS=true
FASTAPI__RELOAD=false
FASTAPI__SERVER_HEADER=true
FASTAPI__SERVE_HOST=0.0.0.0
FASTAPI__SERVE_PORT=8100
FASTAPI__TIMEOUT_GRACEFUL_SHUTDOWN=
FASTAPI__TIMEOUT_KEEP_ALIVE=5
FASTAPI__WORKERS_COUNT=4
FASTAPI__WS_MAX_SIZE=16777216
FASTAPI__WS_PER_MESSAGE_DEFLATE=true
FASTAPI__WS_PING_INTERVAL=20.0
FASTAPI__WS_PING_TIMEOUT=20.0
FASTAPI__OPENAPI_URL=/openapi.json
FASTAPI__DOCS_URL=
FASTAPI__RE_DOCS_URL=
FASTAPI__SWAGGER_UI_PARAMS={"docExpansion": "none"}
# File Configuration
FILE__SECRET_KEY=
FILE__DEFAULT_EXPIRY_MINUTES=60
FILE__ALLOWED_EXTENSIONS=["jpg","jpeg","png"]
# gRPC Configuration
GRPC__SERVE_PORT=8100
GRPC__SERVE_HOST=[::]
GRPC__THREAD_WORKER_COUNT=
GRPC__THREAD_PER_CPU_CORE=40
GRPC__SERVER_OPTIONS_CONFIG_LIST=[("grpc.max_metadata_size",1048576),("grpc.max_message_length",134217728),("grpc.max_receive_message_length",134217728),("grpc.max_send_message_length",134217728),("grpc.keepalive_time_ms",5000),("grpc.keepalive_timeout_ms",1000),("grpc.http2.min_ping_interval_without_data_ms",5000),("grpc.max_connection_idle_ms",10000),("grpc.max_connection_age_ms",30000),("grpc.max_connection_age_grace_ms",5000),("grpc.http2.max_pings_without_data",0),("grpc.keepalive_permit_without_calls",1),("grpc.http2.max_ping_strikes",0),("grpc.http2.min_recv_ping_interval_without_data_ms",4000)]
GRPC__STUB_OPTIONS_CONFIG_LIST=[("grpc.max_metadata_size",1048576),("grpc.max_message_length",134217728),("grpc.max_receive_message_length",134217728),("grpc.max_send_message_length",134217728),("grpc.keepalive_time_ms",5000),("grpc.keepalive_timeout_ms",1000),("grpc.http2.max_pings_without_data",0),("grpc.keepalive_permit_without_calls",1),("grpc.service_config","{\"methodConfig\": [{\"name\": [], \"timeout\": \"1s\", \"waitForReady\": true, \"retryPolicy\": {\"maxAttempts\": 5, \"initialBackoff\": \"0.1s\", \"maxBackoff\": \"1s\", \"backoffMultiplier\": 2, \"retryableStatusCodes\": [\"UNAVAILABLE\", \"ABORTED\", \"RESOURCE_EXHAUSTED\"]}}]}")]
# Kafka Configuration
KAFKA__BROKERS_LIST=["localhost:9092"]
KAFKA__SECURITY_PROTOCOL=PLAINTEXT
KAFKA__SASL_MECHANISM=
KAFKA__USERNAME=
KAFKA__PASSWORD=
KAFKA__SSL_CA_FILE=
KAFKA__SSL_CERT_FILE=
KAFKA__SSL_KEY_FILE=
KAFKA__ACKS=all
KAFKA__AUTO_OFFSET_RESET=earliest
KAFKA__ENABLE_AUTO_COMMIT=false
KAFKA__FETCH_MIN_BYTES=1
KAFKA__SESSION_TIMEOUT_MS=10000
KAFKA__HEARTBEAT_INTERVAL_MS=3000
KAFKA__REQUEST_TIMEOUT_MS=30000
KAFKA__DELIVERY_TIMEOUT_MS=120000
KAFKA__COMPRESSION_TYPE=
KAFKA__LINGER_MS=0
KAFKA__BATCH_SIZE=16384
KAFKA__MAX_IN_FLIGHT_REQUESTS=5
KAFKA__RETRIES=5
KAFKA__LIST_TOPICS_TIMEOUT_MS=5000
KAFKA__CLIENT_ID=kafka-client
KAFKA__CONNECTIONS_MAX_IDLE_MS=540000
KAFKA__ENABLE_IDEMPOTENCE=false
KAFKA__TRANSACTIONAL_ID=
KAFKA__ISOLATION_LEVEL=read_uncommitted
KAFKA__MAX_POLL_INTERVAL_MS=300000
KAFKA__PARTITION_ASSIGNMENT_STRATEGY=range
KAFKA__FETCH_MAX_BYTES=52428800
KAFKA__MAX_PARTITION_FETCH_BYTES=1048576
KAFKA__QUEUE_BUFFERING_MAX_MESSAGES=100000
KAFKA__STATISTICS_INTERVAL_MS=0
# Kavenegar Configuration
KAVENEGAR__SERVER_URL=
KAVENEGAR__API_KEY=
KAVENEGAR__PHONE_NUMBER=
# Keycloak Configuration
KEYCLOAK__SERVER_URL=
KEYCLOAK__CLIENT_ID=
KEYCLOAK__REALM_NAME=master
KEYCLOAK__CLIENT_SECRET_KEY=
KEYCLOAK__VERIFY_SSL=true
KEYCLOAK__TIMEOUT=10
KEYCLOAK__IS_ADMIN_MODE_ENABLED=false
KEYCLOAK__ADMIN_USERNAME=
KEYCLOAK__ADMIN_PASSWORD=
KEYCLOAK__ADMIN_REALM_NAME=master
# MinIO Configuration
MINIO__ENDPOINT=
MINIO__ACCESS_KEY=
MINIO__SECRET_KEY=
MINIO__SECURE=false
MINIO__SESSION_TOKEN=
MINIO__REGION=
# Parsian Shaparak Configuration
PARSIAN_SHAPARAK__LOGIN_ACCOUNT=
PARSIAN_SHAPARAK__PAYMENT_WSDL_URL=https://pec.shaparak.ir/NewIPGServices/Sale/SaleService.asmx?WSDL
PARSIAN_SHAPARAK__CONFIRM_WSDL_URL=https://pec.shaparak.ir/NewIPGServices/Confirm/ConfirmService.asmx?WSDL
PARSIAN_SHAPARAK__REVERSAL_WSDL_URL=https://pec.shaparak.ir/NewIPGServices/Reverse/ReversalService.asmx?WSDL
PARSIAN_SHAPARAK__PROXIES=
# Prometheus Configuration
PROMETHEUS__IS_ENABLED=false
PROMETHEUS__SERVER_PORT=8200
# Redis Configuration
REDIS__MODE=standalone
REDIS__MASTER_HOST=localhost
REDIS__SLAVE_HOST=
REDIS__CLUSTER_NODES=[]
REDIS__CLUSTER_REQUIRE_FULL_COVERAGE=true
REDIS__CLUSTER_READ_FROM_REPLICAS=true
REDIS__CLUSTER_SKIP_FULL_COVERAGE_CHECK=false
REDIS__SENTINEL_NODES=[]
REDIS__SENTINEL_SERVICE_NAME=
REDIS__SENTINEL_SOCKET_TIMEOUT=0.1
REDIS__PORT=6379
REDIS__DATABASE=0
REDIS__PASSWORD=
REDIS__DECODE_RESPONSES=true
REDIS__VERSION=7
REDIS__HEALTH_CHECK_INTERVAL=10
REDIS__MAX_CONNECTIONS=50
REDIS__RETRY_ON_TIMEOUT=true
REDIS__SOCKET_CONNECT_TIMEOUT=5.0
REDIS__SOCKET_TIMEOUT=5.0
# Sentry Configuration
SENTRY__IS_ENABLED=false
SENTRY__DSN=
SENTRY__DEBUG=false
SENTRY__RELEASE=
SENTRY__SAMPLE_RATE=1.0
SENTRY__TRACES_SAMPLE_RATE=0.0
# SQLAlchemy Configuration (PostgreSQL)
SQLALCHEMY__DATABASE=
SQLALCHEMY__DRIVER_NAME=postgresql+psycopg
SQLALCHEMY__ECHO=false
SQLALCHEMY__ECHO_POOL=false
SQLALCHEMY__ENABLE_FROM_LINTING=true
SQLALCHEMY__HIDE_PARAMETERS=false
SQLALCHEMY__HOST=
SQLALCHEMY__ISOLATION_LEVEL=REPEATABLE READ
SQLALCHEMY__PASSWORD=
SQLALCHEMY__POOL_MAX_OVERFLOW=1
SQLALCHEMY__POOL_PRE_PING=true
SQLALCHEMY__POOL_RECYCLE_SECONDS=600
SQLALCHEMY__POOL_RESET_ON_RETURN=rollback
SQLALCHEMY__POOL_SIZE=20
SQLALCHEMY__POOL_TIMEOUT=30
SQLALCHEMY__POOL_USE_LIFO=true
SQLALCHEMY__PORT=5432
SQLALCHEMY__QUERY_CACHE_SIZE=500
SQLALCHEMY__USERNAME=
SQLALCHEMY__POSTGRES_DSN=
# SQLite SQLAlchemy Configuration
SQLITE_SQLALCHEMY__DATABASE=:memory:
SQLITE_SQLALCHEMY__DRIVER_NAME=sqlite+aiosqlite
SQLITE_SQLALCHEMY__ECHO=false
SQLITE_SQLALCHEMY__ECHO_POOL=false
SQLITE_SQLALCHEMY__ENABLE_FROM_LINTING=true
SQLITE_SQLALCHEMY__HIDE_PARAMETERS=false
SQLITE_SQLALCHEMY__HOST=
SQLITE_SQLALCHEMY__ISOLATION_LEVEL=
SQLITE_SQLALCHEMY__PASSWORD=
SQLITE_SQLALCHEMY__POOL_MAX_OVERFLOW=1
SQLITE_SQLALCHEMY__POOL_PRE_PING=true
SQLITE_SQLALCHEMY__POOL_RECYCLE_SECONDS=600
SQLITE_SQLALCHEMY__POOL_RESET_ON_RETURN=rollback
SQLITE_SQLALCHEMY__POOL_SIZE=20
SQLITE_SQLALCHEMY__POOL_TIMEOUT=30
SQLITE_SQLALCHEMY__POOL_USE_LIFO=true
SQLITE_SQLALCHEMY__PORT=
SQLITE_SQLALCHEMY__QUERY_CACHE_SIZE=500
SQLITE_SQLALCHEMY__USERNAME=
# StarRocks SQLAlchemy Configuration
STARROCKS_SQLALCHEMY__DATABASE=
STARROCKS_SQLALCHEMY__DRIVER_NAME=postgresql+psycopg
STARROCKS_SQLALCHEMY__ECHO=false
STARROCKS_SQLALCHEMY__ECHO_POOL=false
STARROCKS_SQLALCHEMY__ENABLE_FROM_LINTING=true
STARROCKS_SQLALCHEMY__HIDE_PARAMETERS=false
STARROCKS_SQLALCHEMY__HOST=
STARROCKS_SQLALCHEMY__ISOLATION_LEVEL=REPEATABLE READ
STARROCKS_SQLALCHEMY__PASSWORD=
STARROCKS_SQLALCHEMY__POOL_MAX_OVERFLOW=1
STARROCKS_SQLALCHEMY__POOL_PRE_PING=true
STARROCKS_SQLALCHEMY__POOL_RECYCLE_SECONDS=600
STARROCKS_SQLALCHEMY__POOL_RESET_ON_RETURN=rollback
STARROCKS_SQLALCHEMY__POOL_SIZE=20
STARROCKS_SQLALCHEMY__POOL_TIMEOUT=30
STARROCKS_SQLALCHEMY__POOL_USE_LIFO=true
STARROCKS_SQLALCHEMY__PORT=5432
STARROCKS_SQLALCHEMY__QUERY_CACHE_SIZE=500
STARROCKS_SQLALCHEMY__USERNAME=
STARROCKS_SQLALCHEMY__CATALOG=
# Temporal Configuration
TEMPORAL__HOST=localhost
TEMPORAL__PORT=7233
TEMPORAL__NAMESPACE=default
TEMPORAL__TASK_QUEUE=task-queue
TEMPORAL__TLS_CA_CERT=
TEMPORAL__TLS_CLIENT_CERT=
TEMPORAL__TLS_CLIENT_KEY=
TEMPORAL__WORKFLOW_EXECUTION_TIMEOUT=300
TEMPORAL__WORKFLOW_RUN_TIMEOUT=60
TEMPORAL__WORKFLOW_TASK_TIMEOUT=30
TEMPORAL__ACTIVITY_START_TO_CLOSE_TIMEOUT=30
TEMPORAL__ACTIVITY_HEARTBEAT_TIMEOUT=10
TEMPORAL__RETRY_MAXIMUM_ATTEMPTS=3
TEMPORAL__RETRY_BACKOFF_COEFFICIENT=2.0
TEMPORAL__RETRY_MAXIMUM_INTERVAL=60