server:
  port: 8080
  env: development
  read_timeout: 10s
  write_timeout: 10s

database:
  host: localhost
  port: 5432
  name: roadwave_dev
  user: roadwave
  password: dev_password
  ssl_mode: disable
  max_connections: 25
  max_idle_connections: 5
  max_lifetime: 5m

redis:
  host: localhost
  port: 6379
  password: ""
  db: 0
  pool_size: 10
  min_idle_connections: 3
  max_retries: 3

zitadel:
  domain: localhost:8081
  project_id: ${ZITADEL_PROJECT_ID}
  client_id: ${ZITADEL_CLIENT_ID}
  client_secret: ${ZITADEL_CLIENT_SECRET}
  issuer: http://localhost:8081

jwt:
  secret: ${JWT_SECRET}
  expiration: 24h

ovh_s3:
  endpoint: ${OVH_S3_ENDPOINT}
  region: ${OVH_S3_REGION}
  access_key: ${OVH_S3_ACCESS_KEY}
  secret_key: ${OVH_S3_SECRET_KEY}
  bucket: ${OVH_S3_BUCKET}

mangopay:
  client_id: ${MANGOPAY_CLIENT_ID}
  api_key: ${MANGOPAY_API_KEY}
  base_url: https://api.sandbox.mangopay.com

logging:
  level: debug
  format: console

cors:
  allowed_origins:
    - http://localhost:3000
    - http://localhost:8080
  allowed_methods:
    - GET
    - POST
    - PUT
    - DELETE
    - OPTIONS
  allowed_headers:
    - Origin
    - Content-Type
    - Authorization
  max_age: 3600

rate_limit:
  requests_per_minute: 60
  burst: 10

geo:
  default_radius_km: 50
  max_radius_km: 500
  cache_ttl: 5m
