deploy slice C+D+E (binary features): rustls Phase 1 + /metrics + ValkeyEventSink (#25)

Co-authored-by: Aaron D. Lee <himself@adlee.work>
Co-committed-by: Aaron D. Lee <himself@adlee.work>
This commit was merged in pull request #25.
This commit is contained in:
2026-07-06 14:58:43 +00:00
committed by A.D.Lee
parent 0c307acdb5
commit 838ecdf5e6
19 changed files with 1732 additions and 20 deletions

View File

@@ -75,6 +75,33 @@ toml = "0.8"
# Already in Cargo.lock transitively (via reqwest) — this adds only the
# direct edge; MIT/Apache-2.0, cargo-deny clean.
ipnet = "2"
# axum-server 0.8: in-process TLS listener for rustls Phase 1 (deploy spec §5.4). Consumes
# rustls 0.23 + tokio-rustls 0.26 (already in Cargo.lock transitively via str0m → aws-lc-rs
# at 0.23.41 / 0.26.4 — verified). The tls-rustls feature enables
# axum_server::tls_rustls::{RustlsConfig, RustlsAcceptor}. MIT license — cargo-deny-clean.
axum-server = { version = "0.8", features = ["tls-rustls"] }
# rustls 0.23: TLS implementation consumed transitively by axum-server's tls-rustls
# feature. Already in Cargo.lock at 0.23.41 via str0m → aws-lc-rs; this surfaces the
# direct edge for the integration test's ClientConfig. Apache-2.0 / MIT / ISC,
# cargo-deny clean.
rustls = { version = "0.23", default-features = false, features = ["aws-lc-rs", "ring"] }
# tokio-rustls 0.26: tokio integration for rustls. Already in Cargo.lock at 0.26.4
# (transitive once Task 1's Cargo.lock resolves). Used by the serve_tls integration
# test's TLS client handshake.
tokio-rustls = { version = "0.26", default-features = false, features = ["aws-lc-rs", "ring"] }
# redis 0.27: Valkey/Redis client for ValkeyEventSink (deploy spec §5.6).
# BSD-3-Clause (verified via docs.rs/redis + crates.io API), cargo-deny clean against
# the deny.toml allow list (line 88). Pinned to 0.27 (NOT 1.3.0) because redis 1.3.0
# requires Rust 1.88, conflicting with the workspace MSRV of 1.85
# (rust-toolchain.toml). redis 0.27.6 has MSRV 1.70, well within 1.85.
# Features:
# - aio: async API (ConnectionManager, AsyncCommands)
# - streams: XADD MAXLEN ~ (the capped-stream primitive, StreamMaxlen::Approx)
# - tokio-comp: tokio runtime adapter
# Used only by crates/rutster/src/valkey_sink.rs. default-features = false deliberately DROPS
# the redis crate's TLS feature — TLS to Valkey is the operator's network posture
# (ADR-0005 sub-ms rule), not a rutster code path.
redis = { version = "0.27", default-features = false, features = ["aio", "streams", "tokio-comp"] }
# rcgen NOTE: rcgen 0.14.8 bumped MSRV to Rust 1.88, breaking the 1.85
# toolchain matrix. rcgen is a transitive dep via dimpl → str0m 0.21 →
# rutster-media. Cargo.lock pins it to 0.14.7 (the minimum satisfying