Architectural decisions, design records (ADRs), system specifications, and structural evolution behind momo’s distributed object store.
Replicas must not ride in the same rack: CRUSH weights become rack/zone/DC-aware so a single domain failure canβt lose the data.
Phase-0 profiling harness via go test -cpuprofile/-memprofile; Rule 75 forbids networked pprof on unauthenticated listeners. The baseline proved stdlib SHA-256 already uses AVX2.
Adaptive behaviors use compile-time Go interface seams injected at decision points β not dynamic plugins. The fast path stays concrete; the trust core stays auditable; policy is declarative.
Prometheus metrics export with a per-node metrics_host/metrics_port bind β observability that scales past the βjust scrape node 0β era.
How momo manages encryption keys without a central secret server: a pluggable provider chain (env, then config file), a per-node versioned key registry in local storage, and rotation that promotes a new key without any downtime. Teaches: why a provider chain beats a single source, how key versioning enables online rotation, and when rotation is and is not worth the complexity.
How momo isolates tenants without a central secret server: HKDF-derived per-tenant keys, default-deny ACLs evaluated per request, and a SHA-256 hash-chained audit log that makes tampering detectable. Teaches: key derivation vs. key storage, why ACL evaluation order matters, and how hash chaining turns a log into evidence.
R5 Phases 2-4 shipped: storage metrics (disk, CAS, GC), P2P metrics (SWIM, leases, scatter-gather), and opt-in latency histograms β all with <1% overhead via sync/atomic counters.
After R1βR4: the P0 hardening done, the P1/P2 tracks (metrics, HA metadata, auth, secrets, S3 breadth) and the research reading guide that seeded it all.
CAS keys make verify-on-read free: central verification, x-amz-checksum echo, tombstone GC, and corruption surfacing.
S3 integrity checksums moved from a surface-level adapter into the storage/ingest core via a protocol-agnostic ChecksumProvider seam β every write path verified, replicas re-verify on receive.