ExOss

 hex Docs

A unified S3-compatible object storage library for Elixir with multi-CDN support.

Features

Installation

Add ex_oss to your dependencies:

def deps do
  [
    {:ex_oss, "~> 1.1"}
  ]
end

Quick Start

# 1. Define a storage module
defmodule MyApp.Storage do
  use ExOss, otp_app: :my_app
end

# 2. Add configuration
config :my_app, MyApp.Storage,
  provider: :aws,
  access_key_id: "your-access-key",
  secret_access_key: "your-secret-key",
  region: "us-east-1"

# 3. Use it
MyApp.Storage.upload_credential("bucket", "path/file.jpg", 3600)
MyApp.Storage.authorize_download_url("bucket", "path/file.jpg", 3600)

See the getting started guide for details.

License

MIT