pools
Pool
array
|
Required
An array of objects describing each MinIO server pool deployed in the
MinIO 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.
The MinIO Tenant spec must have at least
one element in the pools array.
See the MinIO
Operator CRD reference for the pools object for
examples and more complete documentation. |
image
string
|
Optional
|
imagePullSecret
LocalObjectReference
|
Optional
Specify the secret key to use for pulling images from a private Docker
repository.
|
podManagementPolicy
PodManagementPolicyType
|
Optional
Pod Management Policy for pod created by StatefulSet |
credsSecret
LocalObjectReference
|
optional
Specify a Kubernetes
opaque secret to use for setting the MinIO root access key and
secret key. Specify the secret as name: <secret> . The
Kubernetes secret must contain the following fields:
* data.accesskey - The access key for the root
credentials
* data.secretkey - The secret key for the root
credentials
|
env
EnvVar
array
|
Optional
If provided, the MinIO Operator adds the specified environment variables
when deploying the Tenant resource. |
externalCertSecret
LocalCertificateReference
array
|
Optional
Enables TLS with SNI support on each MinIO pod in the tenant. If
externalCertSecret is omitted and
requestAutoCert is set to false , the MinIO
Tenant deploys without TLS enabled.
Specify an array of Kubernetes
TLS secrets. The MinIO Operator copies the specified certificates to
every MinIO server pod in the tenant. When the MinIO pod/service
responds to a TLS connection request, it uses SNI to select the
certificate with matching subjectAlternativeName .
Each element in the externalCertSecret array is an object
containing the following fields:
* - name - The name of the Kubernetes secret containing the
TLS certificate.
* - type - Specify kubernetes.io/tls
See the MinIO
Operator CRD reference for examples and more complete documentation
on configuring TLS for MinIO Tenants. |
externalCaCertSecret
LocalCertificateReference
array
|
Optional
Allows MinIO server pods to verify client TLS certificates signed by a
Certificate Authority not in the pod’s trust store.
Specify an array of Kubernetes
TLS secrets. The MinIO Operator copies the specified certificates to
every MinIO server pod in the tenant.
Each element in the externalCertSecret array is an object
containing the following fields:
* - name - The name of the Kubernetes secret containing the
Certificate Authority.
* - type - Specify kubernetes.io/tls .
See the MinIO
Operator CRD reference for examples and more complete documentation
on configuring TLS for MinIO Tenants. |
externalClientCertSecret
LocalCertificateReference
|
Optional
Enables mTLS authentication between the MinIO Tenant pods and MinIO KES.
Required for enabling connectivity between the MinIO
Tenant and MinIO KES.
Specify a Kubernetes
TLS secrets. The MinIO Operator copies the specified certificate to
every MinIO server pod in the tenant. The secret must
contain the following fields:
* name - The name of the Kubernetes secret containing the
TLS certificate.
* type - Specify kubernetes.io/tls
The specified certificate must correspond to an
identity on the KES server. See the KES
Wiki for more information on KES identities.
If deploying KES with the MinIO Operator, include the hash of the
certificate as part of the kes
object specification.
See the MinIO
Operator CRD reference for examples and more complete documentation
on configuring TLS for MinIO Tenants. |
externalClientCertSecrets
LocalCertificateReference
array
|
Optional
Provide support for mounting additional client certificate into MinIO
Tenant pods Multiple client certificates will be mounted using the
following folder structure:
* certs
* * client-0
* * * client.crt
* * * client.key
* * client-1
* * * client.crt
* * * client.key
* * * client-2
* * client.crt
* * * client.key
Specify a Kubernetes
TLS secrets. The MinIO Operator copies the specified certificate to
every MinIO server pod in the tenant that later can be referenced using
environment variables. The secret must contain the
following fields:
* name - The name of the Kubernetes secret containing the
TLS certificate.
* type - Specify kubernetes.io/tls
|
mountPath
string
|
Optional
Mount path for MinIO volume (PV). Defaults to
/export |
subPath
string
|
Optional
Subpath inside mount path. This is the directory where MinIO stores
data. Default to ""` (empty) |
requestAutoCert
boolean
|
Optional
Enables using Kubernetes-based
TLS certificate generation and signing for pods and services in the
MinIO Tenant.
* Specify true to explicitly enable automatic certificate
generate (Default).
* Specify false to disable automatic certificate
generation.
If requestAutoCert is set to false
and externalCertSecret is omitted, the
MinIO Tenant deploys without TLS enabled. See the MinIO
Operator CRD reference for examples and more complete documentation
on configuring TLS for MinIO Tenants. |
liveness
Probe
|
Liveness Probe for container liveness.
Container will be restarted if the probe fails. |
readiness
Probe
|
Readiness Probe for container
readiness. Container will be removed from service endpoints if the probe
fails. |
startup
Probe
|
Startup Probe allows to configure a max
grace period for a pod to start before getting traffic routed to
it. |
features
Features
|
S3 related features can be disabled or
enabled such as bucketDNS etc. |
certConfig
CertificateConfig
|
Optional
Enables setting the CommonName , Organization ,
and dnsName attributes for all TLS certificates
automatically generated by the Operator. Configuring this object has no
effect if requestAutoCert is false .
|
kes
KESConfig
|
Optional
Directs the MinIO Operator to deploy the MinIO Key Encryption Service
(KES) using the specified configuration. The MinIO KES supports
performing server-side encryption of objects on the MiNIO Tenant.
|
prometheusOperator
boolean
|
Optional
Directs the MinIO Operator to use prometheus operator.
Tenant scrape configuration will be added to prometheus managed by the
prometheus-operator. |
serviceAccountName
string
|
Optional
The Kubernetes
Service Account to use for running MinIO pods created as part of the
Tenant.
|
priorityClassName
string
|
Optional
Indicates the Pod priority and therefore importance of a Pod relative to
other Pods in the cluster. This is applied to MinIO pods only.
Refer Kubernetes Priority
Class documentation for more complete documentation. |
imagePullPolicy
PullPolicy
|
Optional
The pull policy for the MinIO Docker image. Specify one of the
following:
* Always
* Never
* IfNotPresent (Default)
Refer Kubernetes documentation for details https://kubernetes.io/docs/concepts/containers/images#updating-images |
sideCars
SideCars
|
Optional
A list of containers to run as sidecars along every MinIO Pod deployed
in the tenant. |
exposeServices
ExposeServices
|
Optional
Directs the Operator to expose the MinIO and/or Console services.
|
serviceMetadata
ServiceMetadata
|
Optional
Specify custom labels and annotations to append to the MinIO service
and/or Console service. |
users
LocalObjectReference
array
|
Optional
An array of Kubernetes
opaque secrets to use for generating MinIO users during tenant
provisioning.
Each element in the array is an object consisting of a key-value pair
name: <string> , where the <string>
references an opaque Kubernetes secret.
Each referenced Kubernetes secret must include the following
fields:
* CONSOLE_ACCESS_KEY - The "Username" for the MinIO
user
* CONSOLE_SECRET_KEY - The "Password" for the MinIO
user
The Operator creates each user with the consoleAdmin policy
by default. You can change the assigned policy after the Tenant
starts.
|
buckets
Bucket
array
|
Optional
Create buckets when creating a new tenant. Skip if bucket with given
name already exists |
logging
Logging
|
Optional
Enable JSON, Anonymous logging for MinIO tenants. |
configuration
LocalObjectReference
|
Optional
Specify a secret that contains additional environment variable
configurations to be used for the MinIO pools. The secret is expected to
have a key named config.env containing all exported environment
variables for MinIO+ |
initContainers
Container
array
|
Optional
Add custom initContainers to StatefulSet |
additionalVolumes
Volume
array
|
Optional
If provided, statefulset will add these volumes. You should set the
rules for the corresponding volumes and volume mounts. We will not test
this rule, k8s will show the result. |
additionalVolumeMounts
VolumeMount
array
|
Optional
If provided, statefulset will add these volumes. You should set the
rules for the corresponding volumes and volume mounts. We will not test
this rule, k8s will show the result. |