Sign inSign up

vyomi/appliance

By vyomi

•Updated about 24 hours ago

Local multi-cloud simulator — AWS/GCP/Azure with real backends

Image
Developer tools
0

5.3K

vyomi/appliance repository overview

⁠vyomi/appliance

Local multi-cloud simulator. Real SDKs, real CLIs, real backends — no network required.

Source License Docs Pricing

Vyomi gives you AWS, GCP, and Azure-like experiences on your laptop, with cloud-faithful APIs that work with the standard provider SDKs — boto3, aws-sdk-java, google-cloud-*, azure-sdk-for-* — and CLIs — aws, gcloud, gsutil, bq, az, terraform. Override the endpoint, point at http://localhost:9000, your existing code runs.

⁠Quick start

The simulator image is the FastAPI control plane. For a full local stack with the 8 real backend integrations (Vault, NATS, MinIO, Postgres, MySQL, DynamoDB Local, ElasticMQ, fake-gcs-server), use docker-compose.

⁠One-container quick try
docker run --rm -p 9000:9000 vyomi/appliance:latest
# Open http://localhost:9000/pricing

This runs the simulator alone (no real backends). Many services will use in-memory state. For the full experience:

⁠Full stack via docker-compose
git clone https://github.com/vyomi-cloud/appliance && cd appliance
docker compose up -d
# Open http://localhost:9000/pricing

For a hands-off install that provisions a Multipass VM, brings up the full backend stack, and gives you https://vyomi.local/ with a trusted local cert:

brew install vyomi-cloud/tap/vyomi   # macOS
# or .deb / .rpm / scoop — see vyomi.cloud/install
vyomi up

⁠Tags

TagSourceWhen updated
latestlatest GA releaseon every v*.*.* tag (stable only — never pre-releases)
2.0.6, 2.0.5, …specific versiononce, immutable
edgemanual workflow_dispatch from mainonly when explicitly run
sha-<short>specific commitonly on manual dispatch

Use a pinned version (vyomi/appliance:2.0.6) in production. latest is OK for dev/CI.

Also published to GHCR at ghcr.io/vyomi-cloud/appliance if you prefer pulling from GitHub.

⁠Architectures

Built for linux/amd64 and linux/arm64. Apple Silicon (M1/M2/M3/M4) and AWS Graviton both supported natively (no QEMU emulation).

⁠Environment variables

VariableDefaultPurpose
CLOUDLEARN_STATE_FILE/data/cloudlearn_state.pklPersisted state file (mount /data for durability)
CLOUDLEARN_LICENSE_TIERfreePre-seed a tier on first boot
CLOUDLEARN_VAULT_URLhttp://cloudlearn-vault:8200Real Vault sidecar (for KMS + Secrets)
CLOUDLEARN_NATS_URLnats://cloudlearn-nats:4222Real NATS broker (for eventing)
CLOUDLEARN_MINIO_URLhttp://cloudlearn-minio:9000Real MinIO (for S3 bytes)
CLOUDLEARN_BUDGET_BYPASS(unset)Set 1 to disable host-budget enforcement
VYOMI_INSTALL_ID(auto)Pre-issued install id from the package-manager phone-home; the simulator adopts it so the install funnel stays continuous

CLOUDLEARN_* env names are kept for backward compatibility from the pre-rebrand v1.x line; the VYOMI_* aliases work identically.

Full env reference: .env.example⁠

⁠What's inside

  • Python 3.14 (slim base)
  • Node.js 20+ (for Cloud Functions exec)
  • ~150 MB compressed
  • Multi-stage build (no compiler toolchain in final image)
  • Non-root runtime user (cloudlearn:cloudlearn)
  • Health-check baked in (/healthz)

⁠Useful endpoints

After boot:

⁠Documentation

Full docs, architecture diagrams, conformance reports, release notes:

⁠Support

⁠License

Business Source License 1.1 — free for development, evaluation, and most production use. See LICENSE⁠ for the change-date / change-license terms. Contact [email protected] for commercial questions.

Tag summary

Content type

Image

Digest

sha256:1d7558047…

Size

165.6 MB

Last updated

about 24 hours ago

docker pull vyomi/appliance