[package]
name = "openstack_keystone"
description = "OpenStack Keystone service"
version = "0.1.0"
edition = "2024"
license = "Apache-2.0"
authors = ["Artem Goncharov (gtema)"]
rust-version = "1.85"
repository = "https://github.com/gtema/keystone"
[[bin]]
name="keystone"
path="src/bin/keystone.rs"
[[bench]]
name = "fernet_token"
harness = false
[dependencies]
async-trait = { version = "^0.1" }
axum = { version = "^0.8", features = ["macros"] }
base64 = { version = "^0.22" }
bcrypt = { version = "0.17", features = ["alloc"] }
bytes = { version = "^1.10" }
chrono = { version = "^0.4" }
clap = { version = "^4.5", features = ["derive"] }
color-eyre = { version = "^0.6" }
config = { version = "^0.15", features = ["ini"] }
derive_builder = { version = "^0.20" }
dyn-clone = { version = "^1.0" }
eyre = { version = "^0.6" }
fernet = { version = "^0.2" }
mockall_double = { version = "^0.3" }
regex = { version = "^1.11"}
rmp = { version = "^0.8" }
sea-orm = { version = "^1.1", features = ["sqlx-mysql", "sqlx-postgres", "runtime-tokio"] }
serde = { version = "^1.0" }
serde_bytes = "0.11.17"
serde_json = { version = "^1.0" }
thiserror = { version = "^2.0" }
tokio = { version = "^1.44", features = ["fs", "macros", "signal", "rt-multi-thread"] }
tower = { version = "^0.5" }
tower-http = { version = "^0.6", features = ["compression-full", "request-id", "sensitive-headers", "trace", "util"] }
tracing = { version = "^0.1" }
tracing-subscriber = { version = "^0.3" }
utoipa = { version = "^5.3", features = ["axum_extras", "chrono"] }
utoipa-axum = { version = "^0.2" }
utoipa-swagger-ui = { version = "^9.0", features = ["axum", "vendored"], default-features = false }
uuid = { version = "^1.16", features = ["v4"] }
webauthn-rs = { version = "^0.5", features = ["danger-allow-state-serialisation"] }
[dev-dependencies]
criterion = { version = "^0.5", features = ["async_tokio"] }
http-body-util = "^0.1"
mockall = { version = "^0.13" }
sea-orm = { version = "^1.1", features = ["mock"]}
tempfile = { version = "^3.19" }
tracing-test = { version = "^0.2" }
[profile.release]
opt-level = 3
strip = true
debug = false
lto = true