From a5e3a9eeba8ab6de3a3515378be3232365e1a61a Mon Sep 17 00:00:00 2001 From: Ruben Hensen Date: Tue, 10 Sep 2024 00:27:06 +0200 Subject: [PATCH] All comments value file --- minio/values-tenant.yaml | 301 ++------------------------------------- 1 file changed, 15 insertions(+), 286 deletions(-) diff --git a/minio/values-tenant.yaml b/minio/values-tenant.yaml index e1cbcbd..f1d2ef8 100644 --- a/minio/values-tenant.yaml +++ b/minio/values-tenant.yaml @@ -1,166 +1,38 @@ -# 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 ` 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 MINIOROOTUSER=ROOTUSERNAME - # export MINIOROOTPASSWORD=ROOTUSERPASSWORD - # - # existingSecret: false - - # Top level key for configuring MinIO Pool(s) in this Tenant. - # - # See `Operator CRD: Pools ` 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: 1 - - # Custom name for the pool name: pool-0 - - # The number of volumes attached per MinIO Tenant Pod / Server. volumesPerServer: 1 - - # The capacity per volume requested per MinIO Tenant Pod. size: 10Gi - - # The `storageClass ` 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 ` to associate to PVCs. storageAnnotations: { } - - # Specify `annotations ` to associate to Tenant pods. annotations: { } - - # Specify `labels ` to associate to Tenant pods. labels: { } - - # - # An array of `Toleration labels ` to associate to Tenant pods. - # - # These settings determine the distribution of pods across worker nodes. tolerations: [ ] - - # Any `Node Selectors ` 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 ` 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 ` 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 ` 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 ` 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 @@ -171,183 +43,40 @@ tenant: - ALL seccompProfile: type: RuntimeDefault - - # - # An array of `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 ` 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 `. 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 `. - # - # .. 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 ` 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 ` 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 ` certConfig: { } - - # MinIO features to enable or disable in the MinIO Tenant - # See `Operator CRD: Features `. features: bucketDNS: false domains: { } enableSFTP: false - - # Array of objects describing one or more buckets to create during tenant provisioning. - # Example: - # - # .. code-block:: yaml - # - # - name: my-minio-bucket - # objectLock: false # optional - # region: us-east-1 # optional buckets: [ ] - - # Array of Kubernetes secrets from which the Operator generates MinIO users during tenant provisioning. - # - # Each secret should specify the ``CONSOLEACCESSKEY`` and ``CONSOLESECRETKEY`` as the access key and secret key for that user. users: [ ] - - # The `PodManagement ` policy for MinIO Tenant Pods. - # Can be "OrderedReady" or "Parallel" podManagementPolicy: Parallel - # The `Liveness Probe ` for monitoring Tenant pod liveness. - # Tenant pods will be restarted if the probe fails. liveness: { } - - # `Readiness Probe ` for monitoring Tenant container readiness. - # Tenant pods will be removed from service endpoints if the probe fails. readiness: { } - - # `Startup Probe ` for monitoring container startup. - # Tenant pods will be restarted if the probe fails. - # Refer startup: { } - - # The `Lifecycle hooks ` for container. lifecycle: { } - - # Directs the Operator to deploy the MinIO S3 API and Console services as LoadBalancer objects. - # - # If the Kubernetes cluster has a configured LoadBalancer, it can attempt to route traffic to those services automatically. - # - # - Specify ``minio: true`` to expose the MinIO S3 API. - # - Specify ``console: true`` to expose the Console. - # - # Both fields default to ``false``. exposeServices: { } - - # The `Kubernetes Service Account ` associated with the Tenant. serviceAccountName: "" - - # Directs the Operator to add the Tenant's metric scrape configuration to an existing Kubernetes Prometheus deployment managed by the Prometheus Operator. prometheusOperator: false - - # Configure pod logging configuration for the MinIO Tenant. - # - # - Specify ``json`` for JSON-formatted logs. - # - Specify ``anonymous`` for anonymized logs. - # - Specify ``quiet`` to supress logging. - # - # An example of JSON-formatted logs is as follows: - # - # .. code-block:: shell - # - # $ k logs myminio-pool-0-0 -n default - # {"level":"INFO","errKind":"","time":"2022-04-07T21:49:33.740058549Z","message":"All MinIO sub-systems initialized successfully"} logging: { } - - # serviceMetadata allows passing additional labels and annotations to MinIO and Console specific - # services created by the operator. serviceMetadata: { } - - # Add environment variables to be set in MinIO container (https://github.com/minio/minio/tree/master/docs/config) env: [ ] - - # PriorityClassName indicates the Pod priority and hence importance of a Pod relative to other Pods. - # This is applied to MinIO pods only. - # Refer Kubernetes documentation for details https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass/ priorityClassName: "" - - # An array of `Volumes ` which the Operator can mount to Tenant pods. - # - # The volumes must exist *and* be accessible to the Tenant pods. additionalVolumes: [ ] - - # An array of volume mount points associated to each Tenant container. - # - # Specify each item in the array as follows: - # - # .. code-block:: yaml - # - # volumeMounts: - # - name: volumename - # mountPath: /path/to/mount - # - # The ``name`` field must correspond to an entry in the ``additionalVolumes`` array. additionalVolumeMounts: [ ] - - -# Configures `Ingress ` for the Tenant S3 API and Console. -# -# Set the keys to conform to the Ingress controller and configuration of your choice. ingress: api: enabled: true @@ -358,7 +87,7 @@ ingress: nginx.ingress.kubernetes.io/ssl-passthrough: "true" nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" tls: - # TLS secretName used on ClusterIssuer + - secretName: letsencrypt-prod hosts: - minio.hensen.io @@ -374,16 +103,16 @@ ingress: host: minio-console.local path: / pathType: Prefix -# Use an extraResources template section to include additional Kubernetes resources -# with the Helm deployment. -#extraResources: -# - | -# apiVersion: v1 -# kind: Secret -# type: Opaque -# metadata: -# name: {{ dig "tenant" "configSecret" "name" "" (.Values | merge (dict)) }} -# stringData: -# config.env: |- -# export MINIOROOTUSER='minio' -# export MINIOROOTPASSWORD='minio123' + + + + + + + + + + + + +