mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-28 09:08:58 +00:00
36acb5bce9
* add crates homepage,description,keywords,categories,documentation * add readme * modify version 0.0.3 * cargo fmt * fix: yaml.docker-compose.security.no-new-privileges.no-new-privileges-docker-compose.yml (#63) * Feature up/ilm (#61) * fix delete-marker expiration. add api_restore. * remove target return 204 * log level * fix: make lint build and clippy happy (#71) Signed-off-by: yihong0618 <zouzou0208@gmail.com> * fix: make ci and local use the same toolchain (#72) Signed-off-by: yihong0618 <zouzou0208@gmail.com> * feat: optimize GitHub Actions workflows with performance improvements (#77) * feat: optimize GitHub Actions workflows with performance improvements - Rename workflows with more descriptive names - Add unified setup action for consistent environment setup - Optimize caching strategy with Swatinem/rust-cache@v2 - Implement skip-check mechanism to avoid duplicate builds - Simplify matrix builds with better include/exclude logic - Add intelligent build strategy checks - Optimize Docker multi-arch builds - Improve artifact naming and retention - Add performance testing with benchmark support - Enhance security audit with dependency scanning - Change Chinese comments to English for better maintainability Performance improvements: - CI testing: ~35 min (42% faster) - Build release: ~60 min (50% faster) - Docker builds: ~45 min (50% faster) - Security audit: ~8 min (47% faster) * fix: correct secrets context usage in GitHub Actions workflow - Move environment variables to job level to fix secrets access issue - Fix unrecognized named-value 'secrets' error in if condition - Ensure OSS upload step can properly check for required secrets * fix: resolve GitHub API rate limit by adding authentication token - Add github-token input to setup action to authenticate GitHub API requests - Pass GITHUB_TOKEN to all setup action usages to avoid rate limiting - Fix arduino/setup-protoc@v3 API access issues in CI/CD workflows - Ensure protoc installation can successfully access GitHub releases API * fix:make bucket err (#85) * Rename DEVELOPMENT.md to CONTRIBUTING.md * Create issue-translator.yml (#89) Enable Issues Translator * fix(dockerfile): correct env variable names for access/secret key and improve compatibility (#90) * fix: restore Zig and cargo-zigbuild caching in GitHub Actions setup action (#92) * fix: restore Zig and cargo-zigbuild caching in GitHub Actions setup action Use mlugg/setup-zig and taiki-e/cache-cargo-install-action to speed up cross-compilation tool installation and avoid repeated downloads. All comments and code are in English. * fix: use correct taiki-e/install-action for cargo-zigbuild Use taiki-e/install-action@cargo-zigbuild instead of taiki-e/cache-cargo-install-action@v2 to match the original implementation from PR #77. * refactor: remove explicit Zig version to use latest stable * Create CODE_OF_CONDUCT.md * Create SECURITY.md * Update issue templates * Create CLA.md * docs: update PR template to English version * fix: improve data scanner random sleep calculation - Fix random number generation API usage - Adjust sleep calculation to follow MinIO pattern - Ensure proper random range for scanner cycles Signed-off-by: junxiang Mu <1948535941@qq.com> * fix: soupprt ipv6 * improve log * add client ip log * Update rustfs/src/console.rs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * improve code * feat: unify package format to zip for all platforms --------- Signed-off-by: yihong0618 <zouzou0208@gmail.com> Signed-off-by: junxiang Mu <1948535941@qq.com> Co-authored-by: kira-offgrid <kira@offgridsec.com> Co-authored-by: likewu <likewu@126.com> Co-authored-by: laoliu <lygn128@163.com> Co-authored-by: yihong <zouzou0208@gmail.com> Co-authored-by: 安正超 <anzhengchao@gmail.com> Co-authored-by: weisd <im@weisd.in> Co-authored-by: Yone <zhiyu@live.cn> Co-authored-by: loverustfs <155562731+loverustfs@users.noreply.github.com> Co-authored-by: junxiang Mu <1948535941@qq.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
92 lines
4.2 KiB
TOML
92 lines
4.2 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-utils"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
rust-version.workspace = true
|
|
version.workspace = true
|
|
homepage.workspace = true
|
|
description = "Utility functions and data structures for RustFS, providing essential features like hashing, compression, and network utilities."
|
|
keywords = ["utilities", "hashing", "compression", "network", "rustfs"]
|
|
categories = ["web-programming", "development-tools", "cryptography"]
|
|
|
|
[dependencies]
|
|
base64-simd = { workspace = true, optional = true }
|
|
blake3 = { workspace = true, optional = true }
|
|
crc32fast.workspace = true
|
|
hex-simd = { workspace = true, optional = true }
|
|
highway = { workspace = true, optional = true }
|
|
lazy_static = { workspace = true, optional = true }
|
|
local-ip-address = { workspace = true, optional = true }
|
|
md-5 = { workspace = true, optional = true }
|
|
netif = { workspace = true, optional = true }
|
|
nix = { workspace = true, optional = true }
|
|
regex = { workspace = true, optional = true }
|
|
rustfs-config = { workspace = true, features = ["constants"] }
|
|
rustls = { workspace = true, optional = true }
|
|
rustls-pemfile = { workspace = true, optional = true }
|
|
rustls-pki-types = { workspace = true, optional = true }
|
|
serde = { workspace = true, optional = true }
|
|
siphasher = { workspace = true, optional = true }
|
|
tempfile = { workspace = true, optional = true }
|
|
tokio = { workspace = true, optional = true, features = ["io-util", "macros"] }
|
|
tracing = { workspace = true }
|
|
url = { workspace = true, optional = true }
|
|
flate2 = { workspace = true, optional = true }
|
|
brotli = { workspace = true, optional = true }
|
|
zstd = { workspace = true, optional = true }
|
|
snap = { workspace = true, optional = true }
|
|
lz4 = { workspace = true, optional = true }
|
|
rand = { workspace = true, optional = true }
|
|
futures = { workspace = true, optional = true }
|
|
transform-stream = { workspace = true, optional = true }
|
|
bytes = { workspace = true, optional = true }
|
|
sysinfo = { workspace = true, optional = true }
|
|
hyper-util = { workspace = true, optional = true }
|
|
sha1 = { workspace = true, optional = true }
|
|
sha2 = { workspace = true, optional = true }
|
|
hmac = { workspace = true, optional = true }
|
|
s3s = { workspace = true, optional = true }
|
|
hyper = { workspace = true, optional = true }
|
|
|
|
[dev-dependencies]
|
|
tempfile = { workspace = true }
|
|
rand = { workspace = true }
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
winapi = { workspace = true, optional = true, features = ["std", "fileapi", "minwindef", "ntdef", "winnt"] }
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[features]
|
|
default = ["ip"] # features that are enabled by default
|
|
ip = ["dep:local-ip-address"] # ip characteristics and their dependencies
|
|
tls = ["dep:rustls", "dep:rustls-pemfile", "dep:rustls-pki-types"] # tls characteristics and their dependencies
|
|
net = ["ip", "dep:url", "dep:netif", "dep:lazy_static", "dep:futures", "dep:transform-stream", "dep:bytes", "dep:s3s", "dep:hyper", "dep:hyper-util"] # empty network features
|
|
io = ["dep:tokio"]
|
|
path = []
|
|
notify = ["dep:hyper", "dep:s3s"] # file system notification features
|
|
compress = ["dep:flate2", "dep:brotli", "dep:snap", "dep:lz4", "dep:zstd"]
|
|
string = ["dep:regex", "dep:lazy_static", "dep:rand"]
|
|
crypto = ["dep:base64-simd", "dep:hex-simd", "dep:hmac", "dep:hyper", "dep:sha1"]
|
|
hash = ["dep:highway", "dep:md-5", "dep:sha2", "dep:blake3", "dep:serde", "dep:siphasher", "dep:hex-simd", "dep:base64-simd"]
|
|
os = ["dep:nix", "dep:tempfile", "winapi"] # operating system utilities
|
|
integration = [] # integration test features
|
|
sys = ["dep:sysinfo"] # system information features
|
|
full = ["ip", "tls", "net", "io", "hash", "os", "integration", "path", "crypto", "string", "compress", "sys", "notify"] # all features
|