-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathCargo.toml
More file actions
84 lines (68 loc) · 1.81 KB
/
Copy pathCargo.toml
File metadata and controls
84 lines (68 loc) · 1.81 KB
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
[workspace]
members = [
"apps/charging-engine",
"apps/packet-gateway",
]
resolver = "2"
[workspace.package]
version = "1.0.0"
authors = ["TaaS Team <team@taas-platform.com>"]
edition = "2024"
rust-version = "1.95"
license = "MIT"
[workspace.metadata.cargo-audit]
# Ignore advisories that are not relevant to this project
# advisories = []
[workspace.lints.rust]
unsafe_code = "forbid"
[workspace.lints.clippy]
all = "warn"
pedantic = "warn"
nursery = "warn"
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
unwrap_in_result = "deny"
unimplemented = "deny"
todo = "warn"
[workspace.dependencies]
# Async runtime
tokio = { version = "1.52.1", features = ["full"] }
async-std = "1.13.2"
# eBPF with Aya (for packet-gateway)
aya = { version = "0.13.1", features = ["async_tokio"] }
aya-ebpf = "0.1.1"
aya-log = "0.2.1"
aya-log-ebpf = "0.1.0"
# Serialization
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
# Database
redis = { version = "1.2.0", features = ["tokio-comp", "connection-manager", "cluster-async"] }
sqlx = { version = "0.8.6", features = ["runtime-tokio-rustls", "postgres", "chrono", "uuid", "migrate"] }
# Web framework (for charging-engine)
axum = { version = "0.8.9", features = ["macros"] }
tower = "0.5.3"
tower-http = { version = "0.6.8", features = ["cors", "trace"] }
hyper = "1.9.0"
# Networking
bytes = "1.11.1"
prost = "0.14.3"
# Logging and tracing
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.23", features = ["env-filter", "json"] }
# Error handling
anyhow = "1.0.102"
thiserror = "2.0.18"
# Configuration
dotenv = "0.15.0"
config = "0.15.22"
# Time handling
chrono = { version = "0.4.44", features = ["serde"] }
# Utilities
uuid = { version = "1.23.1", features = ["v4", "serde"] }
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true