-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
98 lines (90 loc) · 2.63 KB
/
Cargo.toml
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
[package]
name = "axum-demo"
version = "0.0.1"
edition = "2024"
rust-version = "1.85"
authors = ["Aimeric Sorin <[email protected]>"]
license = "Apache-2.0"
description = "Basic rust web api to demonstrate axum framework capabilities. Based on https://github.com/rust10x/rust-web-app"
repository = "https://github.com/aimericsr/axum-demo"
[lib]
path = "src/lib.rs"
[[bin]]
name = "axum-demo"
path = "src/main.rs"
[profile.release]
# strip = "symbols"
[dependencies]
# -- Http api
tokio = { version = "1", features = ["signal", "rt-multi-thread"] }
tokio-metrics = "0.4"
axum = "0.8"
axum-macros = "0.5"
axum-extra = "0.10"
tower = { version = "0.5", features = ["limit", "timeout"]}
tower-http = { version = "0.6", features = ["fs", "timeout", "cors", "trace"] }
tower-cookies = "0.11"
tower_governor = "0.6"
hyper = "1"
http = "1"
futures = "0.3"
reqwest = { version = "0.12.12", features = ["json"]}
# -- Error
thiserror = "2"
# -- Serde
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_with = "3"
# -- Db
sqlx = { version = "0.7", features = [ "runtime-tokio-rustls", "postgres", "uuid", "time" ] }
sqlb = "0.4"
# -- Docs
utoipa = { version = "5.3.1", features = ["axum_extras"] }
utoipa-swagger-ui = { version = "9", features = ["axum", "reqwest"] }
utoipa-redoc = { version = "6", features = ["axum"] }
utoipa-rapidoc = { version = "6", features = ["axum"] }
utoipa-scalar = { version = "0.3", features = ["axum"] }
utoipauto = "0.2.0"
# -- Tracing
tracing = "0.1"
tracing-log = "0.2"
tracing-subscriber = { version = "0.3", features = ["std", "env-filter", "json", "fmt", "tracing-log"] }
# -- OpenTelemetry
opentelemetry = "0.28"
opentelemetry_sdk = { version = "0.28" }
opentelemetry-otlp = { version = "0.28", features = ["grpc-tonic"] }
opentelemetry-stdout = "0.28"
opentelemetry-semantic-conventions = "0.28"
opentelemetry-resource-detectors = "0.7"
tracing-opentelemetry = "0.29"
tower-otel = { git = "https://github.com/aimericsr/tower-otel" }
#tower-otel = { path = "../tower-otel" }
# -- Crypt & Encoding
rand = "0.9"
hmac = "0.12"
sha2 = "0.10"
base64-url = "3"
time = "0.3"
# -- Utils
strum_macros = "0.27"
uuid = { version = "1", features = ["v4", "fast-rng"] }
secrecy = "0.10"
validator = "0.20"
validator_derive = "0.20"
regex = "1"
dotenvy = "0.15"
redact = { version = "0.1", features = ["serde"] }
tracing-appender = "0.2.3"
[dev-dependencies]
anyhow = "1"
# [lints.rust]
# unsafe_code = "forbid"
[lints.clippy]
cast_lossless = "deny"
cast_possible_truncation = "deny"
cast_possible_wrap = "deny"
cast_ptr_alignment = "deny"
cast_sign_loss = "deny"
char_lit_as_u8 = "deny"
checked_conversions = "deny"
unnecessary_cast = "deny"