MinIO Component
S3-compatible object storage with multi-tenancy via bucket sub-components. Auto-creates buckets with policies and generates connection secrets for linked applications.
Architecture
MinIO Server - S3-compatible object storage
Bucket - Sub-component for storage isolation
mc Client - Bucket provisioning via Jobs
S3 API - AWS S3-compatible interface
Console - Web UI for management
Quick Reference
| Attribute |
Example |
Default |
Effect |
namespace REQ |
minio |
- |
Kubernetes namespace |
root_user REQ |
admin |
- |
Root admin username |
root_password REQ |
secretpass |
- |
Root admin password |
replicas |
1 |
1 |
Server replicas (4 for distributed) |
storage_size |
50Gi |
10Gi |
PVC storage size |
storageclass |
standard |
default |
Storage class name |
Sub-Components
bucket SUB
Defines an S3 bucket with its own access credentials. Creates bucket via mc client Job and generates connection secrets.
| Attribute |
Example |
Description |
bucket_name REQ |
app-data |
Bucket name |
bucket_access_key REQ |
AKIAEXAMPLE |
S3 access key ID |
bucket_secret_key REQ |
secretkey123 |
S3 secret access key |
versioning |
true |
Enable object versioning |
quota |
10Gi |
Bucket quota limit |
retention_days |
30 |
Object retention in days |
Creates:
- Job: mc mb (bucket creation)
- Job: mc admin user add (user creation)
- Job: mc admin policy attach (policy assignment)
- Secret: bucket-secret.yaml (credentials)
Link Variables
| Variable |
Link Type |
Effect |
__prometheus |
prometheus-minio |
ServiceMonitor for metrics |
__loki |
loki-minio |
Loki bucket storage |
__apisix |
apisix-minio |
Gateway route exposure |
__velero |
velero-minio |
Velero backup storage |
__istio |
istio-minio |
Service mesh integration |
__kafka |
topic-minio |
Kafka S3 sink connector |
Components that Link to bucket Sub-Component
| Link Type |
Consumer |
Purpose |
backend-bucket |
fastapi, nodejs, etc. |
Injects S3 credentials (AWS_ACCESS_KEY_ID, etc.) |
cnpg-bucket |
CNPG |
PostgreSQL backup storage |
mongodb-bucket |
MongoDB |
MongoDB backup storage |
loki-bucket |
Loki |
Log storage backend |
velero-bucket |
Velero |
Cluster backup storage |
k6-bucket |
K6 |
Load test S3 operations |
kafka-bucket |
Kafka Connect |
S3 sink connector destination |
airflow-bucket |
Airflow |
DAG ETL S3 operations |
Generated Files
| File |
Condition |
Contains |
| helm/helm-values.yaml |
Always |
MinIO Helm values |
| bucket-job.yaml |
__bucket exists |
mc client bucket creation jobs |
| secret/minio.env |
Always |
Root credentials |
| secret/bucket-secret.yaml |
__bucket exists |
Per-bucket credentials |
| service-monitor.yaml |
__prometheus |
Prometheus ServiceMonitor |
Ports
| Port |
Purpose |
Protocol |
| 9000 |
S3 API endpoint |
HTTP/HTTPS |
| 9001 |
Console UI |
HTTP |
S3 Connection Format
Endpoint: http://minio.{namespace}.svc.cluster.local:9000
Region: us-east-1 (default)
ENV Variables (per bucket):
AWS_ACCESS_KEY_ID={bucket_access_key}
AWS_SECRET_ACCESS_KEY={bucket_secret_key}
AWS_ENDPOINT_URL=http://minio.{namespace}:9000
S3_BUCKET={bucket_name}
Technical Info
Chart Version: 14.6.0
mc Client: RELEASE.2024-08-26T10-49-58Z
Ports: 9000 (API), 9001 (Console)
Kaniko Version: v1.21.0 (for custom builds)