crates/config/README.md
RustFS Config provides configuration management and validation capabilities for the RustFS distributed object storage system. For the complete RustFS experience, please visit the main RustFS repository.
For comprehensive documentation, examples, and usage guides, please visit the main RustFS repository.
RustFS uses a flat naming style for top-level configuration: environment variables are RUSTFS_* without nested module segments.
Examples:
RUSTFS_REGIONRUSTFS_ADDRESSRUSTFS_VOLUMESRUSTFS_LICENSERUSTFS_LICENSE_PUBLIC_KEYCurrent guidance:
RUSTFS_ENABLE_SCANNER -> RUSTFS_SCANNER_ENABLEDRUSTFS_ENABLE_HEAL -> RUSTFS_HEAL_ENABLEDRUSTFS_DATA_SCANNER_START_DELAY_SECS -> RUSTFS_SCANNER_START_DELAY_SECSRUSTFS_LICENSE contains the signed license token.RUSTFS_LICENSE_PUBLIC_KEY contains the RSA public key used to verify signed license tokens.RUSTFS_CORS_ALLOWED_ORIGINS defaults to empty, so the S3 endpoint emits no generic CORS headers unless configured. Set * for wildcard origins without credentials, or a comma-separated allow-list for credentialed explicit origins.RUSTFS_CONSOLE_CORS_ALLOWED_ORIGINS defaults to * for the console service.RUSTFS_SCANNER_SPEED (canonical, also accepts MINIO_SCANNER_SPEED)RUSTFS_SCANNER_CYCLE (canonical, also accepts MINIO_SCANNER_CYCLE)RUSTFS_SCANNER_START_DELAY_SECS (canonical)RUSTFS_DATA_SCANNER_START_DELAY_SECS (deprecated alias for compatibility)RUSTFS_SCANNER_IDLE_MODE (canonical)RUSTFS_SCANNER_CACHE_SAVE_TIMEOUT_SECS (canonical)RUSTFS_DRIVE_METADATA_TIMEOUT_SECSRUSTFS_DRIVE_DISK_INFO_TIMEOUT_SECSRUSTFS_DRIVE_LIST_DIR_TIMEOUT_SECSRUSTFS_DRIVE_WALKDIR_TIMEOUT_SECSRUSTFS_DRIVE_WALKDIR_STALL_TIMEOUT_SECSLegacy compatibility fallback:
RUSTFS_DRIVE_MAX_TIMEOUT_DURATION
This legacy variable is treated as a deprecated fallback for the operation-specific drive timeout variables above when a canonical variable is unset.Drive timeout health-action policy:
RUSTFS_DRIVE_TIMEOUT_HEALTH_ACTION
mark_failure (default): timeout marks failure and may transition drive runtime state.ignore_scanner: timeout does not mark failure for scanner-sensitive operations (walk_dir, read_metadata, list_dir, disk_info).Drive timeout profile preset:
RUSTFS_DRIVE_TIMEOUT_PROFILE
default (default): keep current timeout defaults.high_latency: use 60s default timeout for scanner-sensitive operations when no per-operation timeout override is set (read_metadata, disk_info, list_dir, walk_dir, walk_dir_stall).RUSTFS_DRIVE_*_TIMEOUT_SECS) takes highest precedence.RUSTFS_DRIVE_MAX_TIMEOUT_DURATION legacy fallback.default or high_latency).RUSTFS_UNSUPPORTED_FS_POLICY controls startup behavior when RustFS detects local endpoint filesystems that are outside the supported production boundary.
warn (default): log warning and continue startup.fail: abort startup with an error.RustFS production guidance remains direct-attached local POSIX filesystems. Network-mounted filesystems (for example nfs, cifs, smb2, and fuse.*) are treated as unsupported by this startup guard.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.