# DanceLessonsCoach Configuration
# This file serves as both the default configuration and documentation
# All available options are shown with their default values

# Server configuration
server:
  # Host address to bind to (default: "0.0.0.0")
  host: "0.0.0.0"
  
  # Port to listen on (default: 8080)
  port: 8080

# Shutdown configuration
shutdown:
  # Timeout duration for graceful shutdown (default: 30s)
  # Format: number + unit (s, m, h)
  timeout: 30s

# Logging configuration
logging:
  # Enable JSON output for structured logging (default: false)
  # When true, logs are output in JSON format instead of console format
  json: false
  
  # Log level (default: "trace")
  # Options: "trace", "debug", "info", "warn", "error", "fatal", "panic"
  level: trace
  
  # Log output file path (default: "" for stderr)
  # If empty, logs will be written to stderr
  # If specified, logs will be written to the specified file
  # Example: "server.log" or "/var/log/dance-lessons-coach.log"
  output: ""

# Telemetry configuration (OpenTelemetry)
telemetry:
  # Enable OpenTelemetry tracing (default: false)
  enabled: false
  
  # OTLP endpoint for trace export (default: "localhost:4317")
  # Format: host:port
  otlp_endpoint: "localhost:4317"
  
  # Service name for tracing (default: "DanceLessonsCoach")
  service_name: "DanceLessonsCoach"
  
  # Use insecure connection (no TLS) (default: true)
  insecure: true
  
  # Sampler configuration
  sampler:
    # Sampler type (default: "parentbased_always_on")
    # Options: "always_on", "always_off", "traceidratio", "parentbased_always_on", "parentbased_always_off", "parentbased_traceidratio"
    type: "parentbased_always_on"
    
    # Sampling ratio (0.0 to 1.0, default: 1.0)
    # Only used with traceidratio and parentbased_traceidratio samplers
    ratio: 1.0