A local development companion for cloud-native apps. Iterate fast without cloud bills, then land cleanly on your target CSP.
docker run -p 4747:4747 ghcr.io/skyoo2003/devcloud:latestPoint any AWS SDK at http://localhost:4747. See Getting Started for boto3 / AWS CLI / Terraform examples and other install options.
Every test against real AWS is billed, every feature branch wants its own sandbox, and every new joiner waits for credentials. DevCloud runs a local, API-compatible cloud environment so you can:
- Develop offline — no VPN, no credentials, no internet
- Iterate without a bill — integration tests at CI speed, not cloud speed
- Onboard in minutes —
docker runand your team is productive - Ship with confidence — compatibility tests run against real SDKs
DevCloud is an on-ramp to the cloud, not a replacement for it. The goal is to make the local → CSP transition boring. It targets AWS today; Azure, GCP and beyond are on the roadmap.
- 205 AWS services registered, 201 serving at least one operation — the remaining 4 are routed and decline with a clean AWS error rather than letting the call bill a real account. See coverage.md for what the numbers do and do not promise.
- boto3-compatible — a 1,144-test suite runs in CI (
make test-compat) across every registered service. Unsupported operations return a clean AWS error, never a false success. - Cross-service integration — CloudFormation provisioning, DynamoDB Streams → Lambda, EventBridge targets, S3 → Lambda
- Smithy-driven codegen — Go types, routers and error catalogues generated from AWS models, with a weekly sync workflow that keeps them current
- Single binary, zero-config — one Docker image, one port (4747), no config file required; override with
DEVCLOUD_SERVICES,DEVCLOUD_DATA_DIR,DEVCLOUD_PORT - SDK/CLI compatible — AWS SDK, CLI, Terraform and CDK work out of the box
- Admin API — opt-in REST at
/devcloud/api/*for service status, resources and request logs (admin.enabled: true)
| Service | Protocol | Storage | Docs |
|---|---|---|---|
| S3 | REST-XML | Filesystem + SQLite | docs/services/s3.md |
| SQS | Query + JSON | In-memory | docs/services/sqs.md |
| DynamoDB | JSON 1.0 | BadgerDB | docs/services/dynamodb.md |
| Lambda | REST-JSON | SQLite + Filesystem | docs/services/lambda.md |
| IAM/STS | Query | SQLite | docs/services/iam-sts.md |
The rest of the registered surface is described in the services matrix.
Start at the docs index. Most-read pages:
| Getting Started | Install, first run, SDK examples |
| Configuration | Config file, env-var overrides, tier shortcuts |
| Coverage | What the service counts mean, and the target |
| Compatibility Policy | What v1.0 guarantees across 1.x — and what it does not |
| Architecture | System design, codegen pipeline, plugin model |
| Contributing | Dev setup, adding a service |
Project files: Support · Governance · Releasing · Changelog
Contributions are welcome — especially service implementations, compatibility fixes, and documentation. See the Contributing Guide and the Code of Conduct.
For security issues, follow the Security Policy and do not file a public issue.
Apache License, Version 2.0 — see LICENSE and NOTICE.
DevCloud is an independent open-source project. References to cloud service providers describe API compatibility only; all trademarks are the property of their respective owners. See TRADEMARKS.md.