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

47 lines
No EOL
1 KiB
Markdown

# minna-caos
> Content-Addressed Object Storage server intended for usage with Minna.
## Features
- resumable uploads (via [tus](https://tus.io/))
- 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