|
|
@@ -0,0 +1,344 @@
|
|
|
+## Provide a name in place of minio for `app:` labels
|
|
|
+##
|
|
|
+nameOverride: ""
|
|
|
+
|
|
|
+## Provide a name to substitute for the full names of resources
|
|
|
+##
|
|
|
+fullnameOverride: ""
|
|
|
+
|
|
|
+## set kubernetes cluster domain where minio is running
|
|
|
+##
|
|
|
+clusterDomain: cluster.local
|
|
|
+
|
|
|
+## Set default image, imageTag, and imagePullPolicy. mode is used to indicate the
|
|
|
+##
|
|
|
+image:
|
|
|
+ repository: minio/minio
|
|
|
+ tag: RELEASE.2020-11-19T23-48-16Z
|
|
|
+ pullPolicy: IfNotPresent
|
|
|
+
|
|
|
+## Set default image, imageTag, and imagePullPolicy for the `mc` (the minio
|
|
|
+## client used to create a default bucket).
|
|
|
+##
|
|
|
+mcImage:
|
|
|
+ repository: minio/mc
|
|
|
+ tag: RELEASE.2020-11-17T00-39-14Z
|
|
|
+ pullPolicy: IfNotPresent
|
|
|
+
|
|
|
+## Set default image, imageTag, and imagePullPolicy for the `jq` (the JSON
|
|
|
+## process used to create secret for prometheus ServiceMonitor).
|
|
|
+##
|
|
|
+helmKubectlJqImage:
|
|
|
+ repository: bskim45/helm-kubectl-jq
|
|
|
+ tag: 3.1.0
|
|
|
+ pullPolicy: IfNotPresent
|
|
|
+
|
|
|
+## minio server mode, i.e. standalone or distributed.
|
|
|
+## Distributed Minio ref: https://docs.minio.io/docs/distributed-minio-quickstart-guide
|
|
|
+##
|
|
|
+mode: standalone
|
|
|
+
|
|
|
+## Additional arguments to pass to minio binary
|
|
|
+extraArgs: []
|
|
|
+
|
|
|
+## Update strategy for Deployments
|
|
|
+DeploymentUpdate:
|
|
|
+ type: RollingUpdate
|
|
|
+ maxUnavailable: 0
|
|
|
+ maxSurge: 100%
|
|
|
+
|
|
|
+## Update strategy for StatefulSets
|
|
|
+StatefulSetUpdate:
|
|
|
+ updateStrategy: RollingUpdate
|
|
|
+
|
|
|
+## Pod priority settings
|
|
|
+## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
|
|
|
+##
|
|
|
+priorityClassName: ""
|
|
|
+
|
|
|
+## Set default accesskey, secretkey, Minio config file path, volume mount path and
|
|
|
+## number of nodes (only used for Minio distributed mode)
|
|
|
+## AccessKey and secretKey is generated when not set
|
|
|
+## Distributed Minio ref: https://docs.minio.io/docs/distributed-minio-quickstart-guide
|
|
|
+##
|
|
|
+accessKey: ""
|
|
|
+secretKey: ""
|
|
|
+certsPath: "/etc/minio/certs/"
|
|
|
+configPathmc: "/etc/minio/mc/"
|
|
|
+mountPath: "/export"
|
|
|
+
|
|
|
+## Use existing Secret that store following variables:
|
|
|
+##
|
|
|
+## | Chart var | .data.<key> in Secret |
|
|
|
+## |:----------------------|:-------------------------|
|
|
|
+## | accessKey | accesskey |
|
|
|
+## | secretKey | secretkey |
|
|
|
+## | gcsgateway.gcsKeyJson | gcs_key.json |
|
|
|
+## | s3gateway.accessKey | awsAccessKeyId |
|
|
|
+## | s3gateway.secretKey | awsSecretAccessKey |
|
|
|
+## | etcd.clientCert | etcd_client_cert.pem |
|
|
|
+## | etcd.clientCertKey | etcd_client_cert_key.pem |
|
|
|
+##
|
|
|
+## All mentioned variables will be ignored in values file.
|
|
|
+## .data.accesskey and .data.secretkey are mandatory,
|
|
|
+## others depend on enabled status of corresponding sections.
|
|
|
+existingSecret: ""
|
|
|
+
|
|
|
+## Override the root directory which the minio server should serve from.
|
|
|
+## If left empty, it defaults to the value of {{ .Values.mountPath }}
|
|
|
+## If defined, it must be a sub-directory of the path specified in {{ .Values.mountPath }}
|
|
|
+bucketRoot: ""
|
|
|
+
|
|
|
+# Number of drives attached to a node
|
|
|
+drivesPerNode: 1
|
|
|
+# Number of MinIO containers running
|
|
|
+replicas: 4
|
|
|
+# Number of expanded MinIO clusters
|
|
|
+zones: 1
|
|
|
+
|
|
|
+## TLS Settings for Minio
|
|
|
+tls:
|
|
|
+ enabled: false
|
|
|
+ ## Create a secret with private.key and public.crt files and pass that here. Ref: https://github.com/minio/minio/tree/master/docs/tls/kubernetes#2-create-kubernetes-secret
|
|
|
+ certSecret: ""
|
|
|
+ publicCrt: public.crt
|
|
|
+ privateKey: private.key
|
|
|
+
|
|
|
+## Trusted Certificates Settings for Minio. Ref: https://docs.minio.io/docs/how-to-secure-access-to-minio-server-with-tls#install-certificates-from-third-party-cas
|
|
|
+## Bundle multiple trusted certificates into one secret and pass that here. Ref: https://github.com/minio/minio/tree/master/docs/tls/kubernetes#2-create-kubernetes-secret
|
|
|
+## When using self-signed certificates, remember to include Minio's own certificate in the bundle with key public.crt.
|
|
|
+## If certSecret is left empty and tls is enabled, this chart installs the public certificate from .Values.tls.certSecret.
|
|
|
+trustedCertsSecret: ""
|
|
|
+
|
|
|
+## Enable persistence using Persistent Volume Claims
|
|
|
+## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
|
|
|
+##
|
|
|
+persistence:
|
|
|
+ enabled: true
|
|
|
+
|
|
|
+ ## A manually managed Persistent Volume and Claim
|
|
|
+ ## Requires persistence.enabled: true
|
|
|
+ ## If defined, PVC must be created manually before volume will be bound
|
|
|
+ existingClaim: ""
|
|
|
+
|
|
|
+ ## minio data Persistent Volume Storage Class
|
|
|
+ ## If defined, storageClassName: <storageClass>
|
|
|
+ ## If set to "-", storageClassName: "", which disables dynamic provisioning
|
|
|
+ ## If undefined (the default) or set to null, no storageClassName spec is
|
|
|
+ ## set, choosing the default provisioner. (gp2 on AWS, standard on
|
|
|
+ ## GKE, AWS & OpenStack)
|
|
|
+ ##
|
|
|
+ ## Storage class of PV to bind. By default it looks for standard storage class.
|
|
|
+ ## If the PV uses a different storage class, specify that here.
|
|
|
+ storageClass: ""
|
|
|
+ VolumeName: ""
|
|
|
+ accessMode: ReadWriteOnce
|
|
|
+ size: 500Gi
|
|
|
+
|
|
|
+ ## If subPath is set mount a sub folder of a volume instead of the root of the volume.
|
|
|
+ ## This is especially handy for volume plugins that don't natively support sub mounting (like glusterfs).
|
|
|
+ ##
|
|
|
+ subPath: ""
|
|
|
+
|
|
|
+## Expose the Minio service to be accessed from outside the cluster (LoadBalancer service).
|
|
|
+## or access it from within the cluster (ClusterIP service). Set the service type and the port to serve it.
|
|
|
+## ref: http://kubernetes.io/docs/user-guide/services/
|
|
|
+##
|
|
|
+
|
|
|
+service:
|
|
|
+ type: ClusterIP
|
|
|
+ clusterIP: ~
|
|
|
+ port: 9000
|
|
|
+ nodePort: 32000
|
|
|
+
|
|
|
+ ## List of IP addresses at which the Prometheus server service is available
|
|
|
+ ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
|
|
|
+ ##
|
|
|
+ externalIPs: []
|
|
|
+ # - externalIp1
|
|
|
+
|
|
|
+ annotations: {}
|
|
|
+ # prometheus.io/scrape: 'true'
|
|
|
+ # prometheus.io/path: '/minio/prometheus/metrics'
|
|
|
+ # prometheus.io/port: '9000'
|
|
|
+
|
|
|
+## Configure Ingress based on the documentation here: https://kubernetes.io/docs/concepts/services-networking/ingress/
|
|
|
+##
|
|
|
+
|
|
|
+imagePullSecrets: []
|
|
|
+# - name: "image-pull-secret"
|
|
|
+
|
|
|
+ingress:
|
|
|
+ enabled: false
|
|
|
+ labels: {}
|
|
|
+ # node-role.kubernetes.io/ingress: platform
|
|
|
+
|
|
|
+ annotations: {}
|
|
|
+ # kubernetes.io/ingress.class: nginx
|
|
|
+ # kubernetes.io/tls-acme: "true"
|
|
|
+ # kubernetes.io/ingress.allow-http: "false"
|
|
|
+ # kubernetes.io/ingress.global-static-ip-name: ""
|
|
|
+ # nginx.ingress.kubernetes.io/secure-backends: "true"
|
|
|
+ # nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
|
|
|
+ # nginx.ingress.kubernetes.io/whitelist-source-range: 0.0.0.0/0
|
|
|
+ path: /
|
|
|
+ hosts:
|
|
|
+ - chart-example.local
|
|
|
+ tls: []
|
|
|
+ # - secretName: chart-example-tls
|
|
|
+ # hosts:
|
|
|
+ # - chart-example.local
|
|
|
+
|
|
|
+## Node labels for pod assignment
|
|
|
+## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
|
|
+##
|
|
|
+nodeSelector: {}
|
|
|
+tolerations: []
|
|
|
+affinity: {}
|
|
|
+
|
|
|
+## Add stateful containers to have security context, if enabled MinIO will run as this
|
|
|
+## user and group NOTE: securityContext is only enabled if persistence.enabled=true
|
|
|
+securityContext:
|
|
|
+ enabled: true
|
|
|
+ runAsUser: 1000
|
|
|
+ runAsGroup: 1000
|
|
|
+ fsGroup: 1000
|
|
|
+
|
|
|
+# Additational pod annotations
|
|
|
+podAnnotations: {}
|
|
|
+
|
|
|
+# Additional pod labels
|
|
|
+podLabels: {}
|
|
|
+
|
|
|
+## Configure resource requests and limits
|
|
|
+## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
|
+##
|
|
|
+resources:
|
|
|
+ requests:
|
|
|
+ memory: 4Gi
|
|
|
+
|
|
|
+## Create a bucket after minio install
|
|
|
+##
|
|
|
+defaultBucket:
|
|
|
+ enabled: false
|
|
|
+ ## If enabled, must be a string with length > 0
|
|
|
+ name: bucket
|
|
|
+ ## Can be one of none|download|upload|public
|
|
|
+ policy: none
|
|
|
+ ## Purge if bucket exists already
|
|
|
+ purge: false
|
|
|
+ ## set versioning for bucket true|false
|
|
|
+ # versioning: false
|
|
|
+
|
|
|
+## Create multiple buckets after minio install
|
|
|
+## Enabling `defaultBucket` will take priority over this list
|
|
|
+##
|
|
|
+buckets: []
|
|
|
+ # - name: bucket1
|
|
|
+ # policy: none
|
|
|
+ # purge: false
|
|
|
+ # - name: bucket2
|
|
|
+ # policy: none
|
|
|
+ # purge: false
|
|
|
+
|
|
|
+## Additional Annotations for the Kubernetes Batch (make-bucket-job)
|
|
|
+makeBucketJob:
|
|
|
+ podAnnotations:
|
|
|
+ annotations:
|
|
|
+ securityContext:
|
|
|
+ enabled: false
|
|
|
+ runAsUser: 1000
|
|
|
+ runAsGroup: 1000
|
|
|
+ fsGroup: 1000
|
|
|
+ resources:
|
|
|
+ requests:
|
|
|
+ memory: 128Mi
|
|
|
+
|
|
|
+## Additional Annotations for the Kubernetes Batch (update-prometheus-secret)
|
|
|
+updatePrometheusJob:
|
|
|
+ podAnnotations:
|
|
|
+ annotations:
|
|
|
+ securityContext:
|
|
|
+ enabled: false
|
|
|
+ runAsUser: 1000
|
|
|
+ runAsGroup: 1000
|
|
|
+ fsGroup: 1000
|
|
|
+
|
|
|
+s3gateway:
|
|
|
+ enabled: false
|
|
|
+ replicas: 4
|
|
|
+ serviceEndpoint: ""
|
|
|
+ accessKey: ""
|
|
|
+ secretKey: ""
|
|
|
+
|
|
|
+## Use minio as an azure blob gateway, you should disable data persistence so no volume claim are created.
|
|
|
+## https://docs.minio.io/docs/minio-gateway-for-azure
|
|
|
+azuregateway:
|
|
|
+ enabled: false
|
|
|
+ # Number of parallel instances
|
|
|
+ replicas: 4
|
|
|
+
|
|
|
+## Use minio as GCS (Google Cloud Storage) gateway, you should disable data persistence so no volume claim are created.
|
|
|
+## https://docs.minio.io/docs/minio-gateway-for-gcs
|
|
|
+
|
|
|
+gcsgateway:
|
|
|
+ enabled: false
|
|
|
+ # Number of parallel instances
|
|
|
+ replicas: 4
|
|
|
+ # credential json file of service account key
|
|
|
+ gcsKeyJson: ""
|
|
|
+ # Google cloud project-id
|
|
|
+ projectId: ""
|
|
|
+
|
|
|
+## Use minio on NAS backend
|
|
|
+## https://docs.minio.io/docs/minio-gateway-for-nas
|
|
|
+
|
|
|
+nasgateway:
|
|
|
+ enabled: false
|
|
|
+ # Number of parallel instances
|
|
|
+ replicas: 4
|
|
|
+ # For NAS Gateway, you may want to bind the PVC to a specific PV. To ensure that happens, PV to bind to should have
|
|
|
+ # a label like "pv: <value>", use value here.
|
|
|
+ pv: ~
|
|
|
+
|
|
|
+## Use this field to add environment variables relevant to Minio server. These fields will be passed on to Minio container(s)
|
|
|
+## when Chart is deployed
|
|
|
+environment:
|
|
|
+ ## Please refer for comprehensive list https://docs.minio.io/docs/minio-server-configuration-guide.html
|
|
|
+
|
|
|
+networkPolicy:
|
|
|
+ enabled: false
|
|
|
+ allowExternal: true
|
|
|
+
|
|
|
+## PodDisruptionBudget settings
|
|
|
+## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
|
|
|
+##
|
|
|
+podDisruptionBudget:
|
|
|
+ enabled: false
|
|
|
+ maxUnavailable: 1
|
|
|
+
|
|
|
+## Specify the service account to use for the Minio pods. If 'create' is set to 'false'
|
|
|
+## and 'name' is left unspecified, the account 'default' will be used.
|
|
|
+serviceAccount:
|
|
|
+ create: true
|
|
|
+ ## The name of the service account to use. If 'create' is 'true', a service account with that name
|
|
|
+ ## will be created. Otherwise, a name will be auto-generated.
|
|
|
+ name:
|
|
|
+
|
|
|
+metrics:
|
|
|
+ # Metrics can not be disabled yet: https://github.com/minio/minio/issues/7493
|
|
|
+ serviceMonitor:
|
|
|
+ enabled: false
|
|
|
+ additionalLabels: {}
|
|
|
+ # namespace: monitoring
|
|
|
+ # interval: 30s
|
|
|
+ # scrapeTimeout: 10s
|
|
|
+
|
|
|
+## ETCD settings: https://github.com/minio/minio/blob/master/docs/sts/etcd.md
|
|
|
+## Define endpoints to enable this section.
|
|
|
+etcd:
|
|
|
+ endpoints: []
|
|
|
+ pathPrefix: ""
|
|
|
+ corednsPathPrefix: ""
|
|
|
+ clientCert: ""
|
|
|
+ clientCertKey: ""
|