test:
  service: Disk
  root: <%= Rails.root.join("tmp/storage") %>

local:
  service: Disk
  root: <%= Rails.root.join("storage") %>

# Cloudflare R2 (S3-compatible object storage)
# Note: Checksum configuration is in config/initializers/ssl_crl_fix.rb
# Uses custom R2Service to support CDN domain for public URLs
#
# Environment Variables:
#   CDN_IMAGES_URL    - Public CDN URL for uploaded images (preferred)
#   CDN_IMAGES_BUCKET - R2 bucket for uploaded images (preferred)
#   R2_PUBLIC_URL     - Legacy alias for CDN_IMAGES_URL
#   R2_BUCKET         - Legacy alias for CDN_IMAGES_BUCKET
#
cloudflare_r2:
  service: R2
  access_key_id: <%= ENV['R2_ACCESS_KEY_ID'] %>
  secret_access_key: <%= ENV['R2_SECRET_ACCESS_KEY'] %>
  region: auto
  bucket: <%= ENV['CDN_IMAGES_BUCKET'] || ENV['R2_BUCKET'] %>
  endpoint: <%= "https://#{ENV['R2_ACCOUNT_ID']}.r2.cloudflarestorage.com" %>
  force_path_style: true
  public: true
  public_url: <%= ENV['CDN_IMAGES_URL'] || ENV['R2_PUBLIC_URL'] %>

# Use rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key)
# amazon:
#   service: S3
#   access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %>
#   secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %>
#   region: us-east-1
#   bucket: your_own_bucket

# Remember not to checkin your GCS keyfile to a repository
# google:
#   service: GCS
#   project: your_project
#   credentials: <%= Rails.root.join("path/to/gcs.keyfile") %>
#   bucket: your_own_bucket

# Use rails credentials:edit to set the Azure Storage secret (as azure_storage:storage_access_key)
# microsoft:
#   service: AzureStorage
#   storage_account_name: your_account_name
#   storage_access_key: <%= Rails.application.credentials.dig(:azure_storage, :storage_access_key) %>
#   container: your_container_name

# mirror:
#   service: Mirror
#   primary: local
#   mirrors: [ amazon, google, microsoft ]
