# Fetch ML Configuration Example for PostgreSQL
# This example shows how to configure Fetch ML to use PostgreSQL as the database

base_path: "./data/experiments"

auth:
  enabled: true
  api_keys:
    admin:
      hash: "5e884898da28047151d0e56f8dc6292773603d0d6aabbdd5f8b6c8b0b4f0b8e3" # "password"
      admin: true
      roles: ["admin"]
      permissions:
        "*": true

server:
  address: ":9101"
  tls:
    enabled: false

database:
  type: "postgres"
  host: "localhost"
  port: 5432
  username: "fetchml"
  password: "your_password_here"
  database: "fetchml"
  # Alternatively, you can use a full connection string:
  # connection: "postgres://fetchml:your_password_here@localhost:5432/fetchml?sslmode=disable"

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

logging:
  level: "info"
  file: ""
  audit_log: ""

security:
  production_mode: false
  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"

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