Skip to content

eggchaos v0.2.0

Latest

Choose a tag to compare

@dbowm91 dbowm91 released this 01 Oct 23:09
· 40 commits to main since this release

eggchaos v0.2.0

Rust-native fixed-target chaos proxy with deterministic fault engines.

What is new since v0.1.0

  • UDP/datagram chaos: fixed-target UDP listeners with per-client
    associations, whole-datagram delay/jitter/loss/duplication/
    reorder-by-hold/corruption/bandwidth, native
    /v1/datagram-proxies + /v1/datagram-associations, TOML
    [[datagram_proxies]], CLI datagram commands.
  • Deterministic Scenario V2 schedules: bounded source language,
    deterministic compiler to an inspectable event tape, SHA-256
    schedule fingerprint, epoch-anchored deadlines. ScenarioV1 stays
    a compatibility surface.
  • Consumer-neutral experiment substrate: eggchaos-eggfetch
    composes over any caller-selected Dialer; eggchaos-experiment
    owns Scenario V2 semantics with prepare/arm/start and one shared
    monotonic epoch.
  • Remote control SDK sources: stdlib-only Python sync/async and
    zero-dep TypeScript clients over the exact native /v1 contract
    (36 operations), drift-checked from the OpenAPI contract.
  • Python native embedding pilot (alpha): safe eggchaos-embed
    facade plus PyO3/maturin eggchaos-native pilot (abi3). No
    generic C ABI.
  • Deterministic stream-loss / opt-in post-v2.12 packet_loss:
    native stream-loss is fragmentation-independent 32 KiB
    logical-grain loss with burst correlation. Strict Toxiproxy v2.12
    stays default/frozen; post-v2.12 spelling is opt-in, pinned to
    upstream 40f7fd31.
  • Security/dependency hardening: SHA-pinned CI/release actions,
    least-privilege permissions, scheduled audit + PR review +
    Dependabot, Sigstore attestations on binaries (checksums remain
    primary), SECURITY.md reporting policy.

Full notes: docs/release-notes-v0.2.0.md at tag v0.2.0.

Boundaries (unchanged)

  • Fixed-target proxy only: never a forward proxy, no TLS
    interception/MITM, no IP-layer impairment.
  • Native userspace stream-loss is byte-chunk dropping, not IP/TCP
    packet loss.
  • Native HTTP stays /v1 (36 ops); config schema stays v1;
    SplitMix64-v1 seeds; MSRV Rust 1.89+.

Install

  • Rust: cargo install eggchaos-cli --version 0.2.0 --locked
  • Libraries: eggchaos-core, eggchaos-experiment,
    eggchaos-eggfetch, eggchaos-protocol, eggchaos-server,
    eggchaos-toxiproxy, eggchaos-cli, eggchaos-embed (all
    0.2.0 on crates.io).
  • Binaries: five targets below, each with a SHA-256 sidecar;
    verify with shasum -a 256 -c <file>.sha256. Sigstore
    provenance verifiable via
    gh attestation verify <binary> --repo eggstack/eggchaos.

Language packages

Deferred in this release by explicit owner decision: eggchaos-client
(PyPI — name unclaimed, no implicit namespace allocation),
@eggstack/eggchaos-client (npm), eggchaos-native (alpha, no
release-grade wheel matrix). Sources at this tag stay 0.2.0-aligned.