mirror of
https://github.com/rubenhensen/k8scd.git
synced 2026-09-17 02:12:55 +02:00
250 lines
11 KiB
YAML
250 lines
11 KiB
YAML
# Root key for MinIO Tenant Chart
|
|
tenant:
|
|
###
|
|
# The Tenant name
|
|
#
|
|
# Change this to match your preferred MinIO Tenant name.
|
|
name: myminio
|
|
###
|
|
# Specify the Operator container image to use for the deployment.
|
|
# ``image.tag``
|
|
# For example, the following sets the image to the ``quay.io/minio/operator`` repo and the v6.0.3 tag.
|
|
# The container pulls the image if not already present:
|
|
#
|
|
# .. code-block:: yaml
|
|
#
|
|
# image:
|
|
# repository: quay.io/minio/minio
|
|
# tag: RELEASE.2024-08-17T01-24-54Z
|
|
# pullPolicy: IfNotPresent
|
|
#
|
|
# The chart also supports specifying an image based on digest value:
|
|
#
|
|
# .. code-block:: yaml
|
|
#
|
|
# image:
|
|
# repository: quay.io/minio/minio@sha256
|
|
# digest: 28c80b379c75242c6fe793dfbf212f43c602140a0de5ebe3d9c2a3a7b9f9f983
|
|
# pullPolicy: IfNotPresent
|
|
#
|
|
#
|
|
image:
|
|
repository: quay.io/minio/minio
|
|
tag: RELEASE.2024-08-17T01-24-54Z
|
|
pullPolicy: IfNotPresent
|
|
###
|
|
#
|
|
# An array of Kubernetes secrets to use for pulling images from a private ``image.repository``.
|
|
# Only one array element is supported at this time.
|
|
imagePullSecret: { }
|
|
###
|
|
# The Kubernetes `Scheduler <https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/>`__ to use for dispatching Tenant pods.
|
|
#
|
|
# Specify an empty dictionary ``{}`` to dispatch pods with the default scheduler.
|
|
scheduler: { }
|
|
###
|
|
# The Kubernetes secret name that contains MinIO environment variable configurations.
|
|
# The secret is expected to have a key named config.env containing environment variables exports.
|
|
configuration:
|
|
name: myminio-env-configuration
|
|
###
|
|
# Root key for dynamically creating a secret for use with configuring root MinIO User
|
|
# Specify the ``name`` and then a list of environment variables.
|
|
#
|
|
# .. important::
|
|
#
|
|
# Do not use this in production environments.
|
|
# This field is intended for use with rapid development or testing only.
|
|
#
|
|
# For example:
|
|
#
|
|
# .. code-block:: yaml
|
|
#
|
|
# name: myminio-env-configuration
|
|
# accessKey: minio
|
|
# secretKey: minio123
|
|
#
|
|
configSecret:
|
|
name: myminio-env-configuration
|
|
accessKey: minio
|
|
secretKey: minio123
|
|
#existingSecret: true
|
|
|
|
###
|
|
# If this variable is set to true, then enable the usage of an existing Kubernetes secret to set environment variables for the Tenant.
|
|
# The existing Kubernetes secret name must be placed under .tenant.configuration.name e.g. existing-minio-env-configuration
|
|
# The secret must contain a key ``config.env``.
|
|
# The values should be a series of export statements to set environment variables for the Tenant.
|
|
# For example:
|
|
#
|
|
# .. code-block:: shell
|
|
#
|
|
# stringData:
|
|
# config.env: |-
|
|
# export MINIO_ROOT_USER=ROOTUSERNAME
|
|
# export MINIO_ROOT_PASSWORD=ROOTUSERPASSWORD
|
|
#
|
|
# existingSecret: false
|
|
###
|
|
# Top level key for configuring MinIO Pool(s) in this Tenant.
|
|
#
|
|
# See `Operator CRD: Pools <https://min.io/docs/minio/kubernetes/upstream/reference/operator-crd.html#pool>`__ for more information on all subfields.
|
|
pools:
|
|
###
|
|
# The number of MinIO Tenant Pods / Servers in this pool.
|
|
# For standalone mode, supply 1. For distributed mode, supply 4 or more.
|
|
# Note that the operator does not support upgrading from standalone to distributed mode.
|
|
- servers: 4
|
|
###
|
|
# Custom name for the pool
|
|
name: pool-0
|
|
###
|
|
# The number of volumes attached per MinIO Tenant Pod / Server.
|
|
volumesPerServer: 4
|
|
###
|
|
# The capacity per volume requested per MinIO Tenant Pod.
|
|
size: 10Gi
|
|
###
|
|
# The `storageClass <https://kubernetes.io/docs/concepts/storage/storage-classes/>`__ to associate with volumes generated for this pool.
|
|
#
|
|
# If using Amazon Elastic Block Store (EBS) CSI driver
|
|
# Please make sure to set xfs for "csi.storage.k8s.io/fstype" parameter under StorageClass.parameters.
|
|
# Docs: https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/master/docs/parameters.md
|
|
# storageClassName: standard
|
|
###
|
|
# Specify `storageAnnotations <https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/>`__ to associate to PVCs.
|
|
storageAnnotations: { }
|
|
###
|
|
# Specify `annotations <https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/>`__ to associate to Tenant pods.
|
|
annotations: { }
|
|
###
|
|
# Specify `labels <https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/>`__ to associate to Tenant pods.
|
|
labels: { }
|
|
###
|
|
#
|
|
# An array of `Toleration labels <https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/>`__ to associate to Tenant pods.
|
|
#
|
|
# These settings determine the distribution of pods across worker nodes.
|
|
tolerations: [ ]
|
|
###
|
|
# Any `Node Selectors <https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/>`__ to apply to Tenant pods.
|
|
#
|
|
# The Kubernetes scheduler uses these selectors to determine which worker nodes onto which it can deploy Tenant pods.
|
|
#
|
|
# If no worker nodes match the specified selectors, the Tenant deployment will fail.
|
|
nodeSelector: { }
|
|
###
|
|
#
|
|
# The `affinity <https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/>`__ or anti-affinity settings to apply to Tenant pods.
|
|
#
|
|
# These settings determine the distribution of pods across worker nodes and can help prevent or allow colocating pods onto the same worker nodes.
|
|
affinity: { }
|
|
###
|
|
#
|
|
# The `Requests or Limits <https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/>`__ for resources to associate to Tenant pods.
|
|
#
|
|
# These settings can control the minimum and maximum resources requested for each pod.
|
|
# If no worker nodes can meet the specified requests, the Operator may fail to deploy.
|
|
resources: { }
|
|
###
|
|
# The Kubernetes `SecurityContext <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/>`__ to use for deploying Tenant resources.
|
|
#
|
|
# You may need to modify these values to meet your cluster's security and access settings.
|
|
#
|
|
# We recommend disabling recursive permission changes by setting ``fsGroupChangePolicy`` to ``OnRootMismatch`` as those operations can be expensive for certain workloads (e.g. large volumes with many small files).
|
|
securityContext:
|
|
runAsUser: 1000
|
|
runAsGroup: 1000
|
|
fsGroup: 1000
|
|
fsGroupChangePolicy: "OnRootMismatch"
|
|
runAsNonRoot: true
|
|
###
|
|
# The Kubernetes `SecurityContext <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/>`__ to use for deploying Tenant containers.
|
|
# You may need to modify these values to meet your cluster's security and access settings.
|
|
containerSecurityContext:
|
|
runAsUser: 1000
|
|
runAsGroup: 1000
|
|
runAsNonRoot: true
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
###
|
|
#
|
|
# An array of `Topology Spread Constraints <https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/>`__ to associate to Operator Console pods.
|
|
#
|
|
# These settings determine the distribution of pods across worker nodes.
|
|
topologySpreadConstraints: [ ]
|
|
###
|
|
#
|
|
# The name of a custom `Container Runtime <https://kubernetes.io/docs/concepts/containers/runtime-class/>`__ to use for the Operator Console pods.
|
|
# runtimeClassName: ""
|
|
###
|
|
# The mount path where Persistent Volumes are mounted inside Tenant container(s).
|
|
mountPath: /export
|
|
###
|
|
# The Sub path inside Mount path where MinIO stores data.
|
|
#
|
|
# .. warning::
|
|
#
|
|
# Treat the ``mountPath`` and ``subPath`` values as immutable once you deploy the Tenant.
|
|
# If you change these values post-deployment, then you may have different paths for new and pre-existing data.
|
|
# This can vastly increase operational complexity and may result in unpredictable data states.
|
|
subPath: /data
|
|
###
|
|
# Configures a Prometheus-compatible scraping endpoint at the specified port.
|
|
metrics:
|
|
enabled: false
|
|
port: 9000
|
|
protocol: http
|
|
###
|
|
# Configures external certificate settings for the Tenant.
|
|
certificate:
|
|
###
|
|
# Specify an array of Kubernetes TLS secrets, where each entry corresponds to a secret the TLS private key and public certificate pair.
|
|
#
|
|
# This is used by MinIO to verify TLS connections from clients using those CAs
|
|
# If you omit this and have clients using TLS certificates minted by an external CA, those connections may fail with warnings around certificate verification.
|
|
# See `Operator CRD: TenantSpec <https://min.io/docs/minio/kubernetes/upstream/reference/operator-crd.html#tenantspec>`__.
|
|
externalCaCertSecret: [ ]
|
|
###
|
|
# Specify an array of Kubernetes secrets, where each entry corresponds to a secret contains the TLS private key and public certificate pair.
|
|
#
|
|
# Omit this to use only the MinIO Operator autogenerated certificates.
|
|
#
|
|
# If you omit this field *and* set ``requestAutoCert`` to false, the Tenant starts without TLS.
|
|
#
|
|
# See `Operator CRD: TenantSpec <https://min.io/docs/minio/kubernetes/upstream/reference/operator-crd.html#tenantspec>`__.
|
|
#
|
|
# .. important::
|
|
#
|
|
# The MinIO Operator may output TLS connectivity errors if it cannot trust the Certificate Authority (CA) which minted the custom certificates.
|
|
#
|
|
# You can pass the CA to the Operator to allow it to trust that cert.
|
|
# See `Self-Signed, Internal, and Private Certificates <https://min.io/docs/minio/kubernetes/upstream/operations/network-encryption.html#self-signed-internal-and-private-certificates>`__ for more information.
|
|
# This step may also be necessary for globally trusted CAs where you must provide intermediate certificates to the Operator to help build the full chain of trust.
|
|
externalCertSecret: [ ]
|
|
###
|
|
# Enable automatic Kubernetes based `certificate generation and signing <https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster>`__
|
|
requestAutoCert: true
|
|
###
|
|
# The minimum number of days to expiry before an alert for an expiring certificate is fired.
|
|
# In the below example, if a given certificate will expire in 7 days then expiration events will only be triggered 1 day before expiry
|
|
# certExpiryAlertThreshold: 1
|
|
###
|
|
# This field is used only when ``requestAutoCert: true``.
|
|
# Use this field to set CommonName for the auto-generated certificate.
|
|
# MinIO defaults to using the internal Kubernetes DNS name for the pod
|
|
# The default DNS name format is typically ``*.minio.default.svc.cluster.local``.
|
|
#
|
|
# See `Operator CRD: CertificateConfig <https://min.io/docs/minio/kubernetes/upstream/reference/operator-crd.html#certificateconfig>`__
|
|
certConfig: { }
|
|
###
|
|
# MinIO features to enable or disable in the MinIO Tenant
|
|
# See `Operator CRD: Features <https://min.io/docs/minio/kubernetes/upstream/reference/operator-crd.html#features>`__.
|
|
features:
|
|
bucketDNS: false
|
|
domains: { }
|
|
enableSFTP: false |