-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
110 lines (99 loc) · 5.03 KB
/
Copy path.env.example
File metadata and controls
110 lines (99 loc) · 5.03 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
# =============================================================================
# Relier configuration — copy to `.env` and customize.
#
# Every value below maps to a `RELIER_*` environment variable consumed by
# `relier.config.Settings`. The defaults shown match the in-code defaults;
# secrets are left blank.
#
# Precedence: real env vars > .env file > built-in defaults.
# =============================================================================
# -----------------------------------------------------------------------------
# Core
# -----------------------------------------------------------------------------
# Minimum log level: DEBUG | INFO | WARNING | ERROR | CRITICAL
RELIER_LOG_LEVEL=INFO
# Secret used for internal signing operations. CHANGE before production.
RELIER_SECRET_KEY=
# -----------------------------------------------------------------------------
# Redis — direct connection
# -----------------------------------------------------------------------------
# Schemes: redis:// | rediss:// (TLS) | redis+unix://
RELIER_REDIS_URL=redis://localhost:6379/0
RELIER_REDIS_MAX_CONNECTIONS=20
RELIER_REDIS_SOCKET_TIMEOUT=5.0
RELIER_REDIS_CONNECT_TIMEOUT=2.0
# Set to 0 to disable idle-connection health checks.
RELIER_REDIS_HEALTH_CHECK_INTERVAL=30
# Password for data nodes (requirepass / masterauth). Applies to direct AND
# Sentinel-managed connections.
RELIER_REDIS_PASSWORD=
# -----------------------------------------------------------------------------
# Redis — Sentinel (high availability)
# -----------------------------------------------------------------------------
# When true, ignores RELIER_REDIS_URL and uses Sentinel for master discovery.
RELIER_REDIS_USE_SENTINEL=false
# Comma-separated host:port list. Required when USE_SENTINEL=true.
# Example: sentinel-1:26379,sentinel-2:26379,sentinel-3:26379
RELIER_REDIS_SENTINEL_NODES=
RELIER_REDIS_SENTINEL_MASTER_NAME=relier-master
# Sentinel's own requirepass — distinct from the data-node password above.
RELIER_REDIS_SENTINEL_PASSWORD=
# -----------------------------------------------------------------------------
# Celery integration
# -----------------------------------------------------------------------------
RELIER_CELERY_WORKER_COUNT=8
RELIER_CELERY_WORKER_CONCURRENCY=8
# -----------------------------------------------------------------------------
# Phoenix — crash detection & resurrection
# -----------------------------------------------------------------------------
# Heartbeat TTL in seconds. Worker death is detected after this expires
# without renewal. Lower = faster detection, more Redis writes.
RELIER_HEARTBEAT_TTL=10
# Cap on resurrection attempts before a task is quarantined to the DLQ.
# Set to 0 to disable resurrection entirely.
RELIER_MAX_RESURRECTIONS=5
RELIER_RESURRECTION_CHECK_INTERVAL=2
RELIER_RESURRECTION_REQUEUE_DELAY=0.05
RELIER_RESURRECTION_BATCH_SIZE=1000
# Backpressure: skip resurrector scan when recovery queue is at least this deep.
RELIER_RESURRECTION_MAX_QUEUE_DEPTH=10000
# -----------------------------------------------------------------------------
# Idempotency
# -----------------------------------------------------------------------------
# Default TTL for result-cache keys (seconds).
RELIER_IDEMPOTENCY_DEFAULT_TTL=3600
# In-flight lock TTL. MUST be > RELIER_HARD_TIMEOUT to prevent double execution.
# Recommended: hard_timeout + 10 seconds safety buffer.
RELIER_IDEMPOTENCY_INFLIGHT_TTL=120
# -----------------------------------------------------------------------------
# Checkpointing — partial-result storage
# -----------------------------------------------------------------------------
# Checkpoints <= this many bytes are stored inline in Redis.
RELIER_CHECKPOINT_MAX_INLINE_BYTES=262144
# Backend for oversized checkpoints: inline | filesystem
# 'inline' rejects anything above CHECKPOINT_MAX_INLINE_BYTES.
# 'filesystem' spills to CHECKPOINT_DIR (which MUST be shared storage
# accessible by every worker and the resurrector).
RELIER_CHECKPOINT_BACKEND=inline
RELIER_CHECKPOINT_DIR=/var/lib/relier/checkpoints
# -----------------------------------------------------------------------------
# Timeouts & graceful shutdown
# -----------------------------------------------------------------------------
# SOFT < HARD is enforced at startup.
RELIER_SOFT_TIMEOUT=25
RELIER_HARD_TIMEOUT=30
RELIER_GRACEFUL_SHUTDOWN_TIMEOUT=30
# -----------------------------------------------------------------------------
# Admission control
# -----------------------------------------------------------------------------
# Max dispatches per ADMISSION_WINDOW seconds. Excess returns HTTP 429-able
# AdmissionRejectedError with Retry-After.
RELIER_ADMISSION_LIMIT=5000
RELIER_ADMISSION_WINDOW=10
# -----------------------------------------------------------------------------
# OpenTelemetry
# -----------------------------------------------------------------------------
# When false (default), no-op providers are used; nothing is exported.
RELIER_OTEL_ENABLED=false
# OTLP gRPC collector endpoint. Example: http://otel-collector:4317
RELIER_OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317