mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-03 11:57:43 +00:00
78d6918c52
Add opt-in hotpath feature surfaces to every workspace crate and wire the root rustfs feature passthrough for function, allocation, and CPU profiling. Add a focused set of function-level measurements for scanner, heal, lock, target replay, IAM, KMS, Keystone, trusted proxy, and capacity paths without adding request-scoped primitive wrappers. Co-authored-by: heihutu <heihutu@gmail.com>
90 lines
2.8 KiB
TOML
90 lines
2.8 KiB
TOML
# Copyright 2024 RustFS Team
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
[package]
|
|
name = "rustfs-keystone"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
rust-version.workspace = true
|
|
homepage.workspace = true
|
|
description = "OpenStack Keystone integration for RustFS"
|
|
keywords = ["rustfs", "openstack", "keystone", "authentication", "s3"]
|
|
categories = ["authentication", "web-programming"]
|
|
authors.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[features]
|
|
default = []
|
|
hotpath = [
|
|
"hotpath/hotpath",
|
|
"hotpath/tokio",
|
|
"hotpath/futures",
|
|
"hotpath/reqwest-0-13",
|
|
"rustfs-credentials/hotpath",
|
|
"rustfs-policy/hotpath",
|
|
"rustfs-utils/hotpath",
|
|
]
|
|
hotpath-alloc = [
|
|
"hotpath",
|
|
"hotpath/hotpath-alloc",
|
|
"rustfs-credentials/hotpath-alloc",
|
|
"rustfs-policy/hotpath-alloc",
|
|
"rustfs-utils/hotpath-alloc",
|
|
]
|
|
hotpath-cpu = [
|
|
"hotpath",
|
|
"hotpath/hotpath-cpu",
|
|
"rustfs-credentials/hotpath-cpu",
|
|
"rustfs-policy/hotpath-cpu",
|
|
"rustfs-utils/hotpath-cpu",
|
|
]
|
|
|
|
[dependencies]
|
|
hotpath.workspace = true
|
|
tokio = { workspace = true, features = ["rt", "sync"] }
|
|
reqwest = { workspace = true, features = ["json"] }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true, features = ["raw_value"] }
|
|
thiserror = { workspace = true }
|
|
tracing = { workspace = true }
|
|
time = { workspace = true, features = ["parsing", "formatting", "macros", "serde"] }
|
|
moka = { workspace = true, features = ["future"] }
|
|
rustfs-credentials = { workspace = true }
|
|
rustfs-policy = { workspace = true }
|
|
rustfs-utils = { workspace = true, features = ["egress"] }
|
|
url = { workspace = true }
|
|
# Middleware dependencies
|
|
tower = { workspace = true, features = ["timeout"] }
|
|
http = { workspace = true }
|
|
hyper = { workspace = true, features = ["server", "http2", "http1"] }
|
|
http-body = { workspace = true }
|
|
http-body-util = { workspace = true }
|
|
bytes = { workspace = true, features = ["serde"] }
|
|
futures = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true, features = ["test-util", "fs", "macros", "rt", "time"] }
|
|
tower = { workspace = true, features = ["util", "timeout"] }
|
|
hyper = { workspace = true, features = ["server", "http2", "http1"] }
|
|
serde_json = { workspace = true, features = ["raw_value"] }
|
|
temp-env = { workspace = true }
|
|
|
|
[[test]]
|
|
name = "integration"
|
|
path = "tests/integration/mod.rs"
|