Use case
I'd love to use cloudemu the way minikube is used for Kubernetes: run it as a long-lived local process that my app's separate, real service processes point their cloud SDK clients at — so live flows (e.g. resource discovery) actually run against cloudemu and results show up in the app's own UI, end-to-end, with no real cloud.
Today this isn't quite reachable out of the box, and the docs intentionally scope cloudemu to in-process test usage (httptest.NewServer, "keep in _test.go", "never import from production"). That's perfect for tests — this is an additive ask for a local dev-cloud mode.
What's missing for the minikube-style flow
- A standalone runner — there's no
cmd/ / no ListenAndServe anywhere, so each user must hand-roll http.ListenAndServe(":port", azureserver.New(Drivers{...})). A first-class cloudemu serve (per-provider, stable configurable ports) would be the minikube start equivalent.
- TLS for a real listener — the Azure SDK requires HTTPS; in tests
httptest.NewTLSServer auto-certs. A standalone server needs a self-signed cert + a documented trust path (CA file, or an insecure-skip-verify flag) for out-of-process clients.
- A documented, stable auth/cloud-config story for external clients — i.e. how to point
azcore's cloud.Configuration (ResourceManager endpoint + authority/token endpoint) at the running server. There are already login.microsoftonline/GetToken references internally; exposing the token/authority endpoint as a stable, documented standalone endpoint (so azidentity against a fake cred just works over the network) would close the loop. Same idea for AWS/GCP auth.
- State seeding + optional persistence — state is in-process memory, so a freshly-started server is empty. A way to seed resources at startup (config file / admin API) and optionally persist across restarts — like minikube's persistent cluster — so discovery flows find something.
- An endpoints/“cloud-config” bundle — the kubeconfig equivalent: one artifact listing the emulated endpoints so an app can be pointed at the whole emulated cloud at once.
Why it's valuable
This turns cloudemu from an excellent in-process test double into a full local dev cloud for multi-service apps — you could bring up your real services against it and exercise live, UI-visible workflows without real accounts or Docker. The existing test-only mode stays exactly as is.
Totally understand if this is out of scope vs. the library's focus — wanted to capture the use case. Thanks!
Use case
I'd love to use cloudemu the way
minikubeis used for Kubernetes: run it as a long-lived local process that my app's separate, real service processes point their cloud SDK clients at — so live flows (e.g. resource discovery) actually run against cloudemu and results show up in the app's own UI, end-to-end, with no real cloud.Today this isn't quite reachable out of the box, and the docs intentionally scope cloudemu to in-process test usage (
httptest.NewServer, "keep in_test.go", "never import from production"). That's perfect for tests — this is an additive ask for a local dev-cloud mode.What's missing for the minikube-style flow
cmd// noListenAndServeanywhere, so each user must hand-rollhttp.ListenAndServe(":port", azureserver.New(Drivers{...})). A first-classcloudemu serve(per-provider, stable configurable ports) would be theminikube startequivalent.httptest.NewTLSServerauto-certs. A standalone server needs a self-signed cert + a documented trust path (CA file, or an insecure-skip-verify flag) for out-of-process clients.azcore'scloud.Configuration(ResourceManager endpoint + authority/token endpoint) at the running server. There are alreadylogin.microsoftonline/GetTokenreferences internally; exposing the token/authority endpoint as a stable, documented standalone endpoint (soazidentityagainst a fake cred just works over the network) would close the loop. Same idea for AWS/GCP auth.Why it's valuable
This turns cloudemu from an excellent in-process test double into a full local dev cloud for multi-service apps — you could bring up your real services against it and exercise live, UI-visible workflows without real accounts or Docker. The existing test-only mode stays exactly as is.
Totally understand if this is out of scope vs. the library's focus — wanted to capture the use case. Thanks!