Skip to content

S3

AWS S3 and S3-compatible object storage (MinIO, DigitalOcean Spaces, etc.). Use it for file uploads, backups, static assets, or any object storage workflow.

Configuration

connector "s3" {
  type   = "file"
  driver = "s3"

  bucket     = env("S3_BUCKET")
  region     = env("AWS_REGION")
  access_key = env("AWS_ACCESS_KEY_ID")
  secret_key = env("AWS_SECRET_ACCESS_KEY")

  # For MinIO or other S3-compatible storage
  endpoint       = "http://localhost:9000"
  use_path_style = true
}
Option Type Default Description
driver string Must be s3
bucket string S3 bucket name
region string AWS region
access_key string AWS access key ID
secret_key string AWS secret access key
endpoint string Custom endpoint for S3-compatible storage
use_path_style bool false Use path-style URLs (required for MinIO)

Operations

Operation Direction Description
read read Read an object
write write Write an object
list read List objects by prefix
delete write Delete an object

Example

flow "upload_file" {
  from {
    connector = "api"
    operation = "POST /upload"
  }
  to {
    connector = "s3"
    operation = "write"
    target    = "uploads/"
  }
}

flow "download_file" {
  from {
    connector = "api"
    operation = "GET /files/:key"
  }
  to { connector = "s3" }
}

See the s3 example for a complete working setup.


Full configuration reference: See S3 in the Configuration Reference.