Sign inSign up

creogroup/cloudtwin

By creogroup

•Updated 5 months ago

Local cloud APIs for SDK-level integration testing — all in a single process

Image
Integration & delivery
0

2.1K

creogroup/cloudtwin repository overview

⁠CloudTwin

CloudTwin is a lightweight, self-contained local runtime for cloud services. It emulates common AWS, Azure, and GCP service APIs locally so applications can run and be tested without real cloud accounts.

CloudTwin runs everything inside a single process with no external service dependencies — no MinIO, no RabbitMQ, and no cloud accounts required.

State is persisted using SQLite by default, or can run entirely in memory for CI and ephemeral test environments.


⁠Quick Start

Run CloudTwin locally:

docker run -p 4793:4793 creogroup/cloudtwin

Cloud API:

http://localhost:4793

⁠Persisting Data

To persist service state across container restarts, mount a volume at /data.

docker run -p 4793:4793 \
  -v cloudtwin-data:/data \
  creogroup/cloudtwin

⁠Optional Configuration File

CloudTwin can be configured using environment variables or a YAML configuration file.

To provide a configuration file:

docker run -p 4793:4793 \
  -v cloudtwin-data:/data \
  -v $(pwd)/cloudtwin.yml:/config/cloudtwin.yml \
  creogroup/cloudtwin

⁠Configuration

Common environment variables:

VariableDefaultDescription
CLOUDTWIN_HOST0.0.0.0Bind address
CLOUDTWIN_PORT4793API port
CLOUDTWIN_STORAGE_MODEsqlitesqlite or memory
CLOUDTWIN_STORAGE_PATH/data/cloudtwin.dbSQLite database path
CLOUDTWIN_DASHBOARD_ENABLEDfalseEnable the web dashboard

Example:

docker run -p 4793:4793 \
  -e CLOUDTWIN_STORAGE_MODE=memory \
  creogroup/cloudtwin

⁠Optional Dashboard

CloudTwin includes an optional web dashboard for inspecting resources and event logs.

Enable it using an environment variable:

docker run -p 4793:4793 \
  -e CLOUDTWIN_DASHBOARD_ENABLED=true \
  creogroup/cloudtwin

Dashboard:

http://localhost:4793/dashboard

⁠Supported Services

CloudTwin currently supports a growing set of cloud services across providers.

⁠AWS
  • S3
  • SES (v1 + v2)
  • SNS
  • SQS
  • Lambda
  • DynamoDB
  • Secrets Manager
⁠Azure
  • Blob Storage
  • Service Bus
  • Queue Storage
  • Event Grid
  • Key Vault
  • Functions
⁠GCP
  • Cloud Storage
  • Pub/Sub
  • Firestore
  • Cloud Tasks
  • Secret Manager
  • Cloud Functions

⁠Source Code

CloudTwin is fully open source.

GitHub repository:

https://github.com/creocorp/cloud-twin⁠

Feedback, issues, and contributions are welcome.


⁠CloudTwin Lite (Rust)

A lightweight Rust version called CloudTwin Lite is in development. The goal is a small statically linked binary suitable for CI environments or minimal container images.

The Rust version is currently experimental and not yet at feature parity with the Python implementation.

Tag summary

Content type

Image

Digest

sha256:fb0b80958…

Size

33.7 MB

Last updated

5 months ago

docker pull creogroup/cloudtwin