mirror of
https://github.com/helm/charts.git
synced 2026-08-23 22:37:45 +00:00
[stable/mongodb] Add initContainer for adjusting volume permissions (#15753)
* [stable/mongodb] Add initContainer for adjusting volume permissions Signed-off-by: tompizmor <tompizmor@gmail.com> * Fix indentation Signed-off-by: tompizmor <tompizmor@gmail.com>
This commit is contained in:
committed by
Kubernetes Prow Robot
parent
2c406e427f
commit
280a4e783d
@@ -1,6 +1,6 @@
|
||||
apiVersion: v1
|
||||
name: mongodb
|
||||
version: 6.1.5
|
||||
version: 6.2.0
|
||||
appVersion: 4.0.10
|
||||
description: NoSQL document-oriented database that stores JSON-like documents with dynamic schemas, simplifying the integration of data in content-driven applications.
|
||||
keywords:
|
||||
|
||||
+129
-114
@@ -45,120 +45,126 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
|
||||
The following table lists the configurable parameters of the MongoDB chart and their default values.
|
||||
|
||||
| Parameter | Description | Default |
|
||||
| -------------------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
|
||||
| `global.imageRegistry` | Global Docker image registry | `nil` |
|
||||
| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
|
||||
| `image.registry` | MongoDB image registry | `docker.io` |
|
||||
| `image.repository` | MongoDB Image name | `bitnami/mongodb` |
|
||||
| `image.tag` | MongoDB Image tag | `{TAG_NAME}` |
|
||||
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
|
||||
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
|
||||
| `image.debug` | Specify if debug logs should be enabled | `false` |
|
||||
| `nameOverride` | String to partially override mongodb.fullname template with a string (will prepend the release name) | `nil` |
|
||||
| `fullnameOverride` | String to fully override mongodb.fullname template with a string | `nil` |
|
||||
| `clusterDomain` | Default Kubernetes cluster domain | `cluster.local` |
|
||||
| `usePassword` | Enable password authentication | `true` |
|
||||
| `existingSecret` | Existing secret with MongoDB credentials | `nil` |
|
||||
| `mongodbRootPassword` | MongoDB admin password | `random alphanumeric string (10)` |
|
||||
| `mongodbUsername` | MongoDB custom user | `nil` |
|
||||
| `mongodbPassword` | MongoDB custom user password | `random alphanumeric string (10)` |
|
||||
| `mongodbDatabase` | Database to create | `nil` |
|
||||
| `mongodbEnableIPv6` | Switch to enable/disable IPv6 on MongoDB | `false` |
|
||||
| `mongodbDirectoryPerDB` | Switch to enable/disable DirectoryPerDB on MongoDB | `false` |
|
||||
| `mongodbSystemLogVerbosity` | MongoDB systen log verbosity level | `0` |
|
||||
| `mongodbDisableSystemLog` | Whether to disable MongoDB system log or not | `false` |
|
||||
| `mongodbExtraFlags` | MongoDB additional command line flags | `[]` |
|
||||
| `service.annotations` | Kubernetes service annotations | `{}` |
|
||||
| `service.type` | Kubernetes Service type | `ClusterIP` |
|
||||
| `service.clusterIP` | Static clusterIP or None for headless services | `nil` |
|
||||
| `service.nodePort` | Port to bind to for NodePort service type | `nil` |
|
||||
| `service.loadBalancerIP` | Static IP Address to use for LoadBalancer service type | `nil` |
|
||||
| `service.externalIPs` | External IP list to use with ClusterIP service type | `[]` |
|
||||
| `service.loadBalancerSourceRanges` | List of IP ranges allowed access to load balancer (if supported) | `[]` (does not add IP range restrictions to the service)|
|
||||
| `port` | MongoDB service port | `27017` |
|
||||
| `replicaSet.enabled` | Switch to enable/disable replica set configuration | `false` |
|
||||
| `replicaSet.name` | Name of the replica set | `rs0` |
|
||||
| `replicaSet.useHostnames` | Enable DNS hostnames in the replica set config | `true` |
|
||||
| `replicaSet.key` | Key used for authentication in the replica set | `random alphanumeric string (10)` |
|
||||
| `replicaSet.replicas.secondary` | Number of secondary nodes in the replica set | `1` |
|
||||
| `replicaSet.replicas.arbiter` | Number of arbiter nodes in the replica set | `1` |
|
||||
| `replicaSet.pdb.enabled` | Switch to enable/disable Pod Disruption Budget | `true` |
|
||||
| `replicaSet.pdb.minAvailable.primary` | PDB (min available) for the MongoDB Primary nodes | `1` |
|
||||
| `replicaSet.pdb.minAvailable.secondary` | PDB (min available) for the MongoDB Secondary nodes | `1` |
|
||||
| `replicaSet.pdb.minAvailable.arbiter` | PDB (min available) for the MongoDB Arbiter nodes | `1` |
|
||||
| `replicaSet.pdb.maxUnavailable.primary` | PDB (max unavailable) for the MongoDB Primary nodes | `nil` |
|
||||
| `replicaSet.pdb.maxUnavailable.secondary` | PDB (max unavailable) for the MongoDB Secondary nodes | `nil` |
|
||||
| `replicaSet.pdb.maxUnavailable.arbiter` | PDB (max unavailable) for the MongoDB Arbiter nodes | `nil` |
|
||||
| `podAnnotations` | Annotations to be added to pods | `{}` |
|
||||
| `podLabels` | Additional labels for the pod(s). | `{}` |
|
||||
| `resources` | Pod resources | `{}` |
|
||||
| `priorityClassName` | Pod priority class name | `` |
|
||||
| `nodeSelector` | Node labels for pod assignment | `{}` |
|
||||
| `affinity` | Affinity for pod assignment | `{}` |
|
||||
| `tolerations` | Toleration labels for pod assignment | `{}` |
|
||||
| `updateStrategy` | Statefulsets update strategy policy | `RollingUpdate` |
|
||||
| `securityContext.enabled` | Enable security context | `true` |
|
||||
| `securityContext.fsGroup` | Group ID for the container | `1001` |
|
||||
| `securityContext.runAsUser` | User ID for the container | `1001` |
|
||||
| `schedulerName` | Name of the k8s scheduler (other than default) | `nil` |
|
||||
| `persistence.enabled` | Use a PVC to persist data | `true` |
|
||||
| `persistence.mountPath` | Path to mount the volume at | `/bitnami/mongodb` |
|
||||
| `persistence.subPath` | Subdirectory of the volume to mount at | `""` |
|
||||
| `persistence.storageClass` | Storage class of backing PVC | `nil` (uses alpha storage class annotation) |
|
||||
| `persistence.accessModes` | Use volume as ReadOnly or ReadWrite | `[ReadWriteOnce]` |
|
||||
| `persistence.size` | Size of data volume | `8Gi` |
|
||||
| `persistence.annotations` | Persistent Volume annotations | `{}` |
|
||||
| `persistence.existingClaim` | Name of an existing PVC to use (avoids creating one if this is given) | `nil` |
|
||||
| `extraInitContainers` | Additional init containers as a string to be passed to the `tpl` function | `{}` |
|
||||
| `livenessProbe.enabled` | Enable/disable the Liveness probe | `true` |
|
||||
| `livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | `30` |
|
||||
| `livenessProbe.periodSeconds` | How often to perform the probe | `10` |
|
||||
| `livenessProbe.timeoutSeconds` | When the probe times out | `5` |
|
||||
| `livenessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed. | `1` |
|
||||
| `livenessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded. | `6` |
|
||||
| `readinessProbe.enabled` | Enable/disable the Readiness probe | `true` |
|
||||
| `readinessProbe.initialDelaySeconds` | Delay before readiness probe is initiated | `5` |
|
||||
| `readinessProbe.periodSeconds` | How often to perform the probe | `10` |
|
||||
| `readinessProbe.timeoutSeconds` | When the probe times out | `5` |
|
||||
| `readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded. | `6` |
|
||||
| `readinessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed. | `1` |
|
||||
| `initConfigMap.name` | Custom config map with init scripts | `nil` |
|
||||
| `configmap` | MongoDB configuration file to be used | `nil` |
|
||||
| `ingress.enabled` | Enables Ingress. Tested with nginx-ingress version `1.3.1` | `false` |
|
||||
| `ingress.annotations` | Ingress annotations | `{}` |
|
||||
| `ingress.labels` | Custom labels | `{}` |
|
||||
| `ingress.paths` | Ingress paths | `[/]` |
|
||||
| `ingress.hosts` | Ingress accepted hostnames | `[]` |
|
||||
| `ingress.tls` | Ingress TLS configuration | `[ { secretName: secret-tls, hosts: [] } ]` |
|
||||
| `metrics.enabled` | Start a side-car prometheus exporter | `false` |
|
||||
| `metrics.image.registry` | MongoDB exporter image registry | `docker.io` |
|
||||
| `metrics.image.repository` | MongoDB exporter image name | `forekshub/percona-mongodb-exporter` |
|
||||
| `metrics.image.tag` | MongoDB exporter image tag | `latest` |
|
||||
| `metrics.image.pullPolicy` | Image pull policy | `Always` |
|
||||
| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
|
||||
| `metrics.podAnnotations.prometheus.io/scrape` | Additional annotations for Metrics exporter pod | `true` |
|
||||
| `metrics.podAnnotations.prometheus.io/port` | Additional annotations for Metrics exporter pod | `"9216"` |
|
||||
| `metrics.extraArgs` | String with extra arguments for the MongoDB Exporter | `` |
|
||||
| `metrics.resources` | Exporter resource requests/limit | `{}` |
|
||||
| `metrics.serviceMonitor.enabled` | Create ServiceMonitor Resource for scraping metrics using PrometheusOperator | `false` |
|
||||
| `metrics.serviceMonitor.namespace` | Optional namespace which Prometheus is running in | `nil` |
|
||||
| `metrics.serviceMonitor.additionalLabels` | Used to pass Labels that are required by the Installed Prometheus Operator | `{}` |
|
||||
| `metrics.serviceMonitor.relabellings` | Specify Metric Relabellings to add to the scrape endpoint | `nil` |
|
||||
| `metrics.serviceMonitor.alerting.rules` | Define individual alerting rules as required | `{}` |
|
||||
| `metrics.serviceMonitor.alerting.additionalLabels` | Used to pass Labels that are required by the Installed Prometheus Operator | `{}` |
|
||||
| `metrics.livenessProbe.enabled` | Enable/disable the Liveness Check of Prometheus metrics exporter | `false` |
|
||||
| `metrics.livenessProbe.initialDelaySeconds` | Initial Delay for Liveness Check of Prometheus metrics exporter | `15` |
|
||||
| `metrics.livenessProbe.periodSeconds` | How often to perform Liveness Check of Prometheus metrics exporter | `5` |
|
||||
| `metrics.livenessProbe.timeoutSeconds` | Timeout for Liveness Check of Prometheus metrics exporter | `5` |
|
||||
| `metrics.livenessProbe.failureThreshold` | Failure Threshold for Liveness Check of Prometheus metrics exporter | `3` |
|
||||
| `metrics.livenessProbe.successThreshold` | Success Threshold for Liveness Check of Prometheus metrics exporter | `1` |
|
||||
| `metrics.readinessProbe.enabled` | Enable/disable the Readiness Check of Prometheus metrics exporter | `false` |
|
||||
| `metrics.readinessProbe.initialDelaySeconds` | Initial Delay for Readiness Check of Prometheus metrics exporter | `5` |
|
||||
| `metrics.readinessProbe.periodSeconds` | How often to perform Readiness Check of Prometheus metrics exporter | `5` |
|
||||
| `metrics.readinessProbe.timeoutSeconds` | Timeout for Readiness Check of Prometheus metrics exporter | `1` |
|
||||
| `metrics.readinessProbe.failureThreshold` | Failure Threshold for Readiness Check of Prometheus metrics exporter | `3` |
|
||||
| `metrics.readinessProbe.successThreshold` | Success Threshold for Readiness Check of Prometheus metrics exporter | `1` |
|
||||
| Parameter | Description | Default |
|
||||
| -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
|
||||
| `global.imageRegistry` | Global Docker image registry | `nil` |
|
||||
| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
|
||||
| `image.registry` | MongoDB image registry | `docker.io` |
|
||||
| `image.repository` | MongoDB Image name | `bitnami/mongodb` |
|
||||
| `image.tag` | MongoDB Image tag | `{TAG_NAME}` |
|
||||
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
|
||||
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
|
||||
| `image.debug` | Specify if debug logs should be enabled | `false` |
|
||||
| `nameOverride` | String to partially override mongodb.fullname template with a string (will prepend the release name) | `nil` |
|
||||
| `fullnameOverride` | String to fully override mongodb.fullname template with a string | `nil` |
|
||||
| `volumePermissions.enabled` | Enable init container that changes volume permissions in the data directory (for cases where the default k8s `runAsUser` and `fsUser` values do not work) | `false` |
|
||||
| `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` |
|
||||
| `volumePermissions.image.repository` | Init container volume-permissions image name | `bitnami/minideb` |
|
||||
| `volumePermissions.image.tag` | Init container volume-permissions image tag | `latest` |
|
||||
| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `Always` |
|
||||
| `volumePermissions.resources` | Init container resource requests/limit | `nil` |
|
||||
| `clusterDomain` | Default Kubernetes cluster domain | `cluster.local` |
|
||||
| `usePassword` | Enable password authentication | `true` |
|
||||
| `existingSecret` | Existing secret with MongoDB credentials | `nil` |
|
||||
| `mongodbRootPassword` | MongoDB admin password | `random alphanumeric string (10)` |
|
||||
| `mongodbUsername` | MongoDB custom user | `nil` |
|
||||
| `mongodbPassword` | MongoDB custom user password | `random alphanumeric string (10)` |
|
||||
| `mongodbDatabase` | Database to create | `nil` |
|
||||
| `mongodbEnableIPv6` | Switch to enable/disable IPv6 on MongoDB | `false` |
|
||||
| `mongodbDirectoryPerDB` | Switch to enable/disable DirectoryPerDB on MongoDB | `false` |
|
||||
| `mongodbSystemLogVerbosity` | MongoDB systen log verbosity level | `0` |
|
||||
| `mongodbDisableSystemLog` | Whether to disable MongoDB system log or not | `false` |
|
||||
| `mongodbExtraFlags` | MongoDB additional command line flags | `[]` |
|
||||
| `service.annotations` | Kubernetes service annotations | `{}` |
|
||||
| `service.type` | Kubernetes Service type | `ClusterIP` |
|
||||
| `service.clusterIP` | Static clusterIP or None for headless services | `nil` |
|
||||
| `service.nodePort` | Port to bind to for NodePort service type | `nil` |
|
||||
| `service.loadBalancerIP` | Static IP Address to use for LoadBalancer service type | `nil` |
|
||||
| `service.externalIPs` | External IP list to use with ClusterIP service type | `[]` |
|
||||
| `service.loadBalancerSourceRanges` | List of IP ranges allowed access to load balancer (if supported) | `[]` (does not add IP range restrictions to the service) |
|
||||
| `port` | MongoDB service port | `27017` |
|
||||
| `replicaSet.enabled` | Switch to enable/disable replica set configuration | `false` |
|
||||
| `replicaSet.name` | Name of the replica set | `rs0` |
|
||||
| `replicaSet.useHostnames` | Enable DNS hostnames in the replica set config | `true` |
|
||||
| `replicaSet.key` | Key used for authentication in the replica set | `random alphanumeric string (10)` |
|
||||
| `replicaSet.replicas.secondary` | Number of secondary nodes in the replica set | `1` |
|
||||
| `replicaSet.replicas.arbiter` | Number of arbiter nodes in the replica set | `1` |
|
||||
| `replicaSet.pdb.enabled` | Switch to enable/disable Pod Disruption Budget | `true` |
|
||||
| `replicaSet.pdb.minAvailable.primary` | PDB (min available) for the MongoDB Primary nodes | `1` |
|
||||
| `replicaSet.pdb.minAvailable.secondary` | PDB (min available) for the MongoDB Secondary nodes | `1` |
|
||||
| `replicaSet.pdb.minAvailable.arbiter` | PDB (min available) for the MongoDB Arbiter nodes | `1` |
|
||||
| `replicaSet.pdb.maxUnavailable.primary` | PDB (max unavailable) for the MongoDB Primary nodes | `nil` |
|
||||
| `replicaSet.pdb.maxUnavailable.secondary` | PDB (max unavailable) for the MongoDB Secondary nodes | `nil` |
|
||||
| `replicaSet.pdb.maxUnavailable.arbiter` | PDB (max unavailable) for the MongoDB Arbiter nodes | `nil` |
|
||||
| `podAnnotations` | Annotations to be added to pods | `{}` |
|
||||
| `podLabels` | Additional labels for the pod(s). | `{}` |
|
||||
| `resources` | Pod resources | `{}` |
|
||||
| `priorityClassName` | Pod priority class name | `` |
|
||||
| `nodeSelector` | Node labels for pod assignment | `{}` |
|
||||
| `affinity` | Affinity for pod assignment | `{}` |
|
||||
| `tolerations` | Toleration labels for pod assignment | `{}` |
|
||||
| `updateStrategy` | Statefulsets update strategy policy | `RollingUpdate` |
|
||||
| `securityContext.enabled` | Enable security context | `true` |
|
||||
| `securityContext.fsGroup` | Group ID for the container | `1001` |
|
||||
| `securityContext.runAsUser` | User ID for the container | `1001` |
|
||||
| `schedulerName` | Name of the k8s scheduler (other than default) | `nil` |
|
||||
| `persistence.enabled` | Use a PVC to persist data | `true` |
|
||||
| `persistence.mountPath` | Path to mount the volume at | `/bitnami/mongodb` |
|
||||
| `persistence.subPath` | Subdirectory of the volume to mount at | `""` |
|
||||
| `persistence.storageClass` | Storage class of backing PVC | `nil` (uses alpha storage class annotation) |
|
||||
| `persistence.accessModes` | Use volume as ReadOnly or ReadWrite | `[ReadWriteOnce]` |
|
||||
| `persistence.size` | Size of data volume | `8Gi` |
|
||||
| `persistence.annotations` | Persistent Volume annotations | `{}` |
|
||||
| `persistence.existingClaim` | Name of an existing PVC to use (avoids creating one if this is given) | `nil` |
|
||||
| `extraInitContainers` | Additional init containers as a string to be passed to the `tpl` function | `{}` |
|
||||
| `livenessProbe.enabled` | Enable/disable the Liveness probe | `true` |
|
||||
| `livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | `30` |
|
||||
| `livenessProbe.periodSeconds` | How often to perform the probe | `10` |
|
||||
| `livenessProbe.timeoutSeconds` | When the probe times out | `5` |
|
||||
| `livenessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed. | `1` |
|
||||
| `livenessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded. | `6` |
|
||||
| `readinessProbe.enabled` | Enable/disable the Readiness probe | `true` |
|
||||
| `readinessProbe.initialDelaySeconds` | Delay before readiness probe is initiated | `5` |
|
||||
| `readinessProbe.periodSeconds` | How often to perform the probe | `10` |
|
||||
| `readinessProbe.timeoutSeconds` | When the probe times out | `5` |
|
||||
| `readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded. | `6` |
|
||||
| `readinessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed. | `1` |
|
||||
| `initConfigMap.name` | Custom config map with init scripts | `nil` |
|
||||
| `configmap` | MongoDB configuration file to be used | `nil` |
|
||||
| `ingress.enabled` | Enables Ingress. Tested with nginx-ingress version `1.3.1` | `false` |
|
||||
| `ingress.annotations` | Ingress annotations | `{}` |
|
||||
| `ingress.labels` | Custom labels | `{}` |
|
||||
| `ingress.paths` | Ingress paths | `[/]` |
|
||||
| `ingress.hosts` | Ingress accepted hostnames | `[]` |
|
||||
| `ingress.tls` | Ingress TLS configuration | `[ { secretName: secret-tls, hosts: [] } ]` |
|
||||
| `metrics.enabled` | Start a side-car prometheus exporter | `false` |
|
||||
| `metrics.image.registry` | MongoDB exporter image registry | `docker.io` |
|
||||
| `metrics.image.repository` | MongoDB exporter image name | `forekshub/percona-mongodb-exporter` |
|
||||
| `metrics.image.tag` | MongoDB exporter image tag | `latest` |
|
||||
| `metrics.image.pullPolicy` | Image pull policy | `Always` |
|
||||
| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
|
||||
| `metrics.podAnnotations.prometheus.io/scrape` | Additional annotations for Metrics exporter pod | `true` |
|
||||
| `metrics.podAnnotations.prometheus.io/port` | Additional annotations for Metrics exporter pod | `"9216"` |
|
||||
| `metrics.extraArgs` | String with extra arguments for the MongoDB Exporter | `` |
|
||||
| `metrics.resources` | Exporter resource requests/limit | `{}` |
|
||||
| `metrics.serviceMonitor.enabled` | Create ServiceMonitor Resource for scraping metrics using PrometheusOperator | `false` |
|
||||
| `metrics.serviceMonitor.namespace` | Optional namespace which Prometheus is running in | `nil` |
|
||||
| `metrics.serviceMonitor.additionalLabels` | Used to pass Labels that are required by the Installed Prometheus Operator | `{}` |
|
||||
| `metrics.serviceMonitor.relabellings` | Specify Metric Relabellings to add to the scrape endpoint | `nil` |
|
||||
| `metrics.serviceMonitor.alerting.rules` | Define individual alerting rules as required | `{}` |
|
||||
| `metrics.serviceMonitor.alerting.additionalLabels` | Used to pass Labels that are required by the Installed Prometheus Operator | `{}` |
|
||||
| `metrics.livenessProbe.enabled` | Enable/disable the Liveness Check of Prometheus metrics exporter | `false` |
|
||||
| `metrics.livenessProbe.initialDelaySeconds` | Initial Delay for Liveness Check of Prometheus metrics exporter | `15` |
|
||||
| `metrics.livenessProbe.periodSeconds` | How often to perform Liveness Check of Prometheus metrics exporter | `5` |
|
||||
| `metrics.livenessProbe.timeoutSeconds` | Timeout for Liveness Check of Prometheus metrics exporter | `5` |
|
||||
| `metrics.livenessProbe.failureThreshold` | Failure Threshold for Liveness Check of Prometheus metrics exporter | `3` |
|
||||
| `metrics.livenessProbe.successThreshold` | Success Threshold for Liveness Check of Prometheus metrics exporter | `1` |
|
||||
| `metrics.readinessProbe.enabled` | Enable/disable the Readiness Check of Prometheus metrics exporter | `false` |
|
||||
| `metrics.readinessProbe.initialDelaySeconds` | Initial Delay for Readiness Check of Prometheus metrics exporter | `5` |
|
||||
| `metrics.readinessProbe.periodSeconds` | How often to perform Readiness Check of Prometheus metrics exporter | `5` |
|
||||
| `metrics.readinessProbe.timeoutSeconds` | Timeout for Readiness Check of Prometheus metrics exporter | `1` |
|
||||
| `metrics.readinessProbe.failureThreshold` | Failure Threshold for Readiness Check of Prometheus metrics exporter | `3` |
|
||||
| `metrics.readinessProbe.successThreshold` | Success Threshold for Readiness Check of Prometheus metrics exporter | `1` |
|
||||
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
|
||||
@@ -250,6 +256,15 @@ The [Bitnami MongoDB](https://github.com/bitnami/bitnami-docker-mongodb) image s
|
||||
|
||||
The chart mounts a [Persistent Volume](http://kubernetes.io/docs/user-guide/persistent-volumes/) at this location. The volume is created using dynamic volume provisioning.
|
||||
|
||||
### Adjust permissions of persistent volume mountpoint
|
||||
|
||||
As the image run as non-root by default, it is necessary to adjust the ownership of the persistent volume so that the container can write data into it.
|
||||
|
||||
By default, the chart is configured to use Kubernetes Security Context to automatically change the ownership of the volume. However, this feature does not work in all Kubernetes distributions.
|
||||
As an alternative, this chart supports using an initContainer to change the ownership of the volume before mounting it in the final destination.
|
||||
|
||||
You can enable this initContainer by setting `volumePermissions.enabled` to `true`.
|
||||
|
||||
## Upgrading
|
||||
|
||||
### To 6.0.0
|
||||
|
||||
@@ -115,7 +115,7 @@ imagePullSecrets:
|
||||
{{- range .Values.global.imagePullSecrets }}
|
||||
- name: {{ . }}
|
||||
{{- end }}
|
||||
{{- else if or .Values.image.pullSecrets .Values.metrics.image.pullSecrets }}
|
||||
{{- else if or .Values.image.pullSecrets .Values.metrics.image.pullSecrets .Values.volumePermissions.image.pullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- range .Values.image.pullSecrets }}
|
||||
- name: {{ . }}
|
||||
@@ -123,8 +123,11 @@ imagePullSecrets:
|
||||
{{- range .Values.metrics.image.pullSecrets }}
|
||||
- name: {{ . }}
|
||||
{{- end }}
|
||||
{{- range .Values.volumePermissions.image.pullSecrets }}
|
||||
- name: {{ . }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
{{- else if or .Values.image.pullSecrets .Values.metrics.image.pullSecrets }}
|
||||
{{- else if or .Values.image.pullSecrets .Values.metrics.image.pullSecrets .Values.volumePermissions.image.pullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- range .Values.image.pullSecrets }}
|
||||
- name: {{ . }}
|
||||
@@ -132,5 +135,31 @@ imagePullSecrets:
|
||||
{{- range .Values.metrics.image.pullSecrets }}
|
||||
- name: {{ . }}
|
||||
{{- end }}
|
||||
{{- range .Values.volumePermissions.image.pullSecrets }}
|
||||
- name: {{ . }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper image name (for the init container volume-permissions image)
|
||||
*/}}
|
||||
{{- define "mongodb.volumePermissions.image" -}}
|
||||
{{- $registryName := .Values.volumePermissions.image.registry -}}
|
||||
{{- $repositoryName := .Values.volumePermissions.image.repository -}}
|
||||
{{- $tag := .Values.volumePermissions.image.tag | toString -}}
|
||||
{{/*
|
||||
Helm 2.11 supports the assignment of a value to a variable defined in a different scope,
|
||||
but Helm 2.9 and 2.10 doesn't support it, so we need to implement this if-else logic.
|
||||
Also, we can't use a single if because lazy evaluation is not an option
|
||||
*/}}
|
||||
{{- if .Values.global }}
|
||||
{{- if .Values.global.imageRegistry }}
|
||||
{{- printf "%s/%s:%s" .Values.global.imageRegistry $repositoryName $tag -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}}
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
@@ -55,10 +55,22 @@ spec:
|
||||
{{ toYaml .Values.tolerations | indent 8 }}
|
||||
{{- end }}
|
||||
{{- include "mongodb.imagePullSecrets" . | indent 6 }}
|
||||
{{- if .Values.extraInitContainers }}
|
||||
initContainers:
|
||||
{{- if .Values.extraInitContainers }}
|
||||
{{ tpl .Values.extraInitContainers . | indent 6}}
|
||||
{{- end }}
|
||||
{{- if and .Values.volumePermissions.enabled .Values.persistence.enabled }}
|
||||
- name: volume-permissions
|
||||
image: {{ template "mongodb.volumePermissions.image" . }}
|
||||
imagePullPolicy: {{ .Values.volumePermissions.image.pullPolicy | quote }}
|
||||
command: ["chown", "-R", "{{ .Values.securityContext.runAsUser }}:{{ .Values.securityContext.fsGroup }}", "{{ .Values.persistence.mountPath }}"]
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
resources: {{ toYaml .Values.volumePermissions.resources | nindent 10 }}
|
||||
volumeMounts:
|
||||
- name: data
|
||||
mountPath: {{ .Values.persistence.mountPath }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ template "mongodb.fullname" . }}
|
||||
image: {{ template "mongodb.image" . }}
|
||||
|
||||
@@ -64,10 +64,22 @@ spec:
|
||||
{{ toYaml .Values.tolerations | indent 8 }}
|
||||
{{- end }}
|
||||
{{- include "mongodb.imagePullSecrets" . | indent 6 }}
|
||||
{{- if .Values.extraInitContainers }}
|
||||
initContainers:
|
||||
{{- if .Values.extraInitContainers }}
|
||||
{{ tpl .Values.extraInitContainers . | indent 6}}
|
||||
{{- end }}
|
||||
{{- if and .Values.volumePermissions.enabled .Values.persistence.enabled }}
|
||||
- name: volume-permissions
|
||||
image: {{ template "mongodb.volumePermissions.image" . }}
|
||||
imagePullPolicy: {{ .Values.volumePermissions.image.pullPolicy | quote }}
|
||||
command: ["chown", "-R", "{{ .Values.securityContext.runAsUser }}:{{ .Values.securityContext.fsGroup }}", "{{ .Values.persistence.mountPath }}"]
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
resources: {{ toYaml .Values.volumePermissions.resources | nindent 10 }}
|
||||
volumeMounts:
|
||||
- name: datadir
|
||||
mountPath: {{ .Values.persistence.mountPath }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ template "mongodb.name" . }}-primary
|
||||
image: {{ template "mongodb.image" . }}
|
||||
|
||||
@@ -65,10 +65,22 @@ spec:
|
||||
{{ toYaml .Values.tolerations | indent 8 }}
|
||||
{{- end }}
|
||||
{{- include "mongodb.imagePullSecrets" . | indent 6 }}
|
||||
{{- if .Values.extraInitContainers }}
|
||||
initContainers:
|
||||
{{- if .Values.extraInitContainers }}
|
||||
{{ tpl .Values.extraInitContainers . | indent 6}}
|
||||
{{- end }}
|
||||
{{- if and .Values.volumePermissions.enabled .Values.persistence.enabled }}
|
||||
- name: volume-permissions
|
||||
image: {{ template "mongodb.volumePermissions.image" . }}
|
||||
imagePullPolicy: {{ .Values.volumePermissions.image.pullPolicy | quote }}
|
||||
command: ["chown", "-R", "{{ .Values.securityContext.runAsUser }}:{{ .Values.securityContext.fsGroup }}", "{{ .Values.persistence.mountPath }}"]
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
resources: {{ toYaml .Values.volumePermissions.resources | nindent 10 }}
|
||||
volumeMounts:
|
||||
- name: datadir
|
||||
mountPath: {{ .Values.persistence.mountPath }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ template "mongodb.name" . }}-secondary
|
||||
image: {{ template "mongodb.image" . }}
|
||||
|
||||
@@ -42,6 +42,24 @@ image:
|
||||
##
|
||||
# fullnameOverride:
|
||||
|
||||
## 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/minideb
|
||||
tag: latest
|
||||
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/
|
||||
##
|
||||
# pullSecrets:
|
||||
# - myRegistryKeySecretName
|
||||
resources: {}
|
||||
|
||||
## Enable authentication
|
||||
## ref: https://docs.mongodb.com/manual/tutorial/enable-authentication/
|
||||
#
|
||||
|
||||
@@ -42,6 +42,24 @@ image:
|
||||
##
|
||||
# fullnameOverride:
|
||||
|
||||
## 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/minideb
|
||||
tag: latest
|
||||
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/
|
||||
##
|
||||
# pullSecrets:
|
||||
# - myRegistryKeySecretName
|
||||
resources: {}
|
||||
|
||||
## Enable authentication
|
||||
## ref: https://docs.mongodb.com/manual/tutorial/enable-authentication/
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user