豆豆友情提示:这是一个非官方 GitHub 代理镜像,主要用于网络测试或访问加速。请勿在此进行登录、注册或处理任何敏感信息。进行这些操作请务必访问官方网站 github.com。 Raw 内容也通过此代理提供。
Skip to content

Jeffrin-dev/CloudDev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

229 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

☁️ CloudDev

A free, open-source local AWS emulator — the self-hosted alternative to LocalStack.

CloudDev runs 29 AWS services locally as a single Go binary with zero runtime dependencies. Built for developers who want fast, offline AWS development without cloud costs or vendor lock-in.

License Go Version Version


✨ Features

  • 29 AWS services emulated locally — S3, DynamoDB, DynamoDB Streams, Lambda, Lambda Layers, Lambda Function URLs, SQS (+ FIFO), SNS, API Gateway, API Gateway v2, IAM, STS, KMS, CloudFormation, Step Functions, EventBridge, CloudWatch Events, Secrets Manager, CloudWatch Logs, CloudWatch Metrics, ElastiCache, Cognito, X-Ray, Route53, SSM Parameter Store, Rekognition, SES, and Bedrock
  • Single binary — no Docker, no Python, no Java runtime required
  • Zero config — works out of the box with your existing AWS CLI and SDKs
  • Web dashboard — real-time service status cards at localhost:4580
  • IaC support — auto-detects Terraform, CloudFormation, and Kubernetes configs
  • Lambda hot reload — instant function updates without restarts
  • Data persistence — state survives restarts via ~/.clouddev/state.json
  • Cost estimator — see estimated AWS costs for your local workloads

🚀 Quick Start

Install

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

Initialize and Start

./clouddev init my-app
cd my-app
../clouddev up

Use with AWS CLI

# S3
aws --endpoint-url=http://localhost:4566 s3 mb s3://my-bucket

# DynamoDB
aws --endpoint-url=http://localhost:4569 dynamodb list-tables

# DynamoDB Streams
aws --endpoint-url=http://localhost:4570 dynamodbstreams list-streams

# Lambda
aws --endpoint-url=http://localhost:4574 lambda list-functions

# Lambda Function URLs
curl -X POST http://localhost:4595/2021-10-31/functions/MyFunc/url \
    -H "Content-Type: application/json" \
    -d '{"AuthType":"NONE"}'

# SQS
aws --endpoint-url=http://localhost:4576 sqs create-queue --queue-name my-queue

# SNS
aws --endpoint-url=http://localhost:4575 sns create-topic --name my-topic

# API Gateway v2
curl -X POST http://localhost:4573/v2/apis \
    -H "Content-Type: application/json" \
    -d '{"Name":"MyAPI","ProtocolType":"HTTP"}'

# KMS
aws --endpoint-url=http://localhost:4599 kms create-key --description "my-key"

# SSM Parameter Store
aws --endpoint-url=http://localhost:4583 ssm put-parameter \
    --name "/myapp/db/host" --value "localhost" --type String

# CloudWatch Metrics
aws --endpoint-url=http://localhost:4582 cloudwatch put-metric-data \
    --namespace "MyApp" --metric-name "RequestCount" --value 42 --unit Count

# CloudWatch Events
aws --endpoint-url=http://localhost:4590 events put-rule \
    --name MyRule --schedule-expression "rate(5 minutes)" --state ENABLED

# SES
aws --endpoint-url=http://localhost:4579 ses verify-email-identity \
    --email-address test@example.com

# Route53
aws --endpoint-url=http://localhost:4589 route53 create-hosted-zone \
    --name example.com --caller-reference ref-1

# X-Ray
aws xray put-trace-segments \
    --endpoint-url http://localhost:4588 \
    --trace-segment-documents '{"id":"seg-1","trace_id":"1-abc-123","name":"my-service"}'

# Rekognition
aws --endpoint-url=http://localhost:4594 rekognition detect-labels \
    --image '{"S3Object":{"Bucket":"my-bucket","Name":"photo.jpg"}}'

# Bedrock
curl -X POST http://localhost:4591/foundation-models
curl -X POST http://localhost:4591/model/anthropic.claude-3-sonnet-20240229-v1:0/invoke \
    -H "Content-Type: application/json" \
    -d '{"prompt":"Hello!","max_tokens_to_sample":100}'

