# Server configuration
server:
  host: "0.0.0.0"  # Listen on all interfaces
  port: 8080       # HTTP port to listen on
  tls:             
    enabled: false  # TLS will be handled by Traefik

# Database configuration - Using SQLite
database:
  type: "sqlite"  # Database type
  sqlite:
    file: "/app/data/byop.db"  # Path inside the container

# Authentication configuration
auth:
  private_key: "${JWT_SECRET:-change_this_to_a_secure_random_string}"  # Used to sign JWT tokens
  token_duration: 3600000000000  # Token validity duration in nanoseconds (1 hour)
  cleanup_interval: 86400000000000  # Token cleanup interval in nanoseconds (24 hours)

# Cloud providers configuration
# These values should be set through environment variables in production
providers:
  # OVH configuration
  ovh:
    application_key: "${OVH_APP_KEY:-}"
    application_secret: "${OVH_APP_SECRET:-}"
    consumer_key: "${OVH_CONSUMER_KEY:-}"
    project_id: "${OVH_PROJECT_ID:-}"
    region: "${OVH_REGION:-GRA7}"
    ssh_username: "${OVH_SSH_USER:-root}"
    ssh_key_path: "${OVH_SSH_KEY_PATH:-}"

  # # AWS configuration
  # aws:
  #   access_key: "${AWS_ACCESS_KEY:-}"
  #   secret_key: "${AWS_SECRET_KEY:-}"
  #   region: "${AWS_REGION:-us-east-1}"

  # # Azure configuration
  # azure:
  #   subscription_id: "${AZURE_SUBSCRIPTION_ID:-}"
  #   tenant_id: "${AZURE_TENANT_ID:-}"
  #   client_id: "${AZURE_CLIENT_ID:-}"
  #   client_secret: "${AZURE_CLIENT_SECRET:-}"