/fake-s3

A lightweight server clone of Amazon S3 that simulates most of the commands supported by S3 with minimal dependencies

Primary LanguageRuby

Fake S3

Introduction

Fake S3 is a lightweight server that responds to the same API of Amazon S3.

It is extremely useful for testing of S3 in a sandbox environment without actually making calls to Amazon, which not only requires a network connection, but also costs money with every use.

The goal of Fake S3 is to minimize runtime dependencies and be more of a development tool to test S3 calls in your code rather than a production server looking to duplicate S3 functionality.

Many commands are supported, including put, get, list, copy, and make bucket.

Installation

gem install fakes3

Running

To run the server, you must specify a root, a port, and your license key.

fakes3 -r /mnt/fakes3_root -p 4567 --license YOUR_LICENSE_KEY

Licensing

As of the latest version, we are licensing with Super Source. To get a license, visit:

https://supso.org/projects/fake-s3

Depending on your company's size, the license may be free. It is also free for individuals.

You pass the license key to Fake S3 with the command line option --license YOUR_LICENSE_KEY.

Connecting to Fake S3

Take a look at the test cases to see client example usage. For now, Fake S3 is mainly tested with s3cmd, aws-s3 gem, and right_aws. There are plenty more libraries out there, and please do mention if other clients work or not.

Here is a running list of supported clients

Contributing

Contributions in the form of pull requests, bug reports, documentation, or anything else are welcome! Please read the CONTRIBUTING.md file for more info: CONTRIBUTING.md