forked from
lewis.moe/bspds-sandbox
PDS software with bells & whistles you didn’t even know you needed. will move this to its own account when ready.
1[package]
2name = "tranquil-pds"
3version = "0.1.0"
4edition = "2024"
5license = "AGPL-3.0-or-later"
6license-file = "LICENSE-AGPL-3.0-or-later"
7[dependencies]
8anyhow = "1.0.100"
9async-trait = "0.1.89"
10aws-config = "1.8.12"
11aws-sdk-s3 = "1.118.0"
12axum = { version = "0.8.8", features = ["ws", "macros"] }
13base32 = "0.5"
14base64 = "0.22.1"
15bcrypt = "0.17.1"
16bytes = "1.11.0"
17chrono = { version = "0.4.42", features = ["serde"] }
18cid = "0.11.1"
19dotenvy = "0.15.7"
20futures = "0.3.30"
21governor = "0.10"
22hex = "0.4"
23hkdf = "0.12"
24hmac = "0.12"
25aes-gcm = "0.10"
26jacquard = { version = "0.9.5", default-features = false, features = ["api", "api_bluesky", "api_full", "derive", "dns"] }
27jacquard-axum = "0.9.6"
28jacquard-repo = "0.9.6"
29jsonwebtoken = { version = "10.2.0", features = ["rust_crypto"] }
30k256 = { version = "0.13.3", features = ["ecdsa", "pem", "pkcs8"] }
31multibase = "0.9.1"
32multihash = "0.19.3"
33rand = "0.8.5"
34regex = "1"
35reqwest = { version = "0.12.28", features = ["json"] }
36serde = { version = "1.0.228", features = ["derive"] }
37serde_bytes = "0.11.14"
38serde_ipld_dagcbor = "0.6.4"
39ipld-core = "0.4.2"
40serde_json = "1.0.146"
41serde_urlencoded = "0.7"
42sha2 = "0.10.9"
43subtle = "2.5"
44p256 = { version = "0.13", features = ["ecdsa"] }
45p384 = { version = "0.13", features = ["ecdsa"] }
46ed25519-dalek = { version = "2.1", features = ["pkcs8"] }
47sqlx = { version = "0.8.6", features = ["runtime-tokio-rustls", "postgres", "uuid", "chrono", "json"] }
48thiserror = "2.0.17"
49tokio = { version = "1.48.0", features = ["macros", "rt-multi-thread", "time", "signal", "process"] }
50tracing = "0.1.43"
51tracing-subscriber = "0.3.22"
52tokio-tungstenite = { version = "0.28.0", features = ["native-tls"] }
53urlencoding = "2.1"
54uuid = { version = "1.19.0", features = ["v4", "v5", "fast-rng"] }
55iroh-car = "0.5.1"
56image = { version = "0.25.9", default-features = false, features = ["jpeg", "png", "gif", "webp"] }
57redis = { version = "1.0.1", features = ["tokio-comp", "connection-manager"] }
58tower-http = { version = "0.6.8", features = ["fs", "cors"] }
59hickory-resolver = { version = "0.24", features = ["tokio-runtime"] }
60metrics = "0.24.3"
61metrics-exporter-prometheus = { version = "0.16", default-features = false, features = ["http-listener"] }
62bs58 = "0.5.1"
63totp-rs = { version = "5", features = ["qr"] }
64webauthn-rs = { version = "0.5.4", features = ["danger-allow-state-serialisation", "danger-user-presence-only-security-keys"] }
65webauthn-rs-proto = "0.5.4"
66zip = { version = "7.0.0", default-features = false, features = ["deflate"] }
67[features]
68external-infra = []
69[dev-dependencies]
70ciborium = "0.2"
71ctor = "0.6.3"
72testcontainers = "0.26.2"
73testcontainers-modules = { version = "0.14.0", features = ["postgres"] }
74wiremock = "0.6.5"
75# urlencoding is also in dependencies, but tests use it directly