You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cloudemu already has the hard 90% of a local cloud emulator — 1,635 operations across 25 categories and 3 providers in one binary, a real network-topology engine, chaos, cost simulation, resource discovery, and both an in-process Go API and an SDK-wire-compatible HTTP server. What it lacks is the product/UX layer that would make it feel like minikube does for Kubernetes: a managed local instance you start, stop, inspect, and that survives restarts.
This issue tracks turning cloudemu into a first-class "minikube for cloud resources" — adopting minikube's lifecycle ergonomics, matching LocalStack's dev-experience features (our real competitor), and leaning into the things neither of them can do.
Framing
minikube = right UX model, wrong competitor (it only does k8s).
LocalStack = the real competitor for cloud resources.
IAM policy enforcement — we evaluate policies (CheckPermission) but never enforce on requests (no signature validation).
Web console / resource browser.
Init hooks (run setup scripts on boot).
MCP server (AI-agent-driven cloud dev; LocalStack shipped one in 2026).
Proposed roadmap (prioritized)
P0 — minikube-ification core
Lifecycle CLI: cloudemu start|stop|status|delete|logs that daemonizes serve (PID + endpoints file, or manages the Docker container). Thin wrapper, high payoff.
Persistence (Add Time Travel with State Snapshots and Fork #107): snapshot/restore state to disk so stop→start keeps resources. Biggest gap vs LocalStack; build a state model + JSON/SQLite snapshot. The /_cloudemu/reset atomic-swap is a foundation.
Cloud snapshots (Cloud-Pods analog): cloudemu snapshot save/load/list on top of persistence — versioned, shareable state bundles.
Web dashboard / resource browser over the existing resourcediscovery engine (unified cross-cloud inventory already exists — mostly a frontend).
Init hooks: run seed fixtures / scripts on boot (extends seed/).
P2 — differentiators ("better than minikube/LocalStack")
Expose the topology engine as a CLI/UX feature: cloudemu net can-connect A B, cloudemu net trace — "will my SG/route actually allow this?" Nobody else has this locally.
Cost preview: surface the cost simulator (cloudemu cost / dashboard panel) — estimate a Terraform apply before touching real cloud.
Optional IAM enforcement mode (--enforce-iam) using the existing policy evaluator — catch permission bugs locally.
MCP server — let AI agents provision/inspect the local cloud.
Explicit non-goals
Do not reimplement a container runtime. cloudemu emulates APIs; if a user needs real pods to run, that's minikube/kind/k3s. Keep our k8s as an API emulator and let it compose with a real cluster (run cloudemu as a pod; apps point AWS_ENDPOINT_URL at it).
Do not block this on 100% Azure/GCP parity — coverage is AWS-heavy today; breadth is a separate track from the UX gap this issue targets.
The engine (multi-cloud wire-compat emulation + topology enforcement) is done. The path to "minikube for cloud resources" is a lifecycle CLI + persistence + profiles + dashboard on top of it, plus leaning into topology-reachability and cost simulation as genuine differentiators.
Competitive landscape (researched Aug 2026) & how cloudemu wins
We surveyed the local cloud-emulator market. Nobody offers what cloudemu's engine already does — all three clouds, wire-compatible, in one open-source binary, with a topology engine. The competitors split into three camps:
1. LocalStack — the closest, but AWS-only and heavily paywalled
Coverage/pricing: free Hobby ≈ 30 core services and is non-commercial only; Base $39/user/mo (~85 services), Ultimate $89/user/mo (110+). Per-seat, commercial use requires paid plans.
Paywalled features: Cloud Pods (state snapshots), Ephemeral Instances, Chaos API (Enterprise), IAM policy enforcement/stream tooling, Extensions, and the Web Console are all behind paid tiers.
cloudemu wins by: being fully open-source, all services free, no per-seat cost, no non-commercial restriction, and multi-cloud (LocalStack is AWS-only). Our chaos, cost, and topology engines already ship for free what LocalStack gates behind Enterprise. Roadmap snapshots (P1) = free "Cloud Pods."
2. moto — AWS-only, Python-first
Great for Python unit tests; has a server mode but with caveats (hosts-file edits for some services), and it's API-level only — no topology, cost, chaos-as-product, or multi-cloud.
cloudemu wins by: language-agnostic wire compat + single Go binary + multi-cloud + the simulation engines.
Azure: Azurite (Blob/Queue/Table only; no ADLS Gen2), Cosmos DB vNext emulator (preview; container/RU limits), Service Bus emulator (no VNet/Entra/portal). No emulator for App Service, Azure SQL, Key Vault, Cognitive Services, ML, most PaaS.
GCP:gcloud beta emulators for Bigtable, Datastore, Firestore, Pub/Sub, Spanner (+ Storage/Functions). IAM, quotas, networking not emulated; several are server-side-only.
cloudemu wins by: unifying dozens of services across all three clouds behind one consistent lifecycle/CLI/endpoint set, instead of N different single-service emulators each with its own setup, ports, and quirks.
4. Direct multi-service rivals (narrower than us)
miniblue — 21 Azure services in a Go binary (Azure only).
localgcp — "LocalStack for GCP" (GCP only).
cloudemu wins by: being the only one that spans AWS and Azure and GCP in a single binary/process, sharing one topology/discovery/cost model across them — enabling cross-cloud scenarios none of the single-cloud tools can express.
"One open-source binary that emulates AWS, Azure, and GCP — with the resilience (chaos), cost, and network-reachability tooling that today is either paywalled or nonexistent — plus minikube-style lifecycle UX."
The roadmap items above map directly onto competitive gaps:
P0 lifecycle CLI + persistence → reach LocalStack/minikube table-stakes UX (and give away "Cloud Pods" for free).
P1 dashboard / snapshots / profiles / init hooks → close the remaining LocalStack dev-experience gap, unpaywalled.
P2 topology CLI + cost preview + IAM enforcement + MCP → capabilities no competitor offers, turning cloudemu from "a LocalStack alternative" into a category of its own.
Summary
cloudemu already has the hard 90% of a local cloud emulator — 1,635 operations across 25 categories and 3 providers in one binary, a real network-topology engine, chaos, cost simulation, resource discovery, and both an in-process Go API and an SDK-wire-compatible HTTP server. What it lacks is the product/UX layer that would make it feel like
minikubedoes for Kubernetes: a managed local instance youstart,stop, inspect, and that survives restarts.This issue tracks turning cloudemu into a first-class "minikube for cloud resources" — adopting minikube's lifecycle ergonomics, matching LocalStack's dev-experience features (our real competitor), and leaning into the things neither of them can do.
Framing
What already exists (baseline)
docs/services.md).CanConnect,TraceRoute(docs/topology.md). Neither LocalStack nor minikube has this.features/chaos), cost simulation (services/cost), cross-cloud resource discovery (services/resourcediscovery), auto-metrics + alarm evaluation (SetMonitoring), recorder/metrics/ratelimit/error-injection (features/)./_cloudemu/{reset,seed,health}, seed fixtures (seed/), Docker + compose + Testcontainers (contrib/testcontainers), emulated k8s API with kubeconfig (services/kubernetes).Gap analysis
vs minikube UX
start/stop/status/delete/pauseserve(foreground) +version/helpprofile(multiple clusters)dashboard(web UI)addonsvs LocalStack (the real competitor)
CheckPermission) but never enforce on requests (no signature validation).Proposed roadmap (prioritized)
P0 — minikube-ification core
cloudemu start|stop|status|delete|logsthat daemonizesserve(PID + endpoints file, or manages the Docker container). Thin wrapper, high payoff.stop→startkeeps resources. Biggest gap vs LocalStack; build a state model + JSON/SQLite snapshot. The/_cloudemu/resetatomic-swap is a foundation.P1 — parity ergonomics
--profile/ per-profile ports).cloudemu snapshot save/load/liston top of persistence — versioned, shareable state bundles.resourcediscoveryengine (unified cross-cloud inventory already exists — mostly a frontend).seed/).P2 — differentiators ("better than minikube/LocalStack")
cloudemu net can-connect A B,cloudemu net trace— "will my SG/route actually allow this?" Nobody else has this locally.cloudemu cost/ dashboard panel) — estimate a Terraform apply before touching real cloud.--enforce-iam) using the existing policy evaluator — catch permission bugs locally.Explicit non-goals
AWS_ENDPOINT_URLat it).Relationships
Bottom line
The engine (multi-cloud wire-compat emulation + topology enforcement) is done. The path to "minikube for cloud resources" is a lifecycle CLI + persistence + profiles + dashboard on top of it, plus leaning into topology-reachability and cost simulation as genuine differentiators.
Competitive landscape (researched Aug 2026) & how cloudemu wins
We surveyed the local cloud-emulator market. Nobody offers what cloudemu's engine already does — all three clouds, wire-compatible, in one open-source binary, with a topology engine. The competitors split into three camps:
1. LocalStack — the closest, but AWS-only and heavily paywalled
2. moto — AWS-only, Python-first
3. First-party vendor emulators — siloed, single-service, inconsistent
gcloud beta emulatorsfor Bigtable, Datastore, Firestore, Pub/Sub, Spanner (+ Storage/Functions). IAM, quotas, networking not emulated; several are server-side-only.4. Direct multi-service rivals (narrower than us)
Competitive matrix
features/chaos)services/cost)docs/topology.md)Sharpened positioning
"One open-source binary that emulates AWS, Azure, and GCP — with the resilience (chaos), cost, and network-reachability tooling that today is either paywalled or nonexistent — plus minikube-style lifecycle UX."
The roadmap items above map directly onto competitive gaps: