Document what S3 features Fluxer requires

(#4529) Feature Open: Under consideration infra self-hosting

Current problem

Fluxer depends on various non-Fluxer-developed services, notably S3 which is sort-of-standardized and has many implementations. But not all providers are fully faithul or 100% drop-in compatible with Amazon's AWS version of the protocol. For example, Garage has a page documenting which endpoints they implement in comparison to some other S3-compatible object storage softwares. Based on the fact that not every endpoint is implemented, i can conclude confidently that some s3-consuming applications will not work with Garage. But it's not immediately clear if Fluxer will work without trying; and even then, it might seem to work, but some niche feature fails silently.

Proposed change

It would be nice if Fluxer could document what S3 endpoints it needs now (and perhaps expects to use in the future), in order to make it easy to look at this compatibility matrix and deduce whether Fluxer will work with {insert s3-compatible provider}. Based on some grepping around the codebase, i believe it requires these endpoints:
  • AbortMultipartUpload
  • CompleteMultipartUpload
  • CopyObject
  • CreateMultipartUpload
  • DeleteObject
  • GetObject
  • HeadObject
  • ListObjectsV2
  • ListParts
  • PutObject
  • UploadPart
I also notice references to presigned URLs. I think that makes Fluxer compatible with Garage, which says it supports all those endpoints and presigned URLs. But it'd be nice to not have to search through Fluxer's source code to figure this out.

Platform

Self-hosting

Additional information

More generally than just documenting what endpoints it needs, it would be neat if Fluxer could commit to being compatible with providers X, Y, and Z. to my understanding, the flagship instance runs on SeaweedFS and that's included in the docker images and that's what tests run against. Maybe there could be tests to ensure it also works with Garage, MinIO(?), Ceph, OpenIO, etc?

Comments

Sign in with Fluxer to comment and vote.

No comments yet.