/s2

Create s3-compatible APIs with ease

Primary LanguageGoApache License 2.0Apache-2.0

s2

GoDoc

"It's one less than s3"

This library facilitates the creation of servers with S3-like APIs in go. With this library, you just need to implement a few interfaces to create an S3-like API - s2 handles all of the glue code and edge cases. Additionally, we provide a fairly extensive suite of conformance and integration tests to ensure your implementation works with the most popular s3 libraries and executables.

See a complete example in the example directory.

s2 is used in production for pachyderm's s3gateway feature.

Adding new functionality

s2 only supports a small subset of the S3 API. When an unsupported feature is called, a NotImplemented error (with a 501 status code) is returned. If s2 is missing functionality that you'd like, we'd gladly take a PR that adds it!