Files
charts/bitnami/minio/values.yaml
Miguel Ruiz 4a4f52d497 [bitnami/minio] Add support for autogenerated certs (#6533)
* [bitnami/minio] Add support for autogenerated certs

* Update README.md and Chart version bump

* Fix linting issue

* Apply suggestions

* Chart version bump

* Update README.md

* Minor fix

* Minor fix

* [bitnami/minio] Update components versions

Signed-off-by: Bitnami Containers <containers@bitnami.com>

Co-authored-by: Bitnami Containers <containers@bitnami.com>
2021-06-17 13:30:07 +02:00

702 lines
20 KiB
YAML

## Global Docker image parameters
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
##
global:
## Global imageRegistry
##
# imageRegistry: myRegistryName
## Global imagePullSecrets
##
imagePullSecrets: []
## Global storageClass
##
# storageClass: myStorageClass
## Global MinIO(R) credentials
## e.g:
## minio:
## existingSecret: ""
## accessKey: ""
## secretKey: ""
##
minio: {}
## Bitnami MinIO(R) image version
## ref: https://hub.docker.com/r/bitnami/minio/tags/
##
image:
registry: docker.io
repository: bitnami/minio
tag: 2021.6.17-debian-10-r0
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
pullPolicy: IfNotPresent
## 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: []
## Set to true if you would like to see extra information on logs
##
debug: false
## 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.6.13-debian-10-r3
## String to partially override common.names.fullname template (will maintain the release name)
##
# nameOverride:
## String to fully override common.names.fullname template
##
# fullnameOverride:
## 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:
## Cluster domain
##
clusterDomain: cluster.local
## Extra objects to deploy (value evaluated as a template)
##
extraDeploy: []
## MinIO(R) server mode. Allowed values: standalone or distributed.
## ref: https://docs.minio.io/docs/distributed-minio-quickstart-guide
##
mode: standalone
## MinIO(R) credentials
##
accessKey:
## MinIO(R) Access Key
## ref: https://github.com/bitnami/bitnami-docker-minio/#setting-up-minio-in-distributed-mode
##
password:
## 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:
## 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
## Use existing secret (ignores accessKey, and secretKey passwords)
##
# existingSecret:
## Mount MinIO(R) secret as a file instead of passing environment variable
##
useCredentialsFile: false
## Force reconfiguring new keys whenever the credentials change
##
forceNewKeys: 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
## Enable tls in front of MinIO(R) containers.
##
tls:
## If true, mount an existing secret to the container
##
enabled: false
## Name of an existing secret holding the certificate information
##
existingSecret:
## DEPRECATED. Use `tls.existingSecret` instead.
## Name of an existing secret holding the certificate information
##
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: ""
## 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: []
args: []
## Scheduler name
## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
##
# schedulerName: stork
## MinIO(R) deployment parameters
## Only when 'mode' is 'standalone' or 'gateway.enabled' is 'true'
##
deployment:
## Set to Recreate if you use persistent volume that cannot be mounted by more than one pods to make sure the pods is destroyed first.
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
## e.g:
## updateStrategy:
## type: RollingUpdate
## rollingUpdate:
## maxSurge: 25%
## maxUnavailable: 25%
##
updateStrategy:
type: Recreate
## MinIO(R) statefulset parameters
## Only when mode is 'distributed'
##
statefulset:
## Update strategy, can be set to RollingUpdate or OnDelete by default.
## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets
##
updateStrategy: RollingUpdate
## StatefulSet controller supports relax its ordering guarantees while preserving its uniqueness and identity guarantees. There are two valid pod management policies: OrderedReady and Parallel
## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#pod-management-policy
##
podManagementPolicy: Parallel
## Number of replicas, it must even and greater than 4
##
replicaCount: 4
## Number of expanded MinIO(R) clusters
##
zones: 1
## Number of drives (PVC) attached to every node
##
drivesPerNode: 1
## MinIO(R) pod host aliases
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
hostAliases: []
## MinIO(R) container ports to open
##
containerPort: 9000
## MinIO(R) pod Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
##
podSecurityContext:
enabled: true
fsGroup: 1001
## MinIO(R) container Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
##
containerSecurityContext:
enabled: true
runAsUser: 1001
runAsNonRoot: true
## Pod labels
## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
podLabels: {}
## Pod annotations
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
## Pod affinity preset
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
## Allowed values: soft, hard
##
podAffinityPreset: ""
## Pod anti-affinity preset
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
## Allowed values: soft, hard
##
podAntiAffinityPreset: soft
## Node affinity preset
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
## Allowed values: soft, hard
##
nodeAffinityPreset:
## Node affinity type
## Allowed values: soft, hard
##
type: ""
## Node label key to match
## E.g.
## key: "kubernetes.io/e2e-az-name"
##
key: ""
## Node label values to match
## E.g.
## values:
## - e2e-az1
## - e2e-az2
##
values: []
## Affinity for pod assignment. Evaluated as a template.
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
##
affinity: {}
## Node labels for pod assignment. Evaluated as a template.
## ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}
## Tolerations for pod assignment. Evaluated as a template.
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## MinIO(R) containers' resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
resources:
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
limits: {}
# cpu: 250m
# memory: 256Mi
requests: {}
# cpu: 250m
# memory: 256Mi
## 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: 5
periodSeconds: 5
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 5
readinessProbe:
enabled: true
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 1
successThreshold: 1
failureThreshold: 5
startupProbe:
enabled: false
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 60
## Custom Liveness, Readiness, and Startup probes for MinIO(R)
##
customLivenessProbe: {}
customReadinessProbe: {}
customStartupProbe: {}
## Extra volumes to add to the MinIO(R) statefulset
##
extraVolumes: []
## Extra volume mounts to add to MinIO(R) containers
##
extraVolumeMounts: []
## 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: {}
## MinIO(R) Service properties
##
service:
## MinIO(R) Service type
##
type: ClusterIP
## MinIO(R) Service port
##
port: 9000
## Specify the nodePort value for the LoadBalancer and NodePort service types.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
##
# nodePort:
## loadBalancerIP for the MinIO(R) Service (optional, cloud specific)
## ref: http://kubernetes.io/docs/user-guide/services/#type-loadbalancer
##
# loadBalancerIP:
## Load Balancer sources
## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
## e.g:
## loadBalancerSourceRanges:
## - 10.10.10.0/24
##
loadBalancerSourceRanges: []
## Enable client source IP preservation
## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
##
externalTrafficPolicy: Cluster
## Provide any additional annotations which may be required. This can be used to
## set the LoadBalancer service type to internal only.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
annotations: {}
## Configure the ingress resource that allows you to access the
## MinIO(R) installation. Set up the URL
## ref: http://kubernetes.io/docs/user-guide/ingress/
##
ingress:
## Set to true to enable ingress record generation
##
enabled: false
## Set this to true in order to add the corresponding annotations for cert-manager
##
certManager: false
## Override API Version (automatically detected if not set)
##
apiVersion:
## When the ingress is enabled, a host pointing to this will be created
##
hostname: minio.local
## The Path to MinIO(R). You may need to set this to '/*' in order to use this
## with ALB ingress controllers.
##
path: /
## Ingress Path type
##
pathType: ImplementationSpecific
## The service port to be used by this ingress.
## Default is http. Alternative is https.
##
servicePort: minio
## Ingress annotations done as key:value pairs
## For a full list of possible ingress annotations, please see
## ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md
##
## If certManager is set to true, annotation kubernetes.io/tls-acme: "true" will automatically be set
##
annotations: {}
## Enable TLS configuration for the hostname defined at ingress.hostname parameter
## TLS certificates will be retrieved from a TLS secret with name: {{- printf "%s-tls" .Values.ingress.hostname }}
## You can use the ingress.secrets parameter to create this TLS secret or relay on cert-manager to create it
##
tls: false
## The list of additional hostnames to be covered with this ingress record.
## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
## e.g:
## extraHosts:
## - name: minio.local
## path: /
##
extraHosts: []
## Any additional arbitrary paths that may need to be added to the ingress under the main host.
## For example: The ALB ingress controller requires a special rule for handling SSL redirection.
## extraPaths:
## - path: /*
## backend:
## serviceName: ssl-redirect
## servicePort: use-annotation
##
extraPaths: []
## The tls configuration for additional hostnames to be covered with this ingress record.
## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
## e.g:
## extraTls:
## - hosts:
## - minio.local
## secretName: minio.local-tls
##
extraTls: []
## If you're providing your own certificates, please use this to add the certificates as secrets
## key and certificate are expected in PEM format
## name should line up with a secretName set further up
##
## If it is not set and you're using cert-manager, this is unneeded, as it will create a secret for you with valid certificates
## If it is not set and you're NOT using cert-manager either, self-signed certificates will be created valid for 365 days
## It is also possible to create and manage the certificates outside of this helm chart
## Please see README.md for more information
##
## Example
## secrets:
## - name: minio.local-tls
## key: ""
## certificate: ""
##
secrets: []
## NetworkPolicy parameters
##
networkPolicy:
## Specifies whether a NetworkPolicy should be created
##
enabled: false
## The Policy model to apply. When set to false, only pods with the correct
## client label will have network access to the port MinIO(R) is listening
## on. When true, MinIO(R) will accept connections from any source
## (with the correct destination port).
##
allowExternal: true
## 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
## 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)
##
# storageClass: "-"
## Data volume mount path
##
mountPath: /data
## Persistent Volume Access Mode
##
accessModes:
- ReadWriteOnce
## Persistent Volume size
##
size: 8Gi
## Persistent Volume Claim annotations
##
annotations: {}
## Enable persistence using an existing PVC (only in standalone mode)
##
# existingClaim:
## 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-debian-10-r109
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:
## We usually recommend not to specify default resources and to leave this as a conscious
## choice for the user. This also increases chances charts run on environments with little
## resources, such as Minikube. If you do want to specify resources, uncomment the following
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
## e.g:
## limits:
## cpu: 500m
## memory: 1Gi
##
limits: {}
requests: {}
## Init container' Security Context
## Note: the chown of the data folder is done to containerSecurityContext.runAsUser
## and not the below volumePermissions.containerSecurityContext.runAsUser
##
containerSecurityContext:
runAsUser: 0
## 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