Skip to content

Releases: eggstack/eggchaos

eggchaos v0.2.0

Choose a tag to compare

@dbowm91 dbowm91 released this 01 Oct 23:09

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.

eggchaos v0.1.0

Choose a tag to compare

@dbowm91 dbowm91 released this 24 Sep 04:07

Rust-native fixed-target chaos proxy with deterministic byte-stream fault engine.

Install: cargo install eggchaos-cli --version 0.1.0

Libraries: eggchaos-core, eggchaos-server, eggchaos-toxiproxy, eggchaos-eggfetch (all 0.1.0 on crates.io).

Binaries: attached per-target builds with SHA-256 (linux x86_64/aarch64, macos x86_64/aarch64, windows x86_64).

Qualification on this tag: CI success, Release qualification success (release-smoke, fuzz, pinned Toxiproxy v2.12.0 oracle differential, Eggfetch H1/H2, artifact smoke, audit/deny). See workflow runs on tag v0.1.0.

Docs: README quick start, docs/architecture.md, docs/configuration.md, docs/control-plane.md, docs/toxiproxy.md, docs/eggfetch.md. Requires Rust 1.89+. License: MIT.