Files
nutcas3 dd346a7484 refactor: Update Rust version to 1.95, add SSRF protection to ES2 client, and fix CLI API endpoint paths
- Change rust-version from "1.94" to "1.95" in workspace Cargo.toml
- Add validateURL method to ES2Client with private IP blocking and domain whitelisting
- Add SSRF validation to DownloadProfile and GetProfileStatus endpoints
- Add slices, errors, net, and url imports to es2/client.go
- Update CLI charging API endpoints from /v1 to /api/v1 prefix
- Fix DeductCredit response handling to use nil
2026-05-01 00:41:57 +03:00

85 lines
1.8 KiB
TOML

[workspace]
members = [
"apps/charging-engine",
"apps/packet-gateway",
]
resolver = "2"
[workspace.package]
version = "1.0.0"
authors = ["TaaS Team <[email protected]>"]
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