Vyomi v2.4.0
Tri-Cloud, Every Tier — one conformance contract, best substrate per tier.
Brings the GCP + Azure service parity Nano gained (in-browser WASM cores) up into
Pro/Max on real backends, unifying every tier on a single conformance suite and
native-wire front door, and killing the GCP/Azure implementation drift. Nano is
untouched; everything here is Pro/Max-only and the switchover is opt-in (off
by default), so existing behavior is unchanged.
Added
- Anti-drift conformance gate (
core/persistent_store.py+
test_substrate_matrix.py) — a file-backed (sqlite, bytes-aware) implementation
of every store seam. The shared cores are proven durable across a fresh instance
load on a non-in-memory substrate (incl. the KMS decrypt case), on host and
real Pyodide/WASM. This is what keeps Nano and Pro/Max from diverging. - Real-backend store implementations (Pro/Max only, never vendored to WASM),
each behind the identical seam the in-WASM stores use:MinioBackedObjectStore— S3 + GCS object cores on MinIO (native
google-cloud-storageSDK proven end-to-end; bytes are real MinIO objects).PostgresBackedSqlStore— RDS + Cloud SQL data plane on real Postgres
(RETURNING/SERIAL/ILIKE, fresh-store durable).VaultBackedKeyStore/VaultKmsEngine— KMS + Cloud KMS + KV-keys on Vault
Transit (real crypto; closes the Nano KV-keys real-crypto straggler).NatsBackedMessagingStore— SQS/SNS + Pub/Sub on NATS JetStream.
- Injectable
AwsWireRouter— Nano/relay pass nothing → in-WASM defaults
(unchanged); Pro/Max injects the backed stores. The SAME router serves the Nano
relay and the appliance. - Unified wire ingress (
core/wire_ingress.py) —build_backed_router()wires
one router to the real backends;mount(app)exposes it as a FastAPI catch-all. - IAM decision unification — AWS
SimulatePrincipalPolicy+ GCP
testIamPermissionsmake correct policy decisions on one durableIamStoreseam.
Changed
- Opt-in live switchover (
VYOMI_UNIFIED_INGRESS, default OFF): when set,
the bespoke S3 native-wire catch-all + Azureazure_dataplane/ARM are retired and
native cloud SDKs are served by the unified ingress on real backends. The console
/api/*REST is untouched. Validated live on the appliance: AWS S3 + KMS→Vault and
GCP Storage + KMS→Vault serve through the one ingress. (DynamoDB + Azure Blob live
switchover, GCP native-wire gating, and data-continuity migration are the ongoing
2.4.x work behind the flag.)
Artifacts
- SHA256SUMS
- cloud-learn-0.1.0.tar.gz
- cloud-learn-2.4.0-1.noarch.rpm
- cloud-learn-2.4.0-x64.msi
- cloud-learn-2.4.0-x64.msi.sha256
- cloud-learn-2.4.0.tar.gz
- cloud-learn_2.4.0_all.deb
- vyomi-docker-2.4.0-1.noarch.rpm
- vyomi-docker_2.4.0_all.deb
Docker image: docker pull vyomi/appliance:2.4.0
Install: curl -fsSL https://raw.githubusercontent.com/vyomi-cloud/appliance/main/install.sh | bash
SHA256 checksums: see SHA256SUMS in attached artifacts.