Open Source MIT License

Found a GitHub repo that solves S3 testing in the opposite way everyone else does, and it’s actually genius. While most teams either pay for AWS sandbox accounts or wrestle with heavyweight alternatives, gofakes3 provides a lightweight S3 clone for testing without AWS. It lets you mock cloud storage directly on your machine, offering zero cloud costs for local testing, full S3 integration testing offline, and a setup that’s lightweight and easy.

gofakes3-repo.jpg gofakes3 GitHub repository homepage

gofakes3 by johannesboyne is for developers building S3‑integrated apps, solving the problem of needing real AWS access by enabling fast, offline, and cost‑free local testing of S3 workflows. This AWS S3 fake server and testing library supports comprehensive S3 integration testing, from AWS Lambda functions to browser‑based direct uploads.

What Is gofakes3?

gofakes3 is a lightweight S3 clone written in Go that runs locally, providing a fake AWS S3 server for testing without any cloud dependencies. It’s designed for local development of S3‑dependent AWS Lambda functions, testing implementations with AWS S3 access, and facilitating browser‑based direct uploads to S3 in a local testing environment.

[!NOTE] Unlike running a full S3‑compatible service, gofakes3 focuses specifically on the API surface needed for testing, making it significantly lighter and faster to start than alternatives like MinIO.

How gofakes3 Works & Comparison with MinIO

Feature gofakes3 MinIO
Primary Purpose Lightweight S3 mock for testing Full S3‑compatible object storage
Complexity Minimal, focused on API testing Production‑grade with many features
Licensing MIT, fully open source Original MinIO now behind paywall (some forks remain open)
Resource Usage Low memory/CPU, starts instantly Requires more resources, longer startup
Use Case Local testing, CI pipelines Self‑hosted object storage, production use
Setup Single binary, zero configuration Requires configuration, persistent storage

Key Technical Insights

  • Zero Cloud Costs: Test S3 integrations without any AWS account or charges.
  • Offline Development: Work on S3‑dependent features without internet connectivity.
  • Lambda Testing: Perfect for testing AWS Lambda functions that interact with S3 locally.
  • Browser Upload Testing: Simulate direct‑to‑S3 browser uploads in development.
  • Simple Integration: Use as a library in Go tests or run as a standalone server.

gofakes3-repo-threads.jpg Community discussion comparing gofakes3 with MinIO

Community Discussion & Use Cases

“@ravi_shankar_r_ ask ‘What about MinIO isnit different ?’ which answered by @vojtaolej ‘Minio is a bit more complex. And also the ““original”” minio is behind a paywall, since the company that ““owned”” it decided it’s time to screw up the OSS community. Fortunately, there are some forks (the one I like the most is Pigsty/MinIO).’”

This exchange highlights gofakes3’s niche: it’s not trying to be a full S3 replacement, but rather a focused testing tool. While MinIO (and its forks) serve production object storage needs, gofakes3 excels at making S3 integration tests fast, simple, and free.

Why This Changes Local Development

gofakes3 addresses a critical gap in the developer workflow: testing cloud integrations locally. Here’s how it improves the development experience:

  • Faster Feedback Loops: Run S3‑dependent tests instantly without network latency.
  • Cost Elimination: Remove AWS costs from development and CI pipelines.
  • Reproducible Tests: Ensure tests run identically regardless of network or AWS service status.
  • Simplified Onboarding: New team members can test S3 features without AWS credentials.
  • CI/CD Integration: Include S3 testing in automated pipelines without cloud dependencies.

Cut costs further: Flash-moe — replace expensive cloud GPU inference with local Apple Silicon streaming.

gofakes3 proves that sometimes the best solution is the simplest one. By focusing exclusively on the testing use case rather than trying to replicate all of S3’s features, it delivers exactly what developers need: a fast, reliable, and free way to test S3 integrations locally.