-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathCargo.toml
More file actions
116 lines (102 loc) · 4.01 KB
/
Copy pathCargo.toml
File metadata and controls
116 lines (102 loc) · 4.01 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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
[package]
name = "wolfstack"
version = "25.30.1"
edition = "2024"
authors = ["IntelligentWolf Ltd"]
description = "Server management platform for the Wolf software suite"
# Dual-licensed: PolyForm Noncommercial 1.0.0 for personal / non-commercial
# use, with a commercial licence granted automatically by an active paid
# subscription (Homelab/Team/MSP/Enterprise). See LICENSE for the canonical
# terms. Cargo's `license` field expects an SPDX identifier; PolyForm
# Noncommercial isn't on the SPDX list, so we point at the file directly.
# Pre-v22.10.0 releases stay MIT-licensed in perpetuity.
license-file = "LICENSE"
repository = "https://github.com/intelligentwolf/WolfStack"
[dependencies]
# Web framework
actix-web = { version = "4", features = ["openssl"] }
actix-tls = { version = "3.5", features = ["openssl"] }
actix-files = "0.6"
# Fleet Logs (loghub) — compress closed log segments. Already present
# transitively (0.13.3 in Cargo.lock); promoted to a direct dependency.
zstd = "0.13"
actix-rt = "2"
actix-ws = "0.3"
actix-multipart = "0.7"
portable-pty = "0.8"
tokio-tungstenite = { version = "0.24", features = ["native-tls"] }
tokio-util = { version = "0.7", features = ["io"] }
native-tls = { version = "0.2", features = ["vendored"] }
futures = "0.3"
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
# Async runtime
tokio = { version = "1", features = ["full"] }
# HTTP client for agent communication
reqwest = { version = "0.12", features = ["json", "rustls-tls", "rustls-tls-native-roots", "multipart", "stream", "cookies", "blocking"], default-features = false }
# TLS
openssl = { version = "0.10", features = ["vendored"] }
rustls = { version = "0.23", default-features = false, features = ["ring", "logging", "std", "tls12"] }
ring = "0.17"
webpki-roots = "0.26"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# System monitoring
sysinfo = "0.32"
# CLI
clap = { version = "4", features = ["derive"] }
# Utilities
uuid = { version = "1", features = ["v4", "v5"] }
chrono = { version = "0.4", features = ["serde"] }
chrono-tz = "0.10"
hostname = "0.4"
libc = "0.2"
sha1 = "0.10"
sha2 = "0.10"
hmac = "0.12"
data-encoding = "2"
hex = "0.4"
base64 = "0.22"
regex = "1"
urlencoding = "2"
rand = "0.8"
subtle = "2"
sha-crypt = "0.5"
yescrypt = { version = "0.1.0-rc.5", features = ["password-hash"] }
webauthn-rs = { version = "0.5", features = ["danger-allow-state-serialisation", "conditional-ui", "resident-key-support"] }
lettre = { version = "0.11", features = ["tokio1-rustls-tls", "smtp-transport", "builder"], default-features = false }
# S3 client (pure Rust — works on IBM Power/ppc64le, no C/C++ deps)
# fail-on-err: without it a non-2xx S3 response returns Ok and every caller
# in this tree treats Ok as success — a 403 upload "succeeded" while storing
# nothing, and a 403 download wrote the AccessDenied XML as the backup file.
# No call site inspects status_code() (verified 2026-08-18), so erroring on
# non-2xx is strictly a fix. It is also what makes S3 connection-test error
# classification exact (S3Error::HttpFailWithBody carries the real status).
rust-s3 = { version = "0.35", default-features = false, features = ["tokio-rustls-tls", "fail-on-err"] }
lz4_flex = "0.11"
# Database editors
# Match mysql_async 0.34 defaults except unused FromRow/FromValue derive macros.
mysql_async = { version = "0.34", default-features = false, features = ["minimal", "bigdecimal", "rust_decimal", "time", "frunk", "native-tls-tls", "binlog"] }
tokio-postgres = { version = "0.7", features = ["runtime"] }
deadpool-postgres = "0.14"
sqlparser = "0.52"
async-stream = "0.3.6"
# WolfHost subsystem (merged from the former plugin)
actix-cors = "0.7"
argon2 = "0.5"
password-hash = "0.5"
sqlx = { version = "0.8", features = ["runtime-tokio", "mysql"], default-features = false }
log = "0.4"
tokio-stream = "0.1"
futures-core = "0.3"
[workspace]
[profile.release]
strip = "debuginfo"
codegen-units = 1
lto = "thin"
[[bin]]
name = "wolfstack"
path = "src/main.rs"