base_path: "./data/dev/experiments"

data_dir: "./data/dev/active"

auth:
  enabled: false

server:
  address: "0.0.0.0:9101"
  tls:
    enabled: false
    cert_file: "/app/ssl/cert.pem"
    key_file: "/app/ssl/key.pem"

security:
  production_mode: false
  allowed_origins:
    - "http://localhost:3000"
  api_key_rotation_days: 90
  audit_logging:
    enabled: true
    log_path: "./data/dev/logs/fetchml-audit.log"
  rate_limit:
    enabled: false
    requests_per_minute: 60
    burst_size: 10
  ip_whitelist: []

monitoring:
  prometheus:
    enabled: true
    port: 9101
    path: "/metrics"
  health_checks:
    enabled: true
    interval: "30s"

redis:
  addr: "redis:6379"
  password: ""
  db: 0

database:
  type: "sqlite"
  connection: "./data/dev/fetchml.sqlite"

logging:
  level: "info"
  file: "./data/dev/logs/fetchml.log"
  audit_log: "./data/dev/logs/fetchml-audit.log"

resources:
  max_workers: 4
  desired_rps_per_worker: 2
  podman_cpus: "2"
  podman_memory: "4Gi"

# Scheduler configuration for multi-worker support
scheduler:
  enabled: true
  strategy: "round-robin"  # round-robin, least-loaded, or priority
  max_concurrent_jobs: 8
  queue:
    type: "redis"  # redis, sqlite, or filesystem
    redis_addr: "redis:6379"
  worker_discovery:
    mode: "dynamic"  # dynamic or static
    heartbeat_timeout: "30s"
    health_check_interval: "10s"
