Skip to content

v0.7.0 — emulator conformance + runnable failure scenarios

Choose a tag to compare

@pingedbrain pingedbrain released this 08 Oct 23:30
· 29 commits to main since this release

What's new

Emulator conformance — fidelity conform

microburst fidelity capture --endpoint-url <emulator> replays the same 28 probes against any AWS-compatible endpoint, and microburst fidelity conform --emu DIR --aws DIR diffs the captures against the committed real-AWS goldens on the fields SDKs actually read: HTTP status, parsed Error.Code, and Content-Type. Emulators (or gateways, proxies, test doubles) can gate on AWS wire similarity with zero AWS credentials.

First run against a real emulator found 21/28 divergences — systematic Content-Type drift, error codes that don't parse, and requests routed to the wrong service.

Runnable failure scenarios — examples/

Seven self-contained examples for end users, each with a chaos.yml + runnable app.py:

Example Failure story
01-throttled-writes DynamoDB ProvisionedThroughputExceededException at 40% — SDK retries vs hard failure
02-timeout-cascade App timeout shorter than the SDK retry budget — the sleeper bug
03-poison-queue SQS receive/delete flakiness — idempotent consumers, duplicate delivery
04-s3-slowdown-uploads SlowDown@503 + bandwidth cap on large uploads
05-stream-cut Mid-frame event-stream truncation + terminal errors
06-expired-token ExpiredTokenException bursts — does the app refresh credentials?
07-http-dependency Latency/reset/timeout over arbitrary HTTP, no service matcher needed

A test keeps every shipped config parseable against the rule DSL.

Install

pip install microburst
# or
docker run -p 9999:9999 ghcr.io/pingedbrain/microburst:v0.7.0

Full changelog: CHANGELOG.md