[workspace] resolver = "2" members = [ "crates/iam-types", "crates/iam-store", "crates/iam-authn", "crates/iam-authz", "crates/iam-audit", "crates/iam-api", "crates/iam-server", "crates/iam-client", ] [workspace.package] version = "0.1.0" edition = "2021" license = "MIT OR Apache-2.0" rust-version = "1.75" authors = ["Cloud Platform Contributors"] repository = "https://github.com/cloud/iam" [workspace.dependencies] # Internal crates iam-types = { path = "crates/iam-types" } iam-store = { path = "crates/iam-store" } iam-authn = { path = "crates/iam-authn" } iam-authz = { path = "crates/iam-authz" } iam-audit = { path = "crates/iam-audit" } iam-api = { path = "crates/iam-api" } iam-server = { path = "crates/iam-server" } iam-client = { path = "crates/iam-client" } # External SDK dependencies chainfire-client = { path = "../chainfire/chainfire-client" } flaredb-client = { path = "../flaredb/crates/flaredb-client" } # Async runtime tokio = { version = "1.40", features = ["full"] } tokio-stream = "0.1" futures = "0.3" async-trait = "0.1" # gRPC tonic = { version = "0.12", features = ["tls", "tls-roots"] } tonic-build = "0.12" tonic-health = "0.12" prost = "0.13" prost-types = "0.13" # Serialization serde = { version = "=1.0.219", features = ["derive"] } serde_json = "=1.0.140" # JWT/OIDC jsonwebtoken = "9" reqwest = { version = "0.12", features = ["json", "rustls-tls"], default-features = false } # Crypto rand = "0.8" base64 = "0.22" sha2 = "0.10" hmac = "0.12" # Utilities thiserror = "1.0" anyhow = "1.0" tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } bytes = "1.5" # Metrics metrics = "0.23" metrics-exporter-prometheus = "0.15" dashmap = "6" parking_lot = "0.12" uuid = { version = "1.8", features = ["v4", "serde"] } ipnetwork = "0.20" glob-match = "0.2" chrono = { version = "0.4", features = ["serde"] } # Configuration toml = "0.8" clap = { version = "4", features = ["derive"] } # Testing tempfile = "3.10" [workspace.lints.rust] unsafe_code = "deny" [workspace.lints.clippy] all = "warn" [profile.release] lto = true opt-level = 3 codegen-units = 1