HydraCache 0.61.0
HydraCache 0.61.0
0.61.0 completes the cluster-elasticity and quality slice over the
0.60.0 networked grid hardening release. It closes the remaining TD-0011
late-start daemon join gap, proves the operator replica-to-voter claim in the
kind-gated live path, narrows the chaos-injector claim to honest prerequisites,
and turns the TD-0009 coverage ratchet into a scheduled gate with a clean
post-release baseline.
The release does not introduce a new consensus algorithm. It reuses the shipped
raft-rs runtime and the 0.60.0 dynamic membership path; local/client modes
remain modeled, the embedded fast path stays unchanged, and autoscaling policy,
joint consensus/learners, log compaction, and snapshot catch-up remain outside
this release.
Highlights
- Added explicit daemon start intent with
cluster_start = bootstrap|join,
restart-safe durable-log precedence, configurable join timeout, and routable
advertised cluster endpoints for non-loopback deployments. - Added a fallible joining runtime path that never fabricates itself into the
initial voter set. A late-start daemon now announces itself before cache
startup, folds gossip endpoint hints into raft routing, waits until a leader
is known and the node is present in the voter set, and fails loud if the
cluster cannot be joined. - Reused the
0.60.0leader-side voter synchronization for promotion/removal
instead of adding a second membership mechanism. - Hardened the Kubernetes operator scale path: bootstrap replica count is
preserved once, pod identity is ordinal-aware, advertised endpoints are
routable, later StatefulSet pods start in join mode, and scale3->4->3
moves raft voters through deployed daemons. - Added the falsifiable operator contrast that a pod crash does not shrink the
raft voter set. - Narrowed the kind chaos injector honestly: NetworkPolicy partition tests
require a CNI enforcement probe, and slow-disk IOChaos requires the
Chaos Mesh CRD. Unsupported local environments skip loud instead of passing
wrong-but-green. - Closed TD-0009 with targeted fast tests, thin-entrypoint documentation, and a
scheduledcargo llvm-cov --workspace --all-targets --locked --summary-only --fail-under-lines 88ratchet. The floor is a mechanical CI gate, not a
numeric self-score. - Marked TD-0011 and TD-0009 resolved only after their release gates had
evidence.
Verification
Focused release gates:
cargo test -p hydracache-cluster-raft --locked
cargo test -p hydracache-server --locked grid_host
cargo test -p hydracache-operator --locked
cargo xtask doc-check
cargo xtask verifyNetworked daemon join proof recorded for TD-0011:
$env:HYDRACACHE_RUN_NETWORKED_DAEMON_E2E='1'
cargo test -p hydracache-server --test grid_host multi_node --locked -- --nocaptureLive operator scale proof recorded for TD-0011:
$env:PATH="$env:USERPROFILE\go\bin;$env:PATH"
$env:CARGO_TARGET_DIR='target\td0011-cargo-target'
$env:HYDRACACHE_OPERATOR_KIND='1'
$env:HYDRACACHE_OPERATOR_IMAGE='hydracache-server:td0011-0.61'
$env:HYDRACACHE_OPERATOR_NAMESPACE='default'
$env:HYDRACACHE_OPERATOR_CLUSTER='hydracache-td0011'
cargo test -p hydracache-operator --test e2e kind_ --locked -- --nocaptureResult recorded in TD-0011: 3 passed; 0 failed; finished in 41.08s.
Coverage ratchet gate:
cargo llvm-cov --workspace --all-targets --locked --summary-only --fail-under-lines 88Clean post-release baseline:
- Regions: 87.07%
- Functions: 85.36%
- Lines: 88.14%
Final release checks:
cargo xtask verify
cargo test --workspace --locked -j 1
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\verify-release-readiness.ps1 -Version 0.61.0
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\verify-crates-io-consumer.ps1 -Version 0.61.0cargo xtask verify passed with the management console step skipped because
npm was not available in the local environment.
Scope Boundary
0.61.0 makes the networked grid growable through explicit daemon join and the
operator scale path. It is not an autoscaler, not a replacement for Kubernetes
network policy, and not a claim that all chaos modes are available on every kind
cluster. Network partition evidence requires a NetworkPolicy-enforcing CNI, and
slow-disk evidence requires Chaos Mesh IOChaos.
Release Status
Published as 0.61.0; the workspace crates were released to crates.io in the
documented publish order and the post-publish external consumer check passed
against the crates.io artifacts.