Module: MINIO

Deploy Silo, MinIO, or RustFS S3-compatible object storage through the unified MINIO module and use it as a PostgreSQL backup repository.

MINIO is Pigsty’s compatibility module name for S3-compatible object storage; it no longer requires the server to be MinIO. The current source selects Silo, MinIO, or RustFS through minio_type, and defaults new clusters to Silo.

All three engines share the same inventory model, TLS certificates, S3 port, mcli client aliases, and bucket/user provisioning interfaces. They can serve as PostgreSQL pgBackRest backup repositories. The module name, parameter prefix, and monitoring job retain the MINIO / minio_* namespace for compatibility with existing inventories and operational entry points.

Engineminio_typeCurrent RoleMonitoring
SilosiloCurrent source default; preserves MinIO S3/Admin APIs, MINIO_* environment variables, and disk formatScrapes /minio/metrics/v3
MinIOminioCompatibility with existing deployments; retain explicitly when upgrading an existing MinIO clusterScrapes /minio/metrics/v3
RustFSrustfsOptional engine; S3/API compatible, but with separate binary, configuration, certificate directory, and data formatNative OTLP push plus HTTPS readiness probe

MINIO is an optional module. When using it as a pgBackRest S3 repository, deploy it before the PGSQL module. TLS certificates and the host baseline come from the NODE / CA capabilities.


Quick Start

The following inventory explicitly defines a single-node Silo cluster. Both minio_cluster and minio_seq are required identity parameters. Even though Silo is the current default, production inventories should set minio_type explicitly to prevent semantic drift during upgrades.

minio:
  hosts:
    10.10.10.10: { minio_seq: 1 }
  vars:
    minio_cluster: minio
    minio_type: silo
./minio.yml -l minio    # Deploy the selected object-storage engine on the minio group

The inventory group name may differ from minio_cluster. Roles calculate actual membership from each host’s minio_cluster identity. Do not define minio_cluster in all.vars, or every host will be treated as an object-storage member.

After deployment, use these entry points:

  • S3 API: https://sss.pigsty:9000 (configure DNS or /etc/hosts explicitly for the domain)
  • Administration UI: https://<node-ip>:9001; the RustFS console is under /rustfs/console/ on that port
  • Command line: mcli ls sss/ (a preconfigured alias is written on the admin node and cluster members)

The default administrator credentials are minioadmin / S3User.MinIO. They are for demos only and must be changed before production deployment.


Deployment Modes

All three engines use the same Pigsty inventory model:

ModeDescriptionUse Cases
Single-Node Single-Disk (SNSD)Single node, one data directoryDevelopment, testing, demos
Single-Node Multi-Disk (SNMD)Single node, multiple disksResource-constrained small deployments
Multi-Node Multi-Disk (MNMD)Multiple nodes with multiple disks per nodeRecommended for production

The multi-pool expansion semantics of minio_volumes come from the MinIO/Silo-compatible interface. Before changing RustFS storage pools, verify the upstream support and migration constraints of the version in use.


Core Capabilities

  • Unified interface: All three engines share minio_* parameters, the S3 port, TLS, and the mcli provisioning flow
  • HA topologies: Supports single-node and multi-node multi-drive deployments, with multiple independent clusters in one inventory
  • Backup repository: Can serve as a remote pgBackRest S3 repository
  • Security baseline: Enables HTTPS by default and uses the Pigsty CA to issue a certificate for every instance
  • Observability: Silo/MinIO use Metrics V3; RustFS uses native OTLP, a separate readiness probe, and dedicated Grafana dashboards
  • Operational compatibility: Module name, target directories, monitoring labels, and client aliases retain the MINIO namespace

Usage

Quickly use Silo, MinIO, or RustFS deployed by the MINIO module through mcli, rclone, and pgBackRest.

Configuration

Select Silo, MinIO, or RustFS and configure reliable S3 object-storage access in single-node, multi-drive, or multi-node modes.

Parameters

The MINIO module exposes 28 parameters for selecting and configuring Silo, MinIO, or RustFS object-storage clusters.

Playbook

Deploy or remove Silo, MinIO, and RustFS object-storage clusters with the built-in Ansible playbooks.

Administration

Create, remove, upgrade, and recover Silo, MinIO, and RustFS object-storage clusters while distinguishing engine upgrades from data migration.

Monitoring and Alerting

How Pigsty monitors Silo, MinIO, and RustFS, including object-storage metric paths, Grafana dashboards, and alert rules.

Metrics

Metrics V3 and native RustFS interfaces, key metrics, and stable labels currently used by the Pigsty MINIO module.

FAQ

Frequently asked questions about the Pigsty MINIO object storage module


Last Modified: 2026-08-10: calibrate for pigsty 4.5 (3683ee2b)