minna-caos/README.md
2025-03-29 23:54:55 +01:00

1 KiB

minna-caos

Content-Addressed Object Storage server intended for usage with Minna.

Features

  • resumable uploads (via tus)

  • automatic media type (“MIME type”) detection

  • multiple storage backends:

    • local filesystem
    • S3-compatible
    • FTP
    • Google Drive
    • OneDrive
  • direct download from the underlying storage backend (if supported)

  • named storage buckets

  • object operations:

    • upload
    • set target buckets
    • delete
  • outgoing webhooks

Upload steps

  • client to app: request to upload something, returns {upload_id}

    • app to caos: POST /uploads returns {upload_ìd}
  • client to caos: PATCH /uploads/{upload_id} with upload data, optionally using tus

  • app to caos: GET /staging-area/{upload_id}, returns metadata (including {hash}) as soon as the upload is complete

  • app to caos: POST /staging-area/{upload_id}/accept with target bucket IDs

Roadmap

  • basic uploading
  • upload expiration
  • media type detection
  • metadata endpoints
  • accepting uploads
  • more storage backends