# =============================================================================
# Database Service Configuration
# =============================================================================

# Service Information
# Basic service identification and network configuration
SERVICE_SUB=mdb
SERVICE_NAME=MemoryDB
SERVICE_LOCATION=hf
SERVICE_PORT=7990

# Logging Configuration
# Application logging level and optional log file path
LOG_LEVEL="INFO"
LOG_PATH="./memory/database/logs"
# Whether to output logs to stdout, 1=enabled, 0=disabled, default: 0
LOG_STDOUT_ENABLE=0

# =============================================================================
# Database Configuration
# =============================================================================

# Database type selection: postgresql or mysql
DB_TYPE=postgresql

# PostgreSQL database configuration (used when DB_TYPE=postgresql)
# Database host
PGSQL_HOST=127.0.0.1
# Database port
PGSQL_PORT=5432
# Database login username
PGSQL_USER=xxxx
# Database login password
PGSQL_PASSWORD=xxxx
# Database name
PGSQL_DATABASE=xxxx

# MySQL database configuration (used when DB_TYPE=mysql)
# Database host
MYSQL_HOST=127.0.0.1
# Database port
MYSQL_PORT=3306
# Database login username
MYSQL_USER=xxxx
# Database login password
MYSQL_PASSWORD=xxxx
# Database name
MYSQL_DATABASE=xxxx

# Redis Cache Settings
# Redis cluster configuration for caching, session management, and real-time data
# Only one cluster address and stand-alone address can be configured, and the cluster address has high priority.
# Cluster address
REDIS_CLUSTER_ADDR=127.0.0.1:1234,127.0.0.1:1234,127.0.0.1:1234,127.0.0.1:1234,127.0.0.1:1234,127.0.0.1:1234
# Stand-alone address
#REDIS_ADDR=
REDIS_PASSWORD=xxxx
# Cache expiration time in seconds (1 hour = 3600 seconds)
REDIS_EXPIRE=3600

# =============================================================================
# OpenTelemetry Observability Configuration
# =============================================================================

# OTLP (OpenTelemetry Protocol) Configuration
# Distributed tracing and metrics collection settings
# OTLP endpoint for telemetry data submission
OTLP_ENDPOINT=127.0.0.1:1234
# Service name for telemetry identification
OTLP_SERVICE_NAME=MemoryDB
# Data center location for telemetry reporting
OTLP_DC=hf
# Enable/disable telemetry reporting (1=enabled, 0=disabled)
OTLP_ENABLE=1

# Metrics Collection Configuration
# SDK metric reporting interval, recommended < 30000ms, default: 1000ms
OTLP_METRIC_EXPORT_INTERVAL_MILLIS=3000
# Metrics export timeout to server in milliseconds, default: 5000ms
OTLP_METRIC_EXPORT_TIMEOUT_MILLIS=3000
# Server connection establishment timeout in milliseconds, default: 5000ms
OTLP_METRIC_TIMEOUT=3000

# Distributed Tracing Configuration
# Server connection establishment timeout in milliseconds, default: 5000ms
OTLP_TRACE_TIMEOUT=3000
# Maximum queue size for BatchSpanProcessor data export, default: 2048
OTLP_TRACE_MAX_QUEUE_SIZE=2048
# Delay interval between consecutive exports in BatchSpanProcessor, default: 5000ms
OTLP_TRACE_SCHEDULE_DELAY_MILLIS=3000
# Maximum batch size for BatchSpanProcessor data export, default: 512
OTLP_TRACE_MAX_EXPORT_BATCH_SIZE=500
# Maximum allowed time for data export from BatchSpanProcessor, default: 30000ms
OTLP_TRACE_EXPORT_TIMEOUT_MILLIS=3000
