Run an S3-compatible store alongside MinIO or Ceph or migrate data between them
You can keep your existing S3-compatible storage in place while adding a new system or migrating data. RustFS is a distributed object storage system that supports the S3 API and is written in Rust to balance memory safety with processing speed. It is designed with use cases in mind that involve handling large volumes of data, such as data lakes and AI workloads.
Coexistence and migration with existing S3 platforms
RustFS supports migration and coexistence with other S3-compatible platforms like MinIO and Ceph. This allows you to maintain your existing infrastructure while moving data to a new storage system or running both systems simultaneously. Compatibility with MinIO's on-disk file format is available only when the rio-v2 feature flag is enabled, and objects encrypted in MinIO cannot be read in RustFS. This structure gives teams who want to manage data without being locked into a specific cloud vendor an additional option.
Features for data lakes and AI workloads
RustFS is optimized for data lake, AI, and big data workloads. It provides features such as S3 Select, Iceberg REST catalog (S3 Tables), and lifecycle tiering using remote S3. S3 Tables supports automation of PyIceberg and DuckDB coverage, while other engines operate within the scope specified in the support matrix. These features handle data access and management efficiently in large-scale data analysis pipelines.
Installation and permission settings by deployment method
You can deploy RustFS in various ways, including Docker, Kubernetes (Helm Chart), Nix Flake, and source build. When using Docker, the container runs as the rustfs user (UID/GID 10001:10001), so you must change the ownership of bind-mounted data and log directories to this user. In Kubernetes clusters, installation is done via Helm charts, while in Nix environments, you can run the binary directly using flakes or integrate it as a system module. Each deployment method requires preparation according to infrastructure requirements, and you should choose the method that fits your environment.
License and security configuration checks
RustFS is distributed under the Apache 2.0 license, with no restrictions on commercial use or community contributions. This is an advantage that avoids the legal risks associated with the AGPL license, making it favorable for consideration in enterprise environments. On the security side, it offers KMS functionality that supports Vault and AWS KMS as backends, while Local and Static backends are recommended only for development and testing purposes. If you use the webhook notification feature, internal network addresses must be explicitly registered in RUSTFS_OUTBOUND_ALLOW_ORIGINS, and settings that skip TLS certificate verification should be avoided due to the risk of MITM attacks. These security settings are essential for maintaining data integrity and access control in production environments.