MinIO Custom Resource Definition
The MinIO Operator installs a Custom Resource Definition (CRD) that describes a MinIO Tenant object. The Operator uses this CRD for provisioning and managing Tenant resources within a Kubernetes cluster.
This page documents the CRD reference for use in customizing Operator-deployed Tenants. This documentation assumes familiarity with all referenced Kubernetes concepts, utilities, and procedures.
Operator CRD v2 Reference
Package v2 - This page provides a quick automatically generated
reference for the MinIO Operator Operator CRD v2 Reference
CRD. For more
complete documentation on the MinIO Operator CRD, see MinIO Kubernetes
Documentation.
The Operator CRD v2 Reference
API was released with the v4.0.0 MinIO Operator.
The MinIO Operator automatically converts existing tenants using the
/v1
API to /v2
.
Bucket
Bucket describes the default created buckets
CertificateConfig
CertificateConfig (certConfig
) defines controlling attributes
associated to any TLS certificate automatically generated by the
Operator as part of tenant creation. These fields have no effect if
spec.autoCert: false
.
CertificateStatus
CertificateStatus keeps track of all the certificates managed by the operator
CustomCertificateConfig
CustomCertificateConfig (customCertificateConfig
) provides attributes
associated of the TLS certificates manually added to the Operator as
part of tenant creation. These fields contain no data if there are no
custom TLS certificates.
CustomCertificates
CustomCertificates (customCertificates
) provides groupings of the TLS
certificates manually added to the Operator as part of tenant creation.
These fields contain no data if there are no custom TLS certificates.
ExposeServices
ExposeServices (exposeServices
) defines the exposure of the MinIO
object storage and Console services.
Features
Features (features
) - Object describing which MinIO features to
enable/disable in the MinIO Tenant.
HealthStatus (string)
HealthStatus represents whether the tenant is healthy, with decreased service or offline
KESConfig
KESConfig (kes
) defines the configuration of the MinIO Key Encryption
Service (KES) StatefulSet deployed as
part of the MinIO Tenant. KES supports Server-Side Encryption of objects
using an external Key Management Service (KMS).
LocalCertificateReference
LocalCertificateReference (externalCertSecret
,
externalCaCertSecret
,clientCertSecret
) contains a Kubernetes secret
containing TLS certificates or Certificate Authority files for use with
enabling TLS in the MinIO Tenant.
Logging
Logging describes Logging for MinIO tenants.
Pool
Pool (pools
) defines a MinIO server pool on a Tenant. Each pool
consists of a set of MinIO server pods which “pool” their storage
resources for supporting object storage and retrieval requests. Each
server pool is independent of all others and supports horizontal scaling
of available storage resources in the MinIO Tenant.
See the MinIO Operator
CRD
reference for the pools
object for examples and more complete
documentation.
PoolState (string)
PoolState represents the state of a pool
PoolStatus
PoolStatus keeps track of all the pools and their current state
PoolsMetadata
PoolsMetadata (poolsMetadata
) defines custom labels and annotations
for the MinIO pool stateful sets / pods.
ServiceMetadata
ServiceMetadata (serviceMetadata
) defines custom labels and
annotations for the MinIO Object Storage service and/or MinIO Console
service.
SideCars
SideCars (sidecars
) defines a list of containers that the Operator
attaches to each MinIO server pods in the pool
.
Tenant
Tenant is a Kubernetes object describing a MinIO Tenant.
TenantDomains
TenantDomains (domains
) - List of domains used to access the tenant
from outside the kubernetes clusters. this will only configure MinIO for
the domains listed, but external DNS configuration is still needed. The
listed domains should include schema and port if any is used, i.e.
https://minio.domain.com:8123
TenantScheduler
TenantScheduler (scheduler
) - Object describing Kubernetes Scheduler
to use for deploying the MinIO Tenant.
TenantSpec
TenantSpec (spec
) defines the configuration of a MinIO Tenant
object.
The following parameters are specific to the Operator CRD v2 Reference
MinIO CRD
API spec
definition added as part of the MinIO Operator v4.0.0.
For more complete documentation on this object, see the MinIO Kubernetes Documentation.
TenantUsage
TenantUsage are metrics regarding the usage and capacity of the tenant
TierUsage
TierUsage represents the usage from a tier setup by the tenant