From c98b19248e2b3e47f7b08f2cdaba57c521b84670 Mon Sep 17 00:00:00 2001 From: Dwight Donovan Benvenuto <0x46616c6b@users.noreply.github.com> Date: Tue, 17 Sep 2019 16:42:27 +0200 Subject: [PATCH] [stable/mongo-replicaset] use bitnami/mongodb-exporter (#16893) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [stable/mongo-replicaset] use bitnami/mongodb-exporter Signed-off-by: louis * [stable/mongo-replicaset] set correct metrics.image.tag in README.md Signed-off-by: louis * [stable/mongo-replicaset] add securityContext override for metrics container Signed-off-by: louis * Update Chart.yaml Signed-off-by: Reinhard Nägele * [stable/mongo-replicaset] fix flag for mongodb-exporter Signed-off-by: louis --- stable/mongodb-replicaset/Chart.yaml | 2 +- stable/mongodb-replicaset/README.md | 7 +++-- .../templates/mongodb-statefulset.yaml | 27 +++++++++++-------- stable/mongodb-replicaset/values.yaml | 8 ++++-- 4 files changed, 28 insertions(+), 16 deletions(-) diff --git a/stable/mongodb-replicaset/Chart.yaml b/stable/mongodb-replicaset/Chart.yaml index 0811f8eeb6..2d1e13336f 100644 --- a/stable/mongodb-replicaset/Chart.yaml +++ b/stable/mongodb-replicaset/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: mongodb-replicaset home: https://github.com/mongodb/mongo -version: 3.9.6 +version: 3.10.0 appVersion: 3.6 description: NoSQL document-oriented database that stores JSON-like documents with dynamic schemas, simplifying the integration of data in content-driven applications. diff --git a/stable/mongodb-replicaset/README.md b/stable/mongodb-replicaset/README.md index 8b0e9ec044..2bb3b93d89 100644 --- a/stable/mongodb-replicaset/README.md +++ b/stable/mongodb-replicaset/README.md @@ -66,12 +66,15 @@ The following table lists the configurable parameters of the mongodb chart and t | `init.resources` | Pod resource requests and limits (for init containers) | `{}` | | `init.timeout` | The amount of time in seconds to wait for bootstrap to finish | `900` | | `metrics.enabled` | Enable Prometheus compatible metrics for pods and replicasets | `false` | -| `metrics.image.repository` | Image name for metrics exporter | `ssalaues/mongodb-exporter` | -| `metrics.image.tag` | Image tag for metrics exporter | `0.6.1` | +| `metrics.image.repository` | Image name for metrics exporter | `bitnami/mongodb-exporter` | +| `metrics.image.tag` | Image tag for metrics exporter | `0.9.0-debian-9-r2` | | `metrics.image.pullPolicy` | Image pull policy for metrics exporter | `IfNotPresent` | | `metrics.port` | Port for metrics exporter | `9216` | | `metrics.path` | URL Path to expose metics | `/metrics` | | `metrics.resources` | Metrics pod resource requests and limits | `{}` | +| `metrics.securityContext.enabled` | Enable security context | `true` | +| `metrics.securityContext.fsGroup` | Group ID for the metrics container | `1001` | +| `metrics.securityContext.runAsUser` | User ID for the metrics container | `1001` | | `metrics.socketTimeout` | Time to wait for a non-responding socket | `3s` | | `metrics.syncTimeout` | Time an operation with this session will wait before returning an error | `1m` | | `metrics.prometheusServiceDiscovery`| Adds annotations for Prometheus ServiceDiscovery | `true` | diff --git a/stable/mongodb-replicaset/templates/mongodb-statefulset.yaml b/stable/mongodb-replicaset/templates/mongodb-statefulset.yaml index 80f540acb9..650d463fe5 100644 --- a/stable/mongodb-replicaset/templates/mongodb-statefulset.yaml +++ b/stable/mongodb-replicaset/templates/mongodb-statefulset.yaml @@ -49,7 +49,7 @@ spec: securityContext: runAsUser: {{ .Values.securityContext.runAsUser }} fsGroup: {{ .Values.securityContext.fsGroup }} - runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }} + runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }} {{- end }} terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }} initContainers: @@ -234,23 +234,23 @@ spec: imagePullPolicy: {{ .Values.metrics.image.pullPolicy | quote }} command: - sh - - -ec + - -c - >- /bin/mongodb_exporter {{- if .Values.auth.enabled }} - -mongodb.uri mongodb://$METRICS_USER:$METRICS_PASSWORD@localhost:{{ .Values.port }} + --mongodb.uri mongodb://$METRICS_USER:$METRICS_PASSWORD@localhost:{{ .Values.port }} {{- else }} - -mongodb.uri mongodb://localhost:{{ .Values.port }} + --mongodb.uri mongodb://localhost:{{ .Values.port }} {{- end }} {{- if .Values.tls.enabled }} - -mongodb.tls - -mongodb.tls-ca=/ca/tls.crt - -mongodb.tls-cert=/work-dir/mongo.pem + --mongodb.tls + --mongodb.tls-ca=/ca/tls.crt + --mongodb.tls-cert=/work-dir/mongo.pem {{- end }} - -mongodb.socket-timeout={{ .Values.metrics.socketTimeout }} - -mongodb.sync-timeout={{ .Values.metrics.syncTimeout }} - -web.metrics-path={{ .Values.metrics.path }} - -web.listen-address=:{{ .Values.metrics.port }} + --mongodb.socket-timeout={{ .Values.metrics.socketTimeout }} + --mongodb.sync-timeout={{ .Values.metrics.syncTimeout }} + --web.telemetry-path={{ .Values.metrics.path }} + --web.listen-address=:{{ .Values.metrics.port }} volumeMounts: {{- if and (.Values.tls.enabled) }} - name: ca @@ -278,6 +278,11 @@ spec: containerPort: {{ .Values.metrics.port }} resources: {{ toYaml .Values.metrics.resources | indent 12 }} + {{- if .Values.metrics.securityContext.enabled }} + securityContext: + runAsUser: {{ .Values.metrics.securityContext.runAsUser }} + fsGroup: {{ .Values.metrics.securityContext.fsGroup }} + {{- end }} livenessProbe: exec: command: diff --git a/stable/mongodb-replicaset/values.yaml b/stable/mongodb-replicaset/values.yaml index a5831d1e1e..98a27e5d08 100644 --- a/stable/mongodb-replicaset/values.yaml +++ b/stable/mongodb-replicaset/values.yaml @@ -52,8 +52,8 @@ extraVars: {} metrics: enabled: false image: - repository: ssalaues/mongodb-exporter - tag: 0.6.1 + repository: bitnami/mongodb-exporter + tag: 0.9.0-debian-9-r2 pullPolicy: IfNotPresent port: 9216 path: "/metrics" @@ -61,6 +61,10 @@ metrics: syncTimeout: 1m prometheusServiceDiscovery: true resources: {} + securityContext: + enabled: true + runAsUser: 1001 + fsGroup: 1001 # Annotations to be added to MongoDB pods podAnnotations: {}