@@ -20,10 +20,9 @@ categories = ["development-tools"]
2020exclude = [" .claude/" , " .github/" , " ci/" , " ai/" , " docs/" , " examples/" , " benches/" , " scripts/" ]
2121
2222[features ]
23- default = [" config" , " logger" , " metrics" , " env " , " runtime" ]
23+ default = [" config" , " logger" , " metrics" , " runtime" ]
2424
2525# Core features
26- env = []
2726runtime = [" dirs" ]
2827config = [" figment" , " dotenvy" , " serde_yaml_ng" , " serde_json" , " toml" , " dirs" , " tracing" ]
2928logger = [" tracing" , " tracing-subscriber" , " owo-colors" , " serde_json" , " tracing-throttle" ]
@@ -42,13 +41,13 @@ directory-config = ["serde_yaml_ng", "tokio", "tracing", "fs4"]
4241directory-config-git = [" directory-config" , " git2" ]
4342
4443# Extended features (P2)
45- http = [" reqwest" , " reqwest-middleware" , " reqwest-retry" ]
44+ http = [" reqwest" , " reqwest-middleware" , " reqwest-retry" , " serde_json " ]
4645http-server = [" axum" , " tower" , " tower-http" , " tokio" ]
4746spool = [" yaque" , " zstd" ]
4847tiered-sink = [" yaque" , " zstd" , " lz4_flex" , " snap" , " tokio" , " tower-resilience" , " libc" ]
4948resilience = [" tower-resilience" , " tower" ]
50- database = []
51- cache = []
49+ database = [" serde_json " ]
50+ cache = [" moka " , " serde_json " ]
5251
5352# Cgroup-aware memory backpressure (OOM prevention)
5453memory = [" sysinfo" , " tracing" ]
@@ -101,7 +100,7 @@ secrets-aws = ["secrets", "aws-config", "aws-sdk-secretsmanager"]
101100secrets-all = [" secrets-vault" , " secrets-aws" ]
102101
103102# Full feature set
104- full = [" config" , " config-reload" , " logger" , " metrics" , " metrics-dfe" , " otel" , " otel-metrics" , " env " , " runtime" , " http" , " http-server" , " spool" , " tiered-sink" , " resilience" , " database" , " cache" , " transport-all" , " transport-grpc-vector-compat" , " secrets-all" , " directory-config" , " directory-config-git" , " deployment" , " version-check" , " scaling" , " memory" , " cli" , " io" , " dlq" , " dlq-kafka" , " output-file" , " expression" ]
103+ full = [" config" , " config-reload" , " logger" , " metrics" , " metrics-dfe" , " otel" , " otel-metrics" , " runtime" , " http" , " http-server" , " spool" , " tiered-sink" , " resilience" , " database" , " cache" , " transport-all" , " transport-grpc-vector-compat" , " secrets-all" , " directory-config" , " directory-config-git" , " deployment" , " version-check" , " scaling" , " memory" , " cli" , " io" , " dlq" , " dlq-kafka" , " output-file" , " expression" ]
105104
106105[dependencies ]
107106# Serialisation (always needed)
@@ -158,10 +157,14 @@ sysinfo = { version = ">=0.38.0, <0.39", optional = true }
158157# Async runtime (for metrics server, http-server)
159158tokio = { version = " >=1.50.0, <2" , features = [" rt-multi-thread" , " net" , " sync" , " time" , " macros" , " signal" , " fs" ], optional = true }
160159
161- # HTTP client (P2)
162- reqwest = { version = " >=0.12, <0.14" , features = [" json" , " blocking" ], optional = true }
163- reqwest-middleware = { version = " >=0.5, <0.6" , optional = true }
164- reqwest-retry = { version = " >=0.7, <0.10" , optional = true }
160+ # HTTP client — pinned to reqwest 0.12 until vaultrs and opentelemetry-otlp
161+ # support 0.13. reqwest-middleware 0.4 and reqwest-retry 0.7 target 0.12.
162+ reqwest = { version = " >=0.12, <0.13" , features = [" json" ], optional = true }
163+ reqwest-middleware = { version = " >=0.4, <0.5" , optional = true }
164+ reqwest-retry = { version = " >=0.7, <0.8" , optional = true }
165+
166+ # In-memory cache (TinyLFU, async, concurrent)
167+ moka = { version = " >=0.12, <0.13" , features = [" future" ], optional = true }
165168
166169# HTTP server (axum)
167170axum = { version = " >=0.8.8, <0.9" , optional = true }
@@ -200,7 +203,7 @@ yaque = { version = ">=0.6.6, <0.7", optional = true }
200203zstd = { version = " >=0.13.3, <0.14" , optional = true }
201204
202205# TieredSink compression codecs
203- lz4_flex = { version = " >=0.11, <0.13 " , optional = true }
206+ lz4_flex = { version = " >=0.11, <0.14 " , optional = true }
204207snap = { version = " >=1.1.1, <2" , optional = true }
205208
206209# Async trait (for tiered-sink Sink trait)
@@ -214,7 +217,7 @@ parking_lot = { version = ">=0.12.3, <0.13", optional = true }
214217base64 = { version = " >=0.22, <0.23" , optional = true }
215218
216219# Vault/OpenBao (for secrets-vault)
217- vaultrs = { version = " >=0.7, <0.8 " , optional = true }
220+ vaultrs = { version = " >=0.7, <0.9 " , optional = true }
218221
219222# AWS (for secrets-aws)
220223# NOTE: aws-config and aws-sdk-* transitively pull in aws-lc-sys, which compiles
0 commit comments