Each storage deployment (MinIO or RustFS) is added as a server row on the module: Settings > Company > Modules > S3 Object Storage Provision Module (MinIO & RustFS) > Manage > Add Server.
Server fields
- Server name — a label; also used to group servers.
- Host / Port — the storage server's S3 API endpoint (e.g.
https://s3.example.com, port 443 or 9000).
- Server Region — the region string your deployment uses (e.g.
us-east-1); presigned URLs and S3 clients need it to match.
- Access Key / Secret Key — root (admin) credentials for the storage server. Used to create users, buckets, policies and quotas. The secret is stored encrypted.
- Storage Capacity — total sellable capacity of this server (e.g.
10000 gi), used to stop overselling.
- Oversell Allowance % — how far above capacity provisioning may go (0–100).
Metrics fields (for the Usage Billing plugin)
- Bandwidth needs no setup: the collector reads the server's metrics v3 endpoint directly and signs its own bearer token from the server row's keys.
- Disk usage comes from Prometheus. Fill in:
- Prometheus Host — base URL of your Prometheus server (e.g.
http://10.0.0.5:9091).
- Prometheus Job — must match the
job_name in your Prometheus scrape config.
- Prometheus User / Password — if Prometheus is behind basic auth (password stored encrypted).
The server form shows a ready-to-paste prometheus.yml scrape example for your deployment.
Server groups
Create groups under Manage > Server Groups to control which servers a package can provision to; packages can target a group or let the client choose.
Notes
- Secrets are encrypted when a row is added or edited. Rows created by very old versions stay plaintext until you open and save them once — do that after upgrading.
- Rotating the storage server's root credentials? Update the server row — all module and plugin operations read the row live, nothing else to change.