# Control Plane
EZ_API_PORT=8080
EZ_PG_DSN=host=postgres user=postgres password=postgres dbname=ezapi port=5432 sslmode=disable
# 日志库 DSN（可选）；默认不创建独立 log DB，留空将使用主库写日志
EZ_LOG_PG_DSN=
EZ_REDIS_ADDR=redis:6379
EZ_REDIS_PASSWORD=
EZ_REDIS_DB=0
EZ_ADMIN_TOKEN=admin123
EZ_INTERNAL_STATS_TOKEN=internal123
EZ_CORS_ALLOW_ORIGINS=*
# 日志保留策略（单位：天 / 条数）
EZ_LOG_RETENTION_DAYS=30
EZ_LOG_MAX_RECORDS=1000000
# 日志分区（off/month/day）
EZ_LOG_PARTITIONING=off
# 同步可靠性（CP -> Redis outbox）
EZ_SYNC_OUTBOX_ENABLED=true
EZ_SYNC_OUTBOX_INTERVAL_SECONDS=5
EZ_SYNC_OUTBOX_BATCH_SIZE=200
EZ_SYNC_OUTBOX_MAX_RETRIES=10

# Swagger UI Host (留空则使用相对路径，适合反向代理部署)
# 示例: EZ_SWAGGER_HOST=api.example.com 或 EZ_SWAGGER_HOST=localhost:8080
EZ_SWAGGER_HOST=

# Log DB (docker-compose log-postgres，可选；默认不启用独立日志库)
LOG_POSTGRES_USER=postgres
LOG_POSTGRES_PASSWORD=postgres
LOG_POSTGRES_DB=ezapi_logs

# Data Plane
EZ_BALANCER_PORT=8081
EZ_BALANCER_LOG_SINK_ENABLED=false
EZ_BALANCER_LOG_SINK_BASE_URL=http://ez-api:8080
EZ_BALANCER_LOG_SINK_TIMEOUT_SECONDS=3
EZ_BALANCER_STATS_FLUSH_ENABLED=false
EZ_BALANCER_STATS_FLUSH_BASE_URL=http://ez-api:8080
EZ_BALANCER_STATS_FLUSH_TOKEN=internal123
EZ_BALANCER_STATS_FLUSH_INTERVAL_SECONDS=300
EZ_BALANCER_STATS_FLUSH_BATCH_SIZE=200
EZ_BALANCER_STATS_FLUSH_TIMEOUT_SECONDS=5
# 按 provider type 配置非流式请求超时（秒，JSON）
EZ_BALANCER_TIMEOUT_BY_PROVIDER={"default":30,"openai":40,"compatible":40,"anthropic":50,"claude":50,"google":60}
