Overview
MinIO is a high-performance, S3-compatible object storage system. This template deploys a distributed MinIO cluster with erasure coding across multiple replicas for durability and fault tolerance, backed by persistent storage and an optional autoscaling volume set.What Gets Created
- Stateful Workload — A distributed MinIO cluster with a configurable number of replicas (minimum 4, must be even).
- Volume Set — Persistent storage per replica with optional autoscaling.
- Secrets — An opaque startup script secret that configures the distributed server list and handles node initialization, and a dictionary secret storing the admin username and password.
- Identity & Policy — An identity bound to the workload with
revealaccess to both secrets.
This template does not create a GVC. You must deploy it into an existing GVC.
Installation
This template has no external prerequisites. To install, follow the instructions for your preferred method:UI
Browse, install, and manage templates visually
CLI
Manage templates from your terminal
Terraform
Declare templates in your Terraform configurations
Pulumi
Declare templates in your Pulumi programs
Configuration
The defaultvalues.yaml for this template:
Credentials
admin.username— MinIO admin username. Change before deploying to production.admin.password— MinIO admin password. Change before deploying to production.
Replicas
replicas— Number of MinIO instances in the distributed cluster (minimum 4, must be even).
MinIO requires at least 4 replicas to form a distributed cluster with erasure coding. For production workloads, 6 or more replicas are recommended. Depending on your organization’s default quotas, you may need to request higher limits.
Resources
resources.minCpu/resources.minMemory— Minimum CPU and memory guaranteed to each replica.resources.maxCpu/resources.maxMemory— Maximum CPU and memory each replica can use.
Storage
volumeset.capacity— Initial volume size in GiB per replica (minimum 10).volumeset.autoscaling.enabled— Automatically expand each volume as it fills. When enabled:maxCapacity— Maximum volume size in GiB.minFreePercentage— Trigger a scale-up when free space drops below this percentage.scalingFactor— Multiply the current capacity by this factor when scaling up.
Internal Access
internalAccess.type— Controls which workloads can connect to MinIO on ports9000and9001:
| Type | Description |
|---|---|
none | No internal access allowed |
same-gvc | Allow access from all workloads in the same GVC |
same-org | Allow access from all workloads in the same organization |
workload-list | Allow access only from specific workloads listed in workloads |
Do not set
internalAccess.type to none. MinIO replicas must be able to communicate with each other for distributed mode to function.Connecting to MinIO
Once deployed, connect to the MinIO S3 API from within the same GVC using the MinIO client:9001 at: