v2.4.0
Release Notes — v2.4.0
✨ Features
Point a real aws-sdk-go-v2 / Azure / OCI SDK (or its CLI) at cloudemu and these services respond with full operation parity — atomic creates, typed exceptions, and deep-copied reads throughout.
AWS — Security & Compliance
- KMS — customer keys with real cryptography: AES-256-GCM encrypt/decrypt, RSA/ECC sign & verify, HMAC, data keys, key rotation, aliases, grants, and imported key material.
- ACM — certificate manager issuing genuine self-signed X.509 (RSA-2048/SHA-256), import/export, renewal, revocation, and DNS-validation records.
- WAFv2 — Web ACLs, IP sets, rule groups, and regex pattern sets with LockToken optimistic concurrency and REGIONAL/CLOUDFRONT scoping.
- CloudTrail — trails with logging status, event data stores, channels, dashboards, event/insight selectors, and CloudTrail Lake queries.
- AWS Config — configuration & recording (configuration recorders, delivery channels), Config rules, conformance packs, aggregators, stored queries, and the
SelectResourceConfig/SelectAggregateResourceConfigquery surface.
AWS — Data, Analytics & Streaming
- Kinesis Data Streams — shards with real MD5 hash-key routing, monotonic sequence numbers, shard iterators, resharding, and enhanced fan-out consumers (incl.
SubscribeToShard). - OpenSearch Service — domains (config, versions), packages, VPC endpoints, data sources, applications, and cross-cluster connections.
- Glue — the Data Catalog (databases, tables, partitions, connections, user-defined functions), crawlers, ETL jobs/triggers/workflows, ML transforms, and the Schema Registry.
AWS — Storage, Email & Orchestration
- EFS — elastic file systems with mount targets, access points, and lifecycle / backup / replication policies.
- SES v2 — email sending with identities, configuration sets, templates, and suppression lists.
- Step Functions — state machines, executions + history, versions/aliases, and activities.
AWS — Networking & Connectivity
- VPC Lattice — 73-operation SDK-compat parity (service networks, services, listeners, target groups, rules).
- Route 53 Resolver — resolver endpoints, rules, and rule associations.
OCI (Oracle Cloud Infrastructure) — new provider
cloudemu gains a third cloud: a new OCI provider foundation (OCIDs, work requests, and the shared wire layer) plus its first three services.
- Identity — users, groups, policies, and compartments.
- Monitoring — metrics and alarms.
- VCN (Virtual Cloud Network) — networks, subnets, route tables, gateways, and security lists.
Standalone emulator & operations
Run cloudemu as a real background service with durable state.
- Lifecycle CLI — start / stop / status / logs / delete the emulator as a daemon.
- State persistence — state survives restarts (snapshot on stop, restore on start).
- Cloud snapshots — save / load / list named state snapshots on demand.
- Init hooks — auto-seed fixtures on boot.
- Topology CLI — check reachability with
net can-connect/trace. - Cost preview — per-SKU, per-region monthly cost estimate.
Resource discovery & capability docs
- Resource discovery (Workstream A) — the resources cloudemu already emulates (relational DB, Kubernetes, load balancers, cache, container registry, queues/notifications, secrets, DNS, IAM, networking sub-types, ML/GenAI, monitoring) now surface through Resource Explorer 2 / Resource Graph / Cloud Asset inventory APIs.
- Generated capability coverage —
docs/coverage/(+ rootllms.txt/AGENTS.md) is generated from the driver interfaces viago generate, so the published capability index can't drift from the code.
🔧 Enhancements
Repository structure & tooling
- Role-based layout & naming convention — a
services/(drivers) ·providers/·server/split that keeps each SDK-compat service a self-contained, drop-in package.
Technical Details
New AWS SDK-compat services (#369, #370, #371, #372, #373, #374, #375, #380, #381, #386, #387)
- #369 KMS, #370 EFS, #371 ACM, #372 Kinesis Data Streams, #373 SES v2, #374 WAFv2, #375 Step Functions, #380 OpenSearch Service, #381 CloudTrail, #386 AWS Config, #387 Glue — each with full
aws-sdk-go-v2operation parity,SetIfAbsentatomic creates,driver.APIErrortyped exceptions resolved viaerrors.As, deep-copied reads (race-clean), deterministicClock/idgen, and real-SDK roundtrip tests.
Standalone emulator & operations (#335: #336, #337, #338, #339, #340, #341)
- #336 lifecycle CLI (start/stop/status/logs/delete), #337 state persistence (snapshot on stop / restore on start), #338 cloud snapshots (named save/load/list), #339 init hooks (seed fixtures on boot), #340 topology CLI (
net can-connect/trace), #341 cost preview (per-SKU, per-region monthly estimate).
Discovery, coverage docs & new surfaces (#365, #382/#313, #384, #331, #328, #342, #366, #367, #368)
- #365 Resource Discovery Workstream A — walkers + type mappings so already-emulated resources appear in RE2 / Resource Graph / Cloud Asset.
- #382 (#313) generated capability-coverage docs (
docs/coverage/,coverage.json,llms.txt,AGENTS.md) viago generate. - #384 coverage-generator fix — networking now resolves to the full
Networkingdriver instead of the narrowerNetworkInterfacescapability, so the generated coverage index reports it accurately. - #331 VPC Lattice (73 ops), #328 Route 53 Resolver, #342 OCI provider foundation (identity, OCIDs, work requests, wire layer).
- #367 OCI Identity (users, groups, policies, compartments), #366 OCI Monitoring (metrics + alarms), #368 OCI VCN (networks, subnets, gateways, security lists) — the first OCI services on the #342 foundation.
Full Changelog: v2.3.0...v2.4.0