Cargo.toml
67 lignes · 2297 octets
[package] name = "rustwarden-fediverse" version = "1.2.0" edition.workspace = true rust-version.workspace = true description = "ActivityPub federation for Rustwarden — WebFinger, actor, inbox, HTTP signatures, AP-native auth, cross-instance team invitations" [dependencies] rustwarden-core = { path = "../rustwarden-core" } # Web framework (routes, handlers) axum = { version = "0.8", features = ["macros"] } tokio = { version = "1", features = ["full"] } async-trait = "0.1" futures = "0.3" tokio-stream = { version = "0.1", features = ["sync"] } # Tower middleware tower = { version = "0.5", features = ["limit", "util"] } # Serialization serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" # Tracing tracing = "0.1" # ORM sea-orm = { version = "2.0.0", features = ["sqlx-postgres", "runtime-tokio-native-tls", "macros"] } sea-orm-migration = { version = "2.0.0", features = ["sqlx-postgres", "runtime-tokio-native-tls"] } # Time & identifiers chrono = { version = "0.4", features = ["serde"] } uuid = { version = "1.0", features = ["v4", "serde"] } # Error handling thiserror = "2.0" # Crypto helpers sha2 = "0.10" base64 = "0.22" hex = "0.4" subtle = "2.6" rand = { version = "0.9", features = ["std"] } # URL handling url = { version = "2", features = ["serde"] } urlencoding = "2" # ActivityPub activitypub_federation = { version = "=0.7.0-beta.11", features = ["axum"], default-features = false } # HTML sanitization for incoming AP payloads ammonia = "4" # RSA actor keys (RFC 0005) rsa = { version = "0.9", features = ["pem", "getrandom"] } # Outbound HTTP delivery reqwest = { version = "0.12", features = ["json", "native-tls"] } # JWT (claims, validation) jsonwebtoken = { version = "10", features = ["rust_crypto"] } # Validation validator = { version = "0.20", features = ["derive"] } [lints] workspace = true [dev-dependencies] sea-orm = { version = "2.0.0", features = ["mock"] } wiremock = "0.6" # Serialise tests that mutate process-wide environment variables # (ENCRYPTION_KEY, OAUTH_ENCRYPTION_KEY) so async tests on `MockDatabase` # cannot trample each other's env. Replaces the ad-hoc `Mutex<()>` lock # previously held across `.await` in `actor_key_service::tests`. serial_test = "3" [[bin]] name = "migrate-fediverse" path = "migration/src/main.rs"
GitRust