No description
Find a file
2025-03-29 23:54:55 +01:00
migrations WIP: v1.0.0 2025-03-29 23:54:55 +01:00
run WIP: v1.0.0 2025-03-22 00:49:26 +01:00
src WIP: v1.0.0 2025-03-29 23:54:55 +01:00
.gitignore Initial commit 2025-03-22 00:46:13 +01:00
Cargo.lock WIP: v1.0.0 2025-03-22 23:10:01 +01:00
Cargo.toml WIP: v1.0.0 2025-03-22 23:10:01 +01:00
README.md WIP: v1.0.0 2025-03-29 23:54:55 +01:00

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