## Global Docker image parameters
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
##
global:
  imagePullSecrets: []
  webhook:
    enabled: false
    port: 3000

enabled: true

## MinIO(R) server mode. Allowed values: standalone or distributed.
## ref: https://docs.minio.io/docs/distributed-minio-quickstart-guide
mode: standalone

## Bitnami MinIO(R) image version
## ref: https://hub.docker.com/r/bitnami/minio/tags/
##
image:
  repository: docker.io/bitnami
  name: minio
  tag: 2021.3.26-debian-10-r0
  pullPolicy: IfNotPresent
  pullSecrets: []
  debug: false


## Extra volumes to add to the MinIO(R) statefulset
##
extraVolumes: []

## Extra volume mounts to add to MinIO(R) containers
##
extraVolumeMounts: []

## MinIO(R) credentials
##
accessKey:
  ## MinIO(R) Access Key
  ## ref: https://github.com/bitnami/bitnami-docker-minio/#setting-up-minio-in-distributed-mode
  ##
  password: cmii
  ## Option to force users to specify a password. That is required for 'helm upgrade' to work properly.
  ## If it is not force, a random password will be generated.
  forcePassword: false
secretKey:
  ## MinIO(R) Secret Key
  ## ref: https://github.com/bitnami/bitnami-docker-minio/#setting-up-minio-in-distributed-mode
  password: B#923fC7mk
  ## Option to force users to specify a password. That is required for 'helm upgrade' to work properly.
  ## If it is not force, a random password will be generated.
  forcePassword: false

## Comma, semi-colon or space separated list of buckets to create at initialization
##
# defaultBuckets: "my-bucket, my-second-bucket"

## Disable MinIO(R) Web UI
## ref: https://github.com/minio/minio/tree/master/docs/config/#browser
##
disableWebUI: false

## MinIO(R) statefulset parameters
## Only when mode is 'distributed'
##
statefulset:
  updateStrategy: RollingUpdate
  podManagementPolicy: Parallel
  replicaCount: 4
  ## Number of expanded MinIO(R) clusters
  zones: 1
  ## Number of drives (PVC) attached to every node
  drivesPerNode: 1

## MinIO(R) container ports to open
##
containerPort: 9000

## MinIO(R) Service properties
##
service:
  type: NodePort
  nodePort: 36677
  port: 9000
  # common no usage
  loadBalancerSourceRanges: [] # common no usage
  externalTrafficPolicy: Cluster # common no usage
  annotations: {} # common no usage

ingress:
  enabled: false
  certManager: false
  apiVersion:
  hostname: minio.ig-dev.uavcmlc.com
  path: /
  pathType: ImplementationSpecific
  servicePort: minio
  tls: false
  existing:
    secretName: x.ig-dev.uavcmlc.com-tls
  ## If certManager is set to true, annotation kubernetes.io/tls-acme: "true" will automatically be set
  annotations: {}
  extraHosts: []
  extraPaths: []
  extraTls: []
  secrets: []

## Bitnami MinIO(R) Client image version
## ref: https://hub.docker.com/r/bitnami/minio-client/tags/
##
clientImage:
  registry: docker.io
  repository: bitnami/minio-client
  tag: 2021.3.23-debian-10-r3


# -------------------------------------------------------------------------------------------------------
## Enable persistence using Persistent Volume Claims
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
##
persistence:
  ## If true, use a Persistent Volume Claim, If false, use emptyDir
  enabled: true
  storageClass: heketi-glusterfs-distribute
  mountPath: /data
  accessModes:
    - ReadWriteOnce
  size: 200Gi
  annotations: {}
  ## Enable persistence using an existing PVC (only in standalone mode)
  # standalone mode is commonly used, so pvc name below should be equal to the name of the minio
  existingClaim: helm-minio

resources:
  limits:
    cpu: 2000m
    memory: 1500Mi
  requests:
    cpu: 250m
    memory: 256Mi

## Use existing secret (ignores accessKey, and secretKey passwords)
##
# existingSecret:

## Configure extra options for liveness, readiness and startup probes
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
##
livenessProbe:
  enabled: true
  initialDelaySeconds: 60
  periodSeconds: 30
  timeoutSeconds: 5
  successThreshold: 1
  failureThreshold: 10
readinessProbe:
  enabled: true
  initialDelaySeconds: 60
  periodSeconds: 30
  timeoutSeconds: 1
  successThreshold: 1
  failureThreshold: 10
startupProbe:
  enabled: false
  initialDelaySeconds: 60
  periodSeconds: 30
  timeoutSeconds: 5
  successThreshold: 1
  failureThreshold: 10


## Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
##
securityContext:
  enabled: true
  fsGroup: 1001
  runAsUser: 1001

## Only when 'mode' is 'standalone' or 'gateway.enabled' is 'true'
##
deployment:
  updateStrategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%

## Enable tls in front of MinIO(R) containers.
##
tls:
  enabled: false
  secretName: ""
  ## The mounted path where the secret will be located
  ##  Custom mount path where the certificates will be located, if empty will default to /certs
  mountPath: ""

podLabels: {}

podAnnotations: {}


## Cluster domain
##
clusterDomain: cluster.local

affinity: {}

podAffinityPreset: ""

podAntiAffinityPreset: soft

nodeAffinityPreset:
  ## Node affinity type
  ## Allowed values: soft, hard
  type: ""
  ## Node label key to match
  ## key: "kubernetes.io/e2e-az-name"
  key: ""
  ## Node label values to match
  ## E.g.
  ## values:
  ##   - e2e-az1
  ##   - e2e-az2
  values: []


nodeSelector: {}

tolerations: []


## Mount MinIO(R) secret as a file instead of passing environment variable
##
useCredentialsFile: false

