You've already forked authentication-service
mirror of
https://github.com/matrix-org/matrix-authentication-service.git
synced 2025-09-18 20:54:33 +03:00
297 lines
7.4 KiB
TOML
297 lines
7.4 KiB
TOML
[workspace]
|
|
default-members = ["crates/cli"]
|
|
members = ["crates/*"]
|
|
resolver = "2"
|
|
|
|
# Updated in the CI with a `sed` command
|
|
package.version = "0.9.0"
|
|
|
|
package.license = "Apache-2.0"
|
|
package.authors = ["Quentin Gliech <quenting@element.io>"]
|
|
package.edition = "2021"
|
|
package.homepage = "https://matrix-org.github.io/matrix-authentication-service/"
|
|
package.repository = "https://github.com/matrix-org/matrix-authentication-service/"
|
|
|
|
[workspace.lints.rust]
|
|
unsafe_code = "forbid"
|
|
|
|
[workspace.lints.clippy]
|
|
# We use groups as good defaults, but with a lower priority so that we can override them
|
|
all = { level = "deny", priority = -1 }
|
|
pedantic = { level = "warn", priority = -1 }
|
|
|
|
str_to_string = "deny"
|
|
|
|
[workspace.lints.rustdoc]
|
|
broken_intra_doc_links = "deny"
|
|
|
|
[workspace.dependencies]
|
|
|
|
# Workspace crates
|
|
mas-axum-utils = { path = "./crates/axum-utils/", version = "=0.9.0" }
|
|
mas-cli = { path = "./crates/cli/", version = "=0.9.0" }
|
|
mas-config = { path = "./crates/config/", version = "=0.9.0" }
|
|
mas-data-model = { path = "./crates/data-model/", version = "=0.9.0" }
|
|
mas-email = { path = "./crates/email/", version = "=0.9.0" }
|
|
mas-graphql = { path = "./crates/graphql/", version = "=0.9.0" }
|
|
mas-handlers = { path = "./crates/handlers/", version = "=0.9.0" }
|
|
mas-http = { path = "./crates/http/", version = "=0.9.0" }
|
|
mas-i18n = { path = "./crates/i18n/", version = "=0.9.0" }
|
|
mas-i18n-scan = { path = "./crates/i18n-scan/", version = "=0.9.0" }
|
|
mas-iana = { path = "./crates/iana/", version = "=0.9.0" }
|
|
mas-iana-codegen = { path = "./crates/iana-codegen/", version = "=0.9.0" }
|
|
mas-jose = { path = "./crates/jose/", version = "=0.9.0" }
|
|
mas-keystore = { path = "./crates/keystore/", version = "=0.9.0" }
|
|
mas-listener = { path = "./crates/listener/", version = "=0.9.0" }
|
|
mas-matrix = { path = "./crates/matrix/", version = "=0.9.0" }
|
|
mas-matrix-synapse = { path = "./crates/matrix-synapse/", version = "=0.9.0" }
|
|
mas-oidc-client = { path = "./crates/oidc-client/", version = "=0.9.0" }
|
|
mas-policy = { path = "./crates/policy/", version = "=0.9.0" }
|
|
mas-router = { path = "./crates/router/", version = "=0.9.0" }
|
|
mas-spa = { path = "./crates/spa/", version = "=0.9.0" }
|
|
mas-storage = { path = "./crates/storage/", version = "=0.9.0" }
|
|
mas-storage-pg = { path = "./crates/storage-pg/", version = "=0.9.0" }
|
|
mas-tasks = { path = "./crates/tasks/", version = "=0.9.0" }
|
|
mas-templates = { path = "./crates/templates/", version = "=0.9.0" }
|
|
mas-tower = { path = "./crates/tower/", version = "=0.9.0" }
|
|
oauth2-types = { path = "./crates/oauth2-types/", version = "=0.9.0" }
|
|
|
|
# OpenAPI schema generation and validation
|
|
[workspace.dependencies.aide]
|
|
version = "0.13.4"
|
|
features = ["axum", "axum-headers", "macros"]
|
|
|
|
# GraphQL server
|
|
[workspace.dependencies.async-graphql]
|
|
version = "7.0.7"
|
|
features = ["chrono", "url", "tracing"]
|
|
|
|
# Utility to write and implement async traits
|
|
[workspace.dependencies.async-trait]
|
|
version = "0.1.81"
|
|
|
|
# High-level error handling
|
|
[workspace.dependencies.anyhow]
|
|
version = "1.0.86"
|
|
|
|
# HTTP router
|
|
[workspace.dependencies.axum]
|
|
version = "0.7.5"
|
|
|
|
# Extra utilities for Axum
|
|
[workspace.dependencies.axum-extra]
|
|
version = "0.9.3"
|
|
features = ["cookie-private", "cookie-key-expansion", "typed-header"]
|
|
|
|
# Bytes
|
|
[workspace.dependencies.bytes]
|
|
version = "1.7.1"
|
|
|
|
# UTF-8 paths
|
|
[workspace.dependencies.camino]
|
|
version = "1.1.7"
|
|
|
|
# Time utilities
|
|
[workspace.dependencies.chrono]
|
|
version = "0.4.38"
|
|
default-features = false
|
|
features = ["serde", "clock"]
|
|
|
|
# CLI argument parsing
|
|
[workspace.dependencies.clap]
|
|
version = "4.5.13"
|
|
features = ["derive"]
|
|
|
|
# Configuration loading
|
|
[workspace.dependencies.figment]
|
|
version = "0.10.19"
|
|
features = ["env", "yaml", "test"]
|
|
|
|
# Rate-limiting
|
|
[workspace.dependencies.governor]
|
|
version = "0.6.3"
|
|
|
|
# HTTP headers
|
|
[workspace.dependencies.headers]
|
|
version = "0.4.0"
|
|
|
|
# HTTP request/response
|
|
[workspace.dependencies.http]
|
|
version = "1.1.0"
|
|
|
|
# HTTP body trait
|
|
[workspace.dependencies.http-body]
|
|
version = "1.0.0"
|
|
|
|
# http-body utilities
|
|
[workspace.dependencies.http-body-util]
|
|
version = "0.1.2"
|
|
|
|
# HTTP client and server
|
|
[workspace.dependencies.hyper]
|
|
version = "1.4.1"
|
|
features = ["client", "http1", "http2"]
|
|
|
|
# Additional Hyper utilties
|
|
[workspace.dependencies.hyper-util]
|
|
version = "0.1.7"
|
|
features = [
|
|
"client",
|
|
"server",
|
|
"server-auto",
|
|
"service",
|
|
"http1",
|
|
"http2",
|
|
"tokio",
|
|
]
|
|
|
|
# Hyper Rustls support
|
|
[workspace.dependencies.hyper-rustls]
|
|
version = "0.27.2"
|
|
features = ["http1", "http2"]
|
|
default-features = false
|
|
|
|
# Snapshot testing
|
|
[workspace.dependencies.insta]
|
|
version = "1.39.0"
|
|
features = ["yaml", "json"]
|
|
|
|
# Email sending
|
|
[workspace.dependencies.lettre]
|
|
version = "0.11.7"
|
|
default-features = false
|
|
features = [
|
|
"tokio1-rustls-tls",
|
|
"hostname",
|
|
"builder",
|
|
"tracing",
|
|
"pool",
|
|
"smtp-transport",
|
|
"sendmail-transport",
|
|
]
|
|
|
|
# Templates
|
|
[workspace.dependencies.minijinja]
|
|
version = "2.1.1"
|
|
|
|
# Utilities to deal with non-zero values
|
|
[workspace.dependencies.nonzero_ext]
|
|
version = "0.3.0"
|
|
|
|
# Random values
|
|
[workspace.dependencies.rand]
|
|
version = "0.8.5"
|
|
|
|
# TLS stack
|
|
[workspace.dependencies.rustls]
|
|
version = "0.23.12"
|
|
|
|
# Use platform-specific verifier for TLS
|
|
[workspace.dependencies.rustls-platform-verifier]
|
|
version = "0.3.3"
|
|
|
|
# JSON Schema generation
|
|
[workspace.dependencies.schemars]
|
|
version = "0.8.21"
|
|
features = ["url", "chrono", "preserve_order"]
|
|
|
|
# Sentry error tracking
|
|
[workspace.dependencies.sentry]
|
|
version = "0.34.0"
|
|
default-features = false
|
|
features = ["backtrace", "contexts", "panic", "tower"]
|
|
|
|
# Sentry tower layer
|
|
[workspace.dependencies.sentry-tower]
|
|
version = "0.34.0"
|
|
features = ["http"]
|
|
|
|
# Sentry tracing integration
|
|
[workspace.dependencies.sentry-tracing]
|
|
version = "0.34.0"
|
|
|
|
# Serialization and deserialization
|
|
[workspace.dependencies.serde]
|
|
version = "1.0.204"
|
|
features = ["derive"] # Most of the time, if we need serde, we need derive
|
|
|
|
# JSON serialization and deserialization
|
|
[workspace.dependencies.serde_json]
|
|
version = "1.0.122"
|
|
features = ["preserve_order"]
|
|
|
|
# SQL database support
|
|
[workspace.dependencies.sqlx]
|
|
version = "0.7.4"
|
|
features = [
|
|
"runtime-tokio-rustls",
|
|
"postgres",
|
|
"migrate",
|
|
"chrono",
|
|
"json",
|
|
"uuid",
|
|
"ipnetwork",
|
|
]
|
|
|
|
# Custom error types
|
|
[workspace.dependencies.thiserror]
|
|
version = "1.0.63"
|
|
|
|
# Async runtime
|
|
[workspace.dependencies.tokio]
|
|
version = "1.39.2"
|
|
features = ["full"]
|
|
|
|
# Tower services
|
|
[workspace.dependencies.tower]
|
|
version = "0.4.13"
|
|
features = ["util"]
|
|
|
|
# Tower HTTP layers
|
|
[workspace.dependencies.tower-http]
|
|
version = "0.5.2"
|
|
features = ["cors", "fs", "add-extension"]
|
|
|
|
# Logging and tracing
|
|
[workspace.dependencies.tracing]
|
|
version = "0.1.40"
|
|
[workspace.dependencies.tracing-subscriber]
|
|
version = "0.3.18"
|
|
|
|
# OpenTelemetry
|
|
[workspace.dependencies.opentelemetry]
|
|
version = "0.24.0"
|
|
features = ["trace", "metrics"]
|
|
[workspace.dependencies.opentelemetry-http]
|
|
version = "0.13.0"
|
|
features = ["hyper"]
|
|
[workspace.dependencies.opentelemetry-semantic-conventions]
|
|
version = "0.16.0"
|
|
[workspace.dependencies.tracing-opentelemetry]
|
|
version = "0.25.0"
|
|
default-features = false
|
|
|
|
# URL manipulation
|
|
[workspace.dependencies.url]
|
|
version = "2.5.2"
|
|
features = ["serde"]
|
|
|
|
# ULID support
|
|
[workspace.dependencies.ulid]
|
|
version = "1.1.3"
|
|
features = ["serde"]
|
|
|
|
# A few profile opt-level tweaks to make the test suite run faster
|
|
[profile.dev.package]
|
|
num-bigint-dig.opt-level = 3
|
|
sqlx-macros.opt-level = 3
|
|
cranelift-codegen.opt-level = 3
|
|
regalloc2.opt-level = 3
|
|
argon2.opt-level = 3
|
|
pbkdf2.opt-level = 3
|
|
bcrypt.opt-level = 3
|
|
sha2.opt-level = 3
|
|
digest.opt-level = 3
|
|
block-buffer.opt-level = 3
|
|
generic-array.opt-level = 3
|