# Base Configuration - Development Environment
# Core settings that apply to all features in development

# Root Path Configuration
root_path = "."

# Server Configuration - Development
[server]
protocol = "http"
host = "127.0.0.1"
port = 3030
environment = "development"
log_level = "debug"
workers = 1
max_connections = 100

# Database Configuration - Development
[database]
url = "sqlite//:dev_database.db"
max_connections = 5
min_connections = 1
connect_timeout = 30
idle_timeout = 600
max_lifetime = 1800
enable_logging = true
log_slow_queries = true
slow_query_threshold = 100  # milliseconds

# Session Configuration - Development
[session]
secret = "dev-session-secret-change-in-production"
cookie_name = "rustelo_session_dev"
cookie_secure = false
cookie_http_only = true
cookie_same_site = "lax"
max_age = 7200  # 2 hours
domain = ""
path = "/"

# CORS Configuration - Development
[cors]
allowed_origins = [
    "http://localhost:3030",
    "http://127.0.0.1:3030",
    "http://localhost:3000",
    "http://localhost:8080"
]
allowed_methods = ["GET", "POST", "PUT", "DELETE", "OPTIONS", "PATCH"]
allowed_headers = ["*"]
allow_credentials = true
max_age = 3600
expose_headers = ["X-Total-Count", "X-Page-Count"]

# Static Files Configuration - Development
[static]
assets_dir = "public"
site_root = "target/site"
site_pkg_dir = "pkg"
enable_compression = false
enable_caching = false
cache_max_age = 0

# Server Directories Configuration - Development
[server_dirs]
public_dir = "public"
uploads_dir = "uploads"
logs_dir = "logs"
temp_dir = "tmp"
cache_dir = "cache"
config_dir = "config"
data_dir = "data"
backup_dir = "backups"

# Security Configuration - Development
[security]
enable_csrf = false
csrf_token_name = "csrf_token"
rate_limit_requests = 1000
rate_limit_window = 60
bcrypt_cost = 10
enable_request_id = true
request_id_header = "X-Request-ID"

# Application Settings - Development
[app]
name = "Rustelo-app-dev"
version = "0.1.0"
debug = true
enable_metrics = true
enable_health_check = true
enable_compression = false
max_request_size = 104857600  # 100MB for development
enable_hot_reload = true
auto_migrate = true

# Logging Configuration - Development
[logging]
format = "pretty"
level = "debug"
file_path = "logs/dev_app.log"
max_file_size = 10485760  # 10MB
max_files = 3
enable_console = true
enable_file = true
enable_structured_logging = false
log_request_body = true
log_response_body = false

# Redis Configuration - Development
[redis]
enabled = false
url = "redis://localhost:6379"
pool_size = 5
connection_timeout = 5
command_timeout = 5
database = 0

# Metrics Configuration - Development
[metrics]
enabled = true
endpoint = "/metrics"
collect_system_metrics = true
collect_process_metrics = true
collect_http_metrics = true
collect_database_metrics = true
prometheus_enabled = true
statsd_enabled = false

# Health Check Configuration - Development
[health]
enabled = true
endpoint = "/health"
detailed = true
check_database = true
check_redis = false
check_external_services = false
timeout = 5000  # milliseconds

# Development-specific settings
[development]
enable_reloading = true
enable_debug_routes = true
enable_profiling = true
enable_trace_logging = true
mock_external_services = true
seed_test_data = true
disable_auth_for_local = false
