aboutsummaryrefslogtreecommitdiffstats
path: root/lib/warden-stack/Cargo.toml
blob: a2e910b3d434db5c7c1afed584dacdbef373fed1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
[package]
name = "warden-stack"
version = "0.1.0"
edition = "2024"
license = "MIT OR Apache-2.0"

[dependencies]
async-nats = { workspace = true, optional = true }
bb8 = { version = "0.9.0", optional = true }
bb8-redis = { version = "0.24.0", optional = true }
bon.workspace = true
opentelemetry = { workspace = true, optional = true }
opentelemetry-http = { workspace = true, optional = true }
opentelemetry-otlp = { workspace = true, optional = true }
opentelemetry-semantic-conventions = { workspace = true, optional = true }
opentelemetry_sdk = { workspace = true, optional = true }
redis = { workspace = true, optional = true }
secrecy = { workspace = true, optional = true }
serde = { workspace = true, features = ["derive", "rc"] }
serde_json.workspace = true
sqlx = { workspace = true, optional = true }
thiserror.workspace = true
tokio = { workspace = true, optional = true }
tonic = { workspace = true, optional = true }
tracing = { workspace = true, optional = true }
tracing-loki = { version = "0.2.6", optional = true, default-features = false, features = ["compat-0-2-1", "rustls"] }
tracing-opentelemetry = { workspace = true, optional = true }
tracing-subscriber = { version = "0.3.19", optional = true }
url = { workspace = true, optional = true }

[features]
default = []
api = []
cache = [
    "dep:redis",
    "redis/cluster-async",
    "redis/connection-manager",
    "redis/tokio-comp",
    "redis/sentinel",
    "tokio/sync",
    "dep:bb8",
    "dep:bb8-redis",
    "url/serde",
]
nats-core = ["dep:async-nats"]
nats-jetstream = ["dep:async-nats"]
opentelemetry = [
    "dep:opentelemetry",
    "dep:tracing-opentelemetry",
    "tracing",
    "opentelemetry_sdk/rt-tokio",
    "opentelemetry_sdk/trace",
    "opentelemetry/trace",
    "opentelemetry-http",
    "opentelemetry-otlp/grpc-tonic",
    "opentelemetry-otlp/http-proto",
    "opentelemetry-semantic-conventions/semconv_experimental",
]
postgres = ["sqlx/postgres", "url/serde", "secrecy/serde"]
tracing = ["dep:tracing", "tracing-subscriber/env-filter"]
opentelemetry-tonic = ["dep:tonic", "opentelemetry"]
tracing-loki = ["dep:tracing-loki", "tracing"]

[[example]]
name = "tracing"
path = "examples/tracing.rs"
required-features = ["tracing"]

[dev-dependencies]
tokio = { version = "*", features = ["macros", "rt"] }
sqlx = { version = "*", features = ["runtime-tokio"] }

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]