📦 Services & Ports

Service Port Since
S3 4566 v0.1.0
DynamoDB 4569 v0.1.0
Lambda 4574 v0.1.0
SQS (+ FIFO) 4576 v0.1.0
API Gateway 4572 v0.1.0
Dashboard 4580 v0.1.0
SNS 4575 v0.2.0
Secrets Manager 4584 v0.2.0
CloudWatch Logs 4586 v0.2.0
IAM 4593 v0.3.0
STS 4592 v0.3.0
KMS 4599 v0.3.0
CloudFormation 4581 v0.3.0
Step Functions 4585 v0.3.0
EventBridge 4587 v0.3.0
ElastiCache (Redis) 4598 v0.3.0
ElastiCache (HTTP) 4597 v0.3.0
Cognito 4596 v0.3.0
CloudWatch Metrics 4582 v0.4.0
Lambda Layers 4578 v0.4.0
X-Ray 4588 v0.4.0
Route53 4589 v0.4.0
SSM Parameter Store 4583 v0.4.0
Rekognition 4594 v0.4.0
CloudWatch Events 4590 v0.5.0
SES 4579 v0.5.0
DynamoDB Streams 4570 v0.5.0
Lambda Function URLs 4595 v0.5.0
API Gateway v2 4573 v0.5.0
Bedrock 4591 v0.5.0

🗂️ Project Structure

clouddev/
├── cmd/                    # CLI commands (up, init, status)
├── internal/
│   ├── config/             # Config parser (clouddev.yml)
│   ├── dashboard/          # Web dashboard
│   ├── docker/             # Docker manager
│   ├── iac/                # IaC parser (Terraform/CloudFormation/K8s)
│   ├── persist/            # State persistence
│   ├── costestimator/      # AWS cost estimator
│   └── services/
│       ├── s3/
│       ├── dynamodb/
│       ├── dynamodbstreams/
│       ├── lambda/
│       ├── lambdalayers/
│       ├── lambdaurls/
│       ├── sqs/
│       ├── sns/
│       ├── apigateway/
│       ├── apigatewayv2/
│       ├── iam/
│       ├── sts/
│       ├── kms/
│       ├── cloudformation/
│       ├── cloudwatchlogs/
│       ├── cloudwatchmetrics/
│       ├── cloudwatchevents/
│       ├── stepfunctions/
│       ├── eventbridge/
│       ├── secretsmanager/
│       ├── elasticache/
│       ├── cognito/
│       ├── xray/
│       ├── route53/
│       ├── ssm/
│       ├── ses/
│       ├── rekognition/
│       └── bedrock/
├── go.mod
└── main.go

⚙️ Configuration

services:
  s3: true
  dynamodb: true
  lambda: true
  sqs: true
  api_gateway: true

ports:
  s3: 4566
  dynamodb: 4569
  lambda: 4574
  sqs: 4576
  api_gateway: 4572

lambda:
  functions_dir: ./functions
  hot_reload: true

🧪 Running Tests

go test ./...

🛣️ Roadmap

✅ v0.1.0

  • S3, DynamoDB, Lambda, SQS, API Gateway, Dashboard, IaC Parser

✅ v0.2.0

  • SNS, Secrets Manager, CloudWatch Logs, Lambda Hot Reload, Data Persistence

✅ v0.3.0

  • IAM, STS, KMS, CloudFormation, Step Functions, EventBridge, ElastiCache, Cognito

✅ v0.4.0

  • CloudWatch Metrics, SQS FIFO, Lambda Layers, X-Ray, Route53, SSM Parameter Store, Rekognition

✅ v0.5.0

  • CloudWatch Events, SES, DynamoDB Streams, Lambda Function URLs, API Gateway v2, Bedrock

🤝 Contributing

We welcome contributions! Please read CONTRIBUTING.md to get started.


📄 License

Apache 2.0 — see LICENSE for details.


⭐ Star History

If CloudDev saves you time or money, please consider giving it a ⭐ on GitHub!

Built for Devs

About

☁️ Run AWS services locally — open-source alternative to LocalStack . S3, DynamoDB, Lambda, SQS, API Gateway and 12 more services in one command.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Languages