denoland/celldPublic

self-hosted, distributed Durable Objects

v0.1.0

Load shedding is rebuilt. The resident-cell limit is now a hard cap enforced at
admission, and pressure shedding is driven by RSS and CPU alone. RSS shedding is
on by default at 80% of available memory (the cgroup limit in containers); set
CELLD_MAX_RSS_MB to pin the ceiling, or 0 to disable. A full node declines new
placements instead of evicting a resident, one queued placement costs at most
one eviction, and a walk-down that stops returning memory halts instead of
emptying the node. CELLD_RESIDENT_LOW_WATER is now ignored.

Proxied responses stream between nodes; a truncated upstream body aborts the
read instead of buffering into an error. The replicator seeds its position at
activation, ending a listing storm on rate-limited stores. macOS nodes report
real memory usage. celld is relicensed Apache-2.0.
RDRyan Dahl authored
553ae73Patch
Parent1d3f5bd
57 files changed+2883-4267
StackedSplit
Cargo.lock+81 โˆ’1074
Cargo.toml+71 โˆ’0
Dockerfile+5 โˆ’36
LICENSE+202 โˆ’21
README.md+10 โˆ’16
crates/celld/Cargo.toml+45 โˆ’51
crates/celld/assets.rs+27 โˆ’48
crates/celld/asyncrt.rs+2 โˆ’0
crates/celld/bucket.rs+379 โˆ’0
crates/celld/control_plane.rs+108 โˆ’172
crates/celld/dead_node_gc.rs+74 โˆ’130
crates/celld/deploy.rs+38 โˆ’89
crates/celld/fault.rs+12 โˆ’39
crates/celld/fleet.rs+104 โˆ’155
crates/celld/js.rs+36 โˆ’28
crates/celld/lib.rs+9 โˆ’5
crates/celld/ltx_repl.rs+52 โˆ’34
crates/celld/main.rs+438 โˆ’361
crates/celld/ownership_store.rs+74 โˆ’164
crates/celld/peer_auth.rs+21 โˆ’32
crates/celld/peer_probe.rs+2 โˆ’0
crates/celld/protocol.rs+2 โˆ’0
crates/celld/replication.rs+16 โˆ’1047
crates/celld/runtime.rs+60 โˆ’131
crates/celld/startup.rs+3 โˆ’1
crates/celld/storage.rs+6 โˆ’3
crates/celld/wake.rs+36 โˆ’77
crates/celld/ws_client.rs+206 โˆ’0
crates/logic/Cargo.toml+2 โˆ’2
crates/logic/alarm.rs+2 โˆ’0
crates/logic/cache.rs+2 โˆ’0
crates/logic/dead_node_reconciliation.rs+2 โˆ’0
crates/logic/lib.rs+62 โˆ’28
crates/logic/peer.rs+2 โˆ’0
crates/logic/pressure.rs+48 โˆ’87
crates/logic/restore.rs+16 โˆ’23
crates/logic/routing.rs+2 โˆ’0
crates/logic/schedule.rs+2 โˆ’0
crates/logic/sqlite.rs+2 โˆ’0
crates/logic/wake.rs+13 โˆ’5
crates/ltx/Cargo.toml+16 โˆ’17
crates/ltx/README.md+1 โˆ’1
crates/ltx/src/client/object_store.rs+2 โˆ’2
crates/ltx/src/replica.rs+187 โˆ’5
crates/ltx/tests/differential_xtool.rs+1 โˆ’1
crates/ltx/tests/faults_inject.rs+1 โˆ’1
crates/ltx/tests/fuzz_parsers.rs+2 โˆ’2
crates/ltx/tests/integration_file.rs+1 โˆ’2
crates/ltx/tests/integration_resilience.rs+1 โˆ’1
crates/ltx/tests/property_roundtrip.rs+2 โˆ’2
docs/README.md+94 โˆ’77
docs/cloudflare-compat.md+95 โˆ’92
docs/limitations.md+35 โˆ’45
docs/security.md+29 โˆ’26
docs/simulations.md+0 โˆ’93
docs/support.md+0 โˆ’41
docs/testing.md+142 โˆ’0