## Force reconfiguring new keys whenever the credentials change
##
forceNewKeys: false

## MinIO(R) pod host aliases
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
hostAliases: []

## ----------------------------------------------------------------------------------------------------------
## ----------------------------------------------------------------------------------------------------------
## --------------------------------------------- 下面的基本没用 -----------------------------------------------

## Extra objects to deploy (value evaluated as a template)
##
extraDeploy: []

## An array to add extra env vars
## e.g:
## extraEnv:
##   - name: FOO
##     value: "bar"
##
extraEnv: {}

## ConfigMap with extra environment variables
##
extraEnvVarsCM: ""

## Secret with extra environment variables
##
extraEnvVarsSecret: ""

## Command and args for running the MinIO(R) container (set to default if not set). Use array form
##
command:
  - minio
args:
  - '--certs-dir'
  - /opt/bitnami/minio/certs
  - gateway
  - nas
  - /data

## Scheduler name
## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
##
# schedulerName: stork

## String to partially override common.names.fullname template (will maintain the release name)
##
# nameOverride:

## String to fully override common.names.fullname template
##
fullnameOverride: helm-minio

## Add labels to all the deployed resources
##
commonLabels: {}

## Add annotations to all the deployed resources
##
commonAnnotations: {}

## Force target Kubernetes version (using Helm capabilites if not set)
##
kubeVersion:

## Custom Liveness, Readiness, and Startup probes for MinIO(R)
##
customLivenessProbe: {}
customReadinessProbe: {}
customStartupProbe: {}

## Add init containers to the MinIO(R) pods.
## e.g:
## initContainers:
##   - name: your-image-name
##     image: your-image
##     imagePullPolicy: Always
##     ports:
##       - name: portname
##         containerPort: 1234
##
initContainers: {}

## Add sidecars to the MinIO(R) pods.
## e.g:
## sidecars:
##   - name: your-image-name
##     image: your-image
##     imagePullPolicy: Always
##     ports:
##       - name: portname
##         containerPort: 1234
##
sidecars: {}

## Init containers parameters:
## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
##
volumePermissions:
  enabled: false
  image:
    registry: docker.io
    repository: bitnami/bitnami-shell
    tag: "10"
    pullPolicy: Always
    ## Optionally specify an array of imagePullSecrets.
    ## Secrets must be manually created in the namespace.
    ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
    ## e.g:
    ## pullSecrets:
    ##   - myRegistryKeySecretName
    ##
    pullSecrets: []
  ## Init container' resource requests and limits
  ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
  ##
  resources:
    limits: {}
    requests: {}

## Specifies whether a ServiceAccount should be created
##
serviceAccount:
  create: true
  ## The name of the ServiceAccount to use.
  ## If not set and create is true, a name is generated using the common.names.fullname template
  ##
  name: ""

## MinIO(R) Pod Disruption Budget configuration (only in distributed mode)
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
##
pdb:
  create: false
  ## Min number of pods that must still be available after the eviction
  ##
  minAvailable: 1
  ## Max number of pods that can be unavailable after the eviction
  ##
  # maxUnavailable: 1

## Metrics configuration
##
metrics:
  ## MinIO(R) supports two authentication modes for Prometheus either jwt or public, by default MinIO(R) runs in jwt mode.
  ## To allow public access without authentication for prometheus metrics set environment as follows.
  ##
  prometheusAuthType: public

  ## Prometheus Operator ServiceMonitor configuration
  ##
  serviceMonitor:
    ## If the operator is installed in your cluster, set to true to create a Service Monitor Entry
    ##
    enabled: false
    ## Specify the namespace in which the serviceMonitor resource will be created
    ##
    # namespace: ""
    ## HTTP path to scrape for metrics
    ##
    path: /minio/v2/metrics/cluster
    ## Specify the interval at which metrics should be scraped
    ##
    interval: 30s
    ## Specify the timeout after which the scrape is ended
    ##
    # scrapeTimeout: 30s
    ## Specify Metric Relabellings to add to the scrape endpoint
    ##
    # relabellings:
    ## Specify honorLabels parameter to add the scrape endpoint
    ##
    honorLabels: false
    ## Specify the release for ServiceMonitor. Sometimes it should be custom for prometheus operator to work
    ##
    # release: ""
    ## Used to pass Labels that are used by the Prometheus installed in your cluster to select Service Monitors to work with
    ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
    ##
    additionalLabels: {}

## MinIO(R) Gateway configuration
##
gateway:
  ## Use MinIO(R) as Gateway for other storage systems
  ##
  enabled: false
  ## Gateway type
  ## Current supported types are: azure, gcs, nas, and s3
  ## ref: https://docs.minio.io/docs/minio-gateway-for-azure
  ## ref: https://docs.minio.io/docs/minio-gateway-for-gcs
  ## ref: https://docs.minio.io/docs/minio-gateway-for-nas
  ## ref: https://docs.minio.io/docs/minio-gateway-for-s3
  ##
  type: s3
  ## Number of Gateway replicas
  ##
  replicaCount: 4
  ## Gateway authentication configuration
  ##
  auth:
    ## Authentication configuration for Azure
    ## Ignored unless type=azure
    ##
    azure:
      accessKey: ""
      secretKey: ""
      storageAccountName: ""
      storageAccountKey: ""
    ## Authentication configuration for GCS
    ## Ignored unless type=gcs
    ##
    gcs:
      accessKey: ""
      secretKey: ""
      keyJSON: ""
      projectID: ""
    ## Authentication configuration for NAS
    ## Ignored unless type=nas
    ##
    nas:
      accessKey: ""
      secretKey: ""
    ## Authentication configuration for S3
    ## Ignored unless type=s3
    ##
    s3:
      accessKey: ""
      secretKey: ""
      serviceEndpoint: https://s3.amazonaws.com
