Prior art & foundations
Wyrd did not appear from nowhere. Its shape descends from a known lineage of distributed storage systems, it was designed in deliberate contrast to its closest open-source sibling, and it consumes well-solved commodity primitives rather than reinventing them. The sources below are grouped by the role each played.
Architectural lineage
The systems whose architecture Wyrd follows: metadata and bulk data kept separate, dumb storage servers, intelligence in a thick client and background maintenance services, a single metadata commit as the point of atomicity.
- Colossus — Google's file system — The canonical public description of the architecture Wyrd descends from: a horizontally scalable metadata service (Curators), dumb “D” file servers, client-side erasure coding, and a direct client-to-server data path.
- Colossus — data placement — The companion post on how Colossus places and tiers data across storage media for performance and cost.
- Tectonic — Meta's exabyte-scale filesystem (FAST '21) — The strongest single influence on Wyrd's metadata model. Its layered metadata schema and the authors' account of what they would do differently directly informed the inode/dirent design and the choice of a multi-key-transactional metadata store (see ADR-0008).
- Tectonic — paper (PDF) — The full paper.
Prior art we studied
Systems we engaged with seriously — the closest sibling, and the incumbents the “why not just harden the existing thing?” question must be answered against.
- Garage / Deuxfleurs — The most mission-aligned open-source sibling: Rust, sovereign, self-hostable, geo-distributed, publicly funded. Garage makes the opposite core trade-offs — eventual consistency with CRDTs and whole-copy replication, by deliberate design — where Wyrd chooses strong consistency, a linearizable commit point, and erasure coding. Kindred in values, complementary in design.
- Garage — design goals — Their goals page, which states the no-erasure-coding, no-POSIX, eventual-consistency non-goals explicitly — the clearest evidence of where Wyrd's design center diverges.
- Garage — source
- Garage — NLnet/NGI grant — A model for the European sovereign-infrastructure funding path.
Conceptual influences
Ideas, not systems, that shaped specific decisions.
- Delta Lake — The commit-point idea in a different domain: a single linearizable metadata operation makes a write visible, with data staged invisibly beforehand — the conceptual ancestor of Wyrd's atomic commit.
Foundations we build on
The hard, well-solved commodity primitives Wyrd consumes rather than rebuilds. The novelty budget is spent on the commit protocol, not on re-solving consensus or transactional storage.
- Rust — The implementation language for all v1 components: memory safety and no GC tail latency in the paths where bugs become silent corruption, plus access to the Rust deterministic-simulation-testing ecosystem (see ADR-0004).
- Protocol Buffers + gRPC — The versioned wire-contract foundation for internal services. Wyrd defines protobuf contracts and uses the Rust
tonic/proststack so components can be replaced behind stable RPC boundaries (see ADR-0010 and architecture §8.6). - etcd — Coordination: service discovery, leader election, locks with fencing (see ADR-0006).
- TiKV — The default L2 metadata backend (Apache-2.0, CNCF), behind the
MetadataStoretrait; native multi-key transactions are why it was chosen over an HBase-style store. TiDB adds a SQL surface on the same engine; YugabyteDB or PostgreSQL are alternatives behind the trait (see ADR-0008). - redb — The embedded metadata backend for the single-binary and local profiles: small, Rust-native, and deliberately replaceable behind the same
MetadataStoreseam as TiKV (see ADR-0008). - step-ca / Smallstep — The production internal CA chosen for the mTLS fabric now: self-hosted, short-lived, auto-rotated certificates without paying SPIRE's operational cost before fleet scale (see ADR-0036).
- SPIFFE / SPIRE — The reserved workload-identity upgrade path. Wyrd shapes service identities like SPIFFE IDs from day one, but keeps the full SPIRE server/agent topology deferred until secret-less workload attestation is worth the operational weight (see ADR-0025 and ADR-0036).
- OpenTelemetry — The single instrumentation commitment; storage and visualization backends stay the operator's choice (see ADR-0012).
- Prometheus — The scrape-compatible observability edge Wyrd exposes alongside OTLP, and part of the recommended reference stack; the binary still hardcodes no telemetry storage backend (see ADR-0012).
- madsim — Deterministic simulation testing for async Rust (see ADR-0009).
- turmoil — Deterministic network simulation for testing (see ADR-0009).
- reed-solomon-simd — The erasure-coding library used in the client data path (see ADR-0004).
- CRC32C — The default fragment and header checksum for the v1 chunk format: fast, hardware-accelerated integrity checking for reads and scrub, with cryptographic integrity reserved separately (see ADR-0019).