demo/rustfs
demo/rustfs explicitly sets minio_type: rustfs and deploys a RustFS S3-compatible object-storage cluster across four nodes. It reuses the MINIO module’s identity, TLS, mcli, bucket, and user-provisioning interfaces, while using a separate RustFS package, certificate directory, data format, and native OTLP metrics.
Overview
- Config name:
demo/rustfs - Nodes: 4 object-storage nodes; the first also hosts a single-node INFRA deployment
- Cluster identity:
minio_cluster: rustfs - Data directory:
/data/rustfson each node - Client endpoint:
https://rustfs-1.pigsty:9000, using aliasrustfs - Provisioning: creates the
pgsql,meta, anddatabuckets with corresponding example users - Repository: explicitly includes the RustFS package through
repo_extra_packages: [rustfs]
./configure -c demo/rustfs
./deploy.yml
You can also target only the four members after NODE and INFRA initialization:
./minio.yml -l minio
-l minio is the Ansible group name in the template; actual membership is determined by minio_cluster: rustfs.
Content
Source: pigsty/conf/demo/rustfs.yml
---
#==============================================================#
# File : rustfs.yml
# Desc : Four-node RustFS cluster managed by MINIO module
#==============================================================#
all:
children:
infra:
hosts:
10.10.10.10: { infra_seq: 1 }
minio:
hosts:
10.10.10.10: { minio_seq: 1 }
10.10.10.11: { minio_seq: 2 }
10.10.10.12: { minio_seq: 3 }
10.10.10.13: { minio_seq: 4 }
vars:
minio_type: rustfs
minio_cluster: rustfs
minio_data: /data/rustfs
minio_alias: rustfs
minio_endpoint: https://rustfs-1.pigsty:9000
minio_buckets:
- { name: pgsql }
- { name: meta, versioning: true }
- { name: data }
minio_users:
- { access_key: pgbackrest, secret_key: S3User.Backup, policy: pgsql }
- { access_key: s3user_meta, secret_key: S3User.Meta, policy: meta }
- { access_key: s3user_data, secret_key: S3User.Data, policy: data }
vars:
version: v4.5.0
admin_ip: 10.10.10.10
region: default
repo_extra_packages: [ rustfs ]
minio_access_key: minioadmin
minio_secret_key: S3User.MinIO
...
Explanation
- The MINIO role generates multi-node volume addresses from the four
minio_seqvalues and/data/rustfs. - By default, RustFS pushes native
rustfs_*metrics over OTLP/HTTP to VictoriaMetrics on the firstinfranode every 15 seconds and registers a separate HTTPS readiness probe. minio_endpointpoints directly to the first member and is not an HA endpoint. Production deployments should add a validated load balancer or VIP according to their failure budget.- All access keys in the template are public demo values and must be replaced before deployment.
- RustFS shares only the S3 and module interfaces with Silo/MinIO; their data formats are not interchangeable in place. Switching an existing cluster’s engine requires a validated data-migration and rollback procedure.
See the MINIO module and RustFS monitoring guide for parameters, monitoring, and migration boundaries.
Feedback
Was this page helpful?
Thanks for the feedback! Please let us know how we can improve.
Sorry to hear that. Please let us know how we can improve.