Comment by znpy

4 months ago

Afaik Ceph has its own object-storage functionality as well, which seems to be S3-compatible: https://docs.ceph.com/en/latest/radosgw/#object-gateway

Yeah. They also created a open source test suite for S3 clones.

  This is a set of unofficial Amazon AWS S3 compatibility tests, that can be useful to people implementing software that exposes an S3-like API. The tests use the Boto2 and Boto3 libraries.

https://github.com/ceph/s3-tests

  • Oh heh, a trip down the memory lane. I wrote the initial version of that, in an era where AWS docs did not match observed S3 behavior. The only way to make an S3-compatible API was to create a suite of over-the-network tests to run against both AWS S3 and radosgw.

    We also had a little grammar-based fuzzer for S3 requests (really, any HTTP), but over the last 10+ years I've lost track of what happened to that code. That found some incompatibilities with allowed character sets etc too.

I believe you're forced to have your data backed by a Ceph OSD. Whereas Minio can point to an NFS share on a NAS.

  • Minio used to be able to do this, but they dropped this feature - "gateway mode" - several years ago.

    • Minio doesn't need to have first-class support for NFS. You can quite easily point an NFS share mounted as a directory in the Minio container.

  • > I believe you're forced to have your data backed by a Ceph OSD.

    It makes perfect sense as this is a feature of Ceph.

    > Whereas Minio can point to an NFS share on a NAS.

    Eh, different trade-offs.