fakecloud  by faiscadev

Local AWS emulator for development and testing

Created 1 month ago
303 stars

Top 87.8% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

Fakecloud is a free, open-source AWS emulator designed as a direct alternative to LocalStack, particularly after LocalStack's shift to a proprietary model. It provides a comprehensive local development and integration testing environment, offering 33 emulated AWS services and 2,422 operations with a stated 100% conformance to AWS Smithy models. Fakecloud targets developers and teams seeking to maintain a fully local, cost-free AWS testing workflow without the need for accounts, auth tokens, or paid tiers, ensuring continuity for existing CI/CD pipelines and local development setups.

How It Works

This emulator operates as a single, lightweight binary (~19MB) with a fast startup time (~500ms) and low idle memory (~10MB). It distinguishes itself by running stateful services using real infrastructure where possible: Lambda functions execute within Docker containers across 23 runtimes, and databases like RDS (Postgres, MySQL, etc.) and ElastiCache (Redis, Valkey, Memcached) run actual instances via Docker. Fakecloud employs rigorous validation against AWS's Smithy models, running over 59,000 test variants per commit and integrating with upstream Terraform acceptance tests to catch subtle bugs. It also features robust cross-service wiring, enabling end-to-end testing of complex workflows involving services like EventBridge, Step Functions, S3, and Lambda.

Quick Start & Requirements

  • Primary Install: curl -fsSL https://raw.githubusercontent.com/faiscadev/fakecloud/main/install.sh | bash
  • Run: Execute fakecloud in your terminal.
  • Configuration: Point AWS SDKs or CLI to http://localhost:4566 with dummy credentials (e.g., access_key=test, secret_key=test).
  • Prerequisites: No Docker is required to run fakecloud itself, only for emulating services that necessitate containers (like Lambda, RDS, ElastiCache).
  • Docs: fakecloud.dev/docs/getting-started

Highlighted Details

  • Full Bedrock Emulation: Emulates 111 Bedrock operations, including runtime and control plane features like streaming, guardrails, and custom model jobs, far exceeding LocalStack's limited offering.
  • First-Party Test SDKs: Provides dedicated SDKs for TypeScript, Python, Go, PHP, Java, and Rust, allowing tests to directly assert on side effects (e.g., emails sent, messages received) without parsing raw HTTP responses.
  • Comprehensive Service Coverage: Supports 33 services, including deep implementations of S3, DynamoDB, IAM, CloudWatch Logs, KMS, CloudFormation, SES, Cognito, RDS, ElastiCache, API Gateway (v1 & v2), and CloudFront, often with more operations than LocalStack's paid tiers.
  • Opt-in Security Features: Includes optional SigV4 verification and IAM policy enforcement (soft or strict modes) for enhanced security testing.

Maintenance & Community

Fakecloud is part of the "faisca project family." Detailed documentation, guides, and a blog are available at fakecloud.dev. Contribution guidelines are provided in CONTRIBUTING.md, emphasizing conventional commits and end-to-end tests for new features.

Licensing & Compatibility

Licensed under AGPL-3.0-or-later. The project explicitly states that using fakecloud as a development or testing dependency does not impose AGPL obligations on the user's application. Copyleft restrictions apply only if fakecloud itself is modified and redistributed as a network service.

Limitations & Caveats

While aiming for 100% conformance, the extensive list of supported operations implies that edge cases or less common features within each service might not be fully implemented. The AGPL-3.0 license, although mitigated for development use, may still be a consideration for some organizations. The project relies on Docker for specific service emulations, adding a dependency for those features.

Health Check
Last Commit

13 hours ago

Responsiveness

Inactive

Pull Requests (30d)
734
Issues (30d)
9
Star History
50 stars in the last 30 days

Explore Similar Projects

Starred by Stas Bekman Stas Bekman(Author of "Machine Learning Engineering Open Book"; Research Engineer at Snowflake), Chaoyu Yang Chaoyu Yang(Founder of Bento), and
3 more.

llm-d by llm-d

1.1%
3k
Kubernetes-native framework for distributed LLM inference
Created 1 year ago
Updated 22 hours ago
Feedback? Help us improve.