- Added a new KMS configuration subsystem to support dynamic KMS settings.
- Introduced a global ConfigManager for managing KMS and general configurations.
- Implemented KMS configuration validation and connection testing.
- Created REST API endpoints for retrieving and updating KMS configurations.
- Enhanced the existing configuration handling to include KMS-specific parameters.
- Updated the Cargo.toml to include the new KMS feature.
- Added comprehensive tests for KMS configuration management and validation.
- Updated Cargo.lock to include the crypto dependency.
- Modified crypto/Cargo.toml to add KMS feature dependency.
- Enhanced error handling in crypto/src/error.rs with new ErrNotSupported variant.
- Made rusty_vault_client and sse_kms modules public in crypto/src/lib.rs.
- Refactored sse.rs to support KMS initialization and updated SSE headers to lowercase for AWS compatibility.
- Implemented lazy initialization of KMS client in sse_kms.rs, allowing deferred setup until first use.
- Updated SSEKMSEncryption to utilize RustyVault for key management and encryption operations.
- Integrated KMS encryption into the object storage layer in ecstore/src/set_disk.rs, allowing part-level encryption.
- Added metadata handling for encrypted parts in the storage API.
- Cleaned up unused imports and improved code organization across various files.
- Added base64 and ring dependencies to Cargo.toml and Cargo.lock.
- Refactored encryption logic in encrypt.rs to use base64 standard encoding.
- Removed unnecessary decryption checks in store.rs for cleaner code.
* init rustfs config
* improve code for rustfs-config crate
* add
* improve code for comment
* fix: modify rustfs-config crate name
* add default fn
* improve error logger
* fix: modify docker config yaml
* improve code for config
* feat: restrict kafka feature to Linux only
- Add target-specific feature configuration in Cargo.toml for obs and event-notifier crates
- Implement conditional compilation for kafka feature only on Linux systems
- Add appropriate error handling for non-Linux platforms
- Ensure backward compatibility with existing code
* refactor(ci): optimize build workflow for better efficiency
- Integrate GUI build steps into main build-rustfs job
- Add conditional GUI build execution based on tag releases
- Simplify workflow by removing redundant build-rustfs-gui job
- Copy binary directly to embedded-rustfs directory without downloading artifacts
- Update merge job dependency to only rely on build-rustfs
- Improve cross-platform compatibility for Windows binary naming (.exe)
- Streamline artifact uploading and OSS publishing process
- Maintain consistent conditional logic for release operations
* refactor(ci): optimize build workflow for better efficiency
- Integrate GUI build steps into main build-rustfs job
- Add conditional GUI build execution based on tag releases
- Simplify workflow by removing redundant build-rustfs-gui job
- Copy binary directly to embedded-rustfs directory without downloading artifacts
- Update merge job dependency to only rely on build-rustfs
- Improve cross-platform compatibility for Windows binary naming (.exe)
- Streamline artifact uploading and OSS publishing process
- Maintain consistent conditional logic for release operations
* fix(ci): add repo-token to setup-protoc action for authentication
- Add GITHUB_TOKEN parameter to arduino/setup-protoc@v3 action
- Ensure proper authentication for Protoc installation in CI workflow
- Maintain consistent setup across different CI environments
* modify config
* improve readme.md
* remove env config relation
* add allow(dead_code)