An easy-to-host PDS on the ATProtocol, iPhone and MacOS. Maintain control of your keys and data, always.
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 101 lines 2.9 kB view raw
1[workspace] 2members = [ 3 "crates/relay", 4 "crates/repo-engine", 5 "crates/crypto", 6 "crates/common", 7 "apps/identity-wallet/src-tauri", 8] 9resolver = "2" 10 11[workspace.package] 12version = "0.1.0" 13edition = "2021" 14publish = false 15 16# Declare shared dependency versions here. 17# Individual crates opt in with `{ workspace = true }`. 18[workspace.dependencies] 19# Async runtime 20tokio = { version = "1", features = ["full"] } 21 22# Web framework (relay) 23axum = "0.7" 24 25# HTTP client (relay) 26reqwest = { version = "0.12", features = ["json"] } 27 28# Database 29sqlx = { version = "0.8", features = ["runtime-tokio", "sqlite"] } 30 31# Serialization 32serde = { version = "1", features = ["derive"] } 33serde_json = "1" 34toml = "0.8" 35 36# CLI argument parsing (relay) 37clap = { version = "4", features = ["derive", "env"] } 38 39# Error handling 40anyhow = "1" 41thiserror = "2" 42 43# Date/time 44chrono = { version = "0.4", default-features = false, features = ["clock", "std"] } 45 46# Observability 47tracing = { version = "0.1", features = ["log"] } 48tracing-subscriber = { version = "0.3", features = ["env-filter"] } 49tracing-opentelemetry = "0.29" 50opentelemetry = { version = "0.28", features = ["trace"] } 51opentelemetry-otlp = { version = "0.28", features = ["trace", "grpc-tonic"] } 52opentelemetry_sdk = { version = "0.28", features = ["rt-tokio", "trace"] } 53 54# HTTP middleware 55tower-http = { version = "0.5", features = ["trace", "cors"] } 56tower = { version = "0.5", features = ["util"] } 57 58# ATProto (repo-engine) 59# atrium-api = "0.22" 60# atrium-repo = "0.1" 61 62# Crypto (crypto) 63# rsky-crypto = "0.2" 64p256 = { version = "0.13", features = ["ecdsa", "pkcs8"] } 65aes-gcm = "0.10" 66multibase = "0.9" 67rand_core = { version = "0.6", features = ["getrandom"] } 68base64 = "0.21" 69ciborium = "0.2" 70data-encoding = "2" 71sha2 = "0.10" 72zeroize = "1" 73urlencoding = "2" 74subtle = "2" 75uuid = { version = "1", features = ["v4"] } 76 77# JWT (relay auth) 78jsonwebtoken = "9" 79 80# Password hashing (relay createSession) 81argon2 = { version = "0.5", features = ["password-hash"] } 82 83# ATProto handle resolution — DNS TXT fallback (relay) 84hickory-resolver = { version = "0.25", features = ["tokio", "system-config"] } 85 86# Testing 87tempfile = "3" 88 89# Intra-workspace 90common = { path = "crates/common" } 91crypto = { path = "crates/crypto" } 92repo-engine = { path = "crates/repo-engine" } 93 94# ── Local patches ───────────────────────────────────────────────────────────── 95# 96# swift-rs 1.0.7 does not pass --disable-sandbox to `swift build`. On macOS 26 97# (Tahoe), sandbox_apply() returns EPERM during manifest compilation, breaking 98# the Tauri ios-api build step. The local patch adds --disable-sandbox. 99# Remove when swift-rs ships a fix upstream. 100[patch.crates-io] 101swift-rs = { path = "apps/identity-wallet/swift-rs-patch" }