DEV Community

Twisted-Code'r
Twisted-Code'r

Posted on

CloudDev v0.3.0 — I built a free LocalStack alternative in Go with 17 AWS services published: true

If you've ever used LocalStack and balked at the $35/month price tag for the pro version, CloudDev might be exactly what you're looking for.

CloudDev is a free, open-source local AWS emulator built in Go — a single binary, zero runtime dependencies, works with your existing AWS CLI and SDKs out of the box.

Today I'm releasing v0.3.0, which adds 8 new AWS services and brings the total to 17 emulated services.

👉 github.com/Jeffrin-dev/CloudDev


Why I Built This

The "vendor kills free tier, community builds alternative" pattern keeps playing out everywhere. LocalStack's free tier is increasingly limited, and most developers just need basic local emulation for dev and CI — not a $35/month SaaS subscription.

The goal was simple: a tool that:

  • Works with zero config changes to your existing AWS CLI setup
  • Ships as a single Go binary with no runtime dependencies
  • Covers the AWS services that 90% of applications actually use
  • Is completely free and open source

What's in v0.3.0

🔐 Auth & Security

  • IAM (port 4593) — users, roles, policies, AssumeRole
  • STS (port 4592) — GetCallerIdentity, AssumeRole, GetSessionToken
  • KMS (port 4599) — CreateKey, Encrypt, Decrypt, GenerateDataKey

🏗️ Orchestration

  • CloudFormation (port 4581) — CreateStack, UpdateStack, parses YAML/JSON templates
  • Step Functions (port 4585) — state machines, executions, RUNNING → SUCCEEDED transitions

🌉 Events & Cache

  • EventBridge (port 4587) — event buses, rules, PutEvents with Lambda/SQS routing
  • ElastiCache (ports 4597/4598) — Redis-compatible TCP server + HTTP management API
  • Cognito (port 4596) — user pools, users, InitiateAuth with mock tokens

Quick Start

git clone https://github.com/Jeffrin-dev/CloudDev.git
cd CloudDev
go build -o clouddev .

./clouddev init my-app
cd my-app
../clouddev up
Enter fullscreen mode Exit fullscreen mode

That's it. All 17 services start immediately.


Works With Your Existing AWS CLI

No special tooling needed. Just point --endpoint-url at CloudDev:

# KMS — create a key and encrypt/decrypt
aws --endpoint-url=http://localhost:4599 kms create-key \
    --description "my-key" --region us-east-1

aws --endpoint-url=http://localhost:4599 kms encrypt \
    --key-id key-1 --plaintext "hello-world" --region us-east-1

# Cognito — create a user pool and authenticate
aws --endpoint-url=http://localhost:4596 cognito-idp create-user-pool \
    --pool-name my-pool --region us-east-1

aws --endpoint-url=http://localhost:4596 cognito-idp initiate-auth \
    --auth-flow USER_PASSWORD_AUTH \
    --auth-parameters USERNAME=user,PASSWORD=pass \
    --client-id client-1 --region us-east-1

# Step Functions — create and run a state machine
aws --endpoint-url=http://localhost:4585 stepfunctions create-state-machine \
    --name my-machine \
    --definition '{"StartAt":"Hello","States":{"Hello":{"Type":"Pass","End":true}}}' \
    --role-arn arn:aws:iam::000000000000:role/role \
    --region us-east-1
Enter fullscreen mode Exit fullscreen mode

The Web Dashboard

Every service gets a real-time status indicator in the dashboard at localhost:4580. It auto-refreshes every 5 seconds so you can see at a glance what's running.

All 17 services show up with their port and a green/red status dot.


How It Was Built

This project was built with an unusual workflow: Claude as the instructor and Codex as the developer.

Claude designed the architecture, wrote the detailed implementation prompts for each module, debugged issues from test output, and caught protocol mismatches (like the AWS CLI sending AWSStepFunctions.* instead of AmazonStates.* as the X-Amz-Target prefix — something you only discover by sniffing the actual HTTP request).

Codex implemented each module from those prompts, one PR at a time.

It's been a genuinely interesting experiment in human-AI-AI collaboration. The hardest bugs were always the subtle protocol differences between what the AWS documentation says and what the AWS CLI actually sends.


Complete Service & Port Reference

Service Port
S3 4566
DynamoDB 4569
Lambda 4574
SQS 4576
API Gateway 4572
SNS 4575
Secrets Manager 4584
CloudWatch Logs 4586
IAM 4593
STS 4592
KMS 4599
CloudFormation 4581
Step Functions 4585
EventBridge 4587
ElastiCache (Redis) 4598
ElastiCache (HTTP) 4597
Cognito 4596

What's Next

v0.4.0 will focus on:

  • CloudWatch Metrics
  • SQS FIFO queues
  • Lambda layers
  • X-Ray tracing

Get Involved

The project is Apache 2.0 licensed and contributions are very welcome. Check out CONTRIBUTING.md to get started.

If CloudDev saves you time or money, a ⭐ on GitHub goes a long way — it helps other developers find the project.

👉 github.com/Jeffrin-dev/CloudDev

Top comments (0)