title: How to setup a mongodb grafana dashboard using helm bitnami/mongodb and kube-prometheus-stack
body: <p>I have the helm chart mongodb installed on my k8s cluster (<a href="https://github.com/bitnami/charts/tree/master/bitnami/mongodb" rel="nofollow noreferrer">https://github.com/bitnami/charts/tree/master/bitnami/mongodb</a>).</p>
  <p>I also have kube-prometheus-stack installed on my k8s cluster. (<a href="https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack" rel="nofollow noreferrer">https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack</a>)</p>
  <p>I've setup a grafana dashboard for mongodb which should pull in data from a prometheus data source. (<a href="https://grafana.com/grafana/dashboards/2583" rel="nofollow noreferrer">https://grafana.com/grafana/dashboards/2583</a> )</p>
  <p>However, my grafana dashboard is empty with no data.</p>
  <p><img src="https://user-images.githubusercontent.com/65535942/111288496-244b3380-863c-11eb-880a-691479f1d2d3.png" alt="image" /></p>
  <p><strong>I'm wondering if i have not configured something with the helm chart properly. Please see the mongodb helm chart below.</strong></p>
  <p><img src="https://user-images.githubusercontent.com/65535942/111289130-bf440d80-863c-11eb-8cc7-fb6a623295d3.png" alt="image" /></p>
  <p><strong>mognodb chart.yml</strong></p>
  <pre><code>## Global Docker image parameters
  ## Please, note that this will override the image parameters, including dependencies, configured to use the global value
  ## Current available global Docker image parameters: imageRegistry and imagePullSecrets
  ##
  global:
  #   imageRegistry: myRegistryName
  #   imagePullSecrets:
  #     - myRegistryKeySecretName
  #   storageClass: myStorageClass
  ## Override the namespace for resource deployed by the chart, but can itself be overridden by the local namespaceOverride
    namespaceOverride: mongodb
  
  image:
    ## Bitnami MongoDB registry
    ##
    registry: docker.io
    ## Bitnami MongoDB image name
    ##
    repository: bitnami/mongodb
    ## Bitnami MongoDB image tag
    ## ref: https://hub.docker.com/r/bitnami/mongodb/tags/
    ##
    tag: 4.4.1-debian-10-r13
    ## Specify a imagePullPolicy
    ## 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/
    ##
    # pullSecrets:
    #   - myRegistryKeySecretName
  
    ## Set to true if you would like to see extra information on logs
    ## It turns on Bitnami debugging in minideb-extras-base
    ## ref:  https://github.com/bitnami/minideb-extras-base
    debug: false
  
  ## String to partially override mongodb.fullname template (will maintain the release name)
  ##
  # nameOverride:
  
  ## String to fully override mongodb.fullname template
  ##
  # fullnameOverride:
  
  ## Kubernetes Cluster Domain
  ##
  clusterDomain: cluster.local
  
  ## Use an alternate scheduler, e.g. &quot;stork&quot;.
  ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  ##
  # schedulerName:
  
  ## MongoDB architecture. Allowed values: standalone or replicaset
  ##
  architecture: replicaset
  
  ## Use StatefulSet instead of Deployment when deploying standalone
  ##
  useStatefulSet: false
  
  ## MongoDB Authentication parameters
  ##
  auth:
    ## Enable authentication
    ## ref: https://docs.mongodb.com/manual/tutorial/enable-authentication/
    ##
    enabled: true
    ## MongoDB root password
    ## ref: https://github.com/bitnami/bitnami-docker-mongodb/blob/master/README.md#setting-the-root-password-on-first-run
    ##
    rootPassword: &quot;&lt;redacted&gt;&quot;
    ## MongoDB custom user and database
    ## ref: https://github.com/bitnami/bitnami-docker-mongodb/blob/master/README.md#creating-a-user-and-database-on-first-run
    ##
    # username: username
    # password: password
    # database: database
    ## Key used for replica set authentication
    ## Ignored when mongodb.architecture=standalone
    ##
    replicaSetKey: &lt;redacted&gt;
  
    ## Existing secret with MongoDB credentials
    ## NOTE: When it's set the previous parameters are ignored.
    ##
    # existingSecret: name-of-existing-secret
  
  ## Name of the replica set
  ## Ignored when mongodb.architecture=standalone
  ##
  replicaSetName: rs0
  
  ## Enable DNS hostnames in the replica set config
  ## Ignored when mongodb.architecture=standalone
  ## Ignored when externalAccess.enabled=true
  ##
  replicaSetHostnames: true
  
  ## Whether enable/disable IPv6 on MongoDB
  ## ref: https://github.com/bitnami/bitnami-docker-mongodb/blob/master/README.md#enabling/disabling-ipv6
  ##
  enableIPv6: false
  
  ## Whether enable/disable DirectoryPerDB on MongoDB
  ## ref: https://github.com/bitnami/bitnami-docker-mongodb/blob/master/README.md#enabling/disabling-directoryperdb
  ##
  directoryPerDB: false
  
  ## MongoDB System Log configuration
  ## ref: https://github.com/bitnami/bitnami-docker-mongodb#configuring-system-log-verbosity-level
  ##
  systemLogVerbosity: 0
  disableSystemLog: false
  
  ## MongoDB configuration file for Primary and Secondary nodes. For documentation of all options, see:
  ##   http://docs.mongodb.org/manual/reference/configuration-options/
  ## Example:
  ## configuration:
  ##   # where and how to store data.
  ##   storage:
  ##     dbPath: /bitnami/mongodb/data/db
  ##     journal:
  ##       enabled: true
  ##     directoryPerDB: false
  ##   # where to write logging data
  ##   systemLog:
  ##     destination: file
  ##     quiet: false
  ##     logAppend: true
  ##     logRotate: reopen
  ##     path: /opt/bitnami/mongodb/logs/mongodb.log
  ##     verbosity: 0
  ##   # network interfaces
  ##   net:
  ##     port: 27017
  ##     unixDomainSocket:
  ##       enabled: true
  ##       pathPrefix: /opt/bitnami/mongodb/tmp
  ##     ipv6: false
  ##     bindIpAll: true
  ##   # replica set options
  ##   #replication:
  ##     #replSetName: replicaset
  ##     #enableMajorityReadConcern: true
  ##   # process management options
  ##   processManagement:
  ##      fork: false
  ##      pidFilePath: /opt/bitnami/mongodb/tmp/mongodb.pid
  ##   # set parameter options
  ##   setParameter:
  ##      enableLocalhostAuthBypass: true
  ##   # security options
  ##   security:
  ##     authorization: disabled
  ##     #keyFile: /opt/bitnami/mongodb/conf/keyfile
  ##
  configuration: &quot;&quot;
  
  ## ConfigMap with MongoDB configuration for Primary and Secondary nodes
  ## NOTE: When it's set the arbiter.configuration parameter is ignored
  ##
  # existingConfigmap:
  
  ## initdb scripts
  ## Specify dictionary of scripts to be run at first boot
  ## Example:
  ## initdbScripts:
  ##   my_init_script.sh: |
  ##      #!/bin/bash
  ##      echo &quot;Do something.&quot;
  initdbScripts: {}
  
  ## Existing ConfigMap with custom init scripts
  ##
  # initdbScriptsConfigMap:
  
  ## Command and args for running the container (set to default if not set). Use array form
  ##
  # command:
  # args:
  
  ## Additional command line flags
  ## Example:
  ## extraFlags:
  ##  - &quot;--wiredTigerCacheSizeGB=2&quot;
  ##
  extraFlags: []
  
  ## Additional environment variables to set
  ## E.g:
  ## extraEnvVars:
  ##   - name: FOO
  ##     value: BAR
  ##
  extraEnvVars: []
  
  ## ConfigMap with extra environment variables
  ##
  # extraEnvVarsCM:
  
  ## Secret with extra environment variables
  ##
  # extraEnvVarsSecret:
  
  ## Annotations to be added to the MongoDB statefulset. Evaluated as a template.
  ##
  annotations: {}
  
  ## Additional labels to be added to the MongoDB statefulset. Evaluated as a template.
  ##
  labels: {}
  
  ## Number of MongoDB replicas to deploy.
  ## Ignored when mongodb.architecture=standalone
  ##
  replicaCount: 1
  
  ## StrategyType for MongoDB statefulset
  ## It can be set to RollingUpdate or Recreate by default.
  ##
  strategyType: RollingUpdate
  
  ## MongoDB should be initialized one by one when building the replicaset for the first time.
  ##
  podManagementPolicy: OrderedReady
  
  ## Affinity for pod assignment. Evaluated as a template.
  ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  ##
  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: []
  
  ## Lables for MongoDB pods. Evaluated as a template.
  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  ##
  podLabels: {}
  
  ## Annotations for MongoDB pods. Evaluated as a template.
  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  ##
  podAnnotations: {}
  
  ## MongoDB pods' priority.
  ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
  ##
  # priorityClassName: &quot;&quot;
  
  ## MongoDB pods' 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
    ## sysctl settings
    ## Example:
    ## sysctls:
    ## - name: net.core.somaxconn
    ##   value: &quot;10000&quot;
    ##
    sysctls: []
  
  ## MongoDB containers' Security Context (main and metrics container).
  ## 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
  
  ## MongoDB 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: 100m
    #   memory: 128Mi
    requests: {}
    #   cpu: 100m
    #   memory: 128Mi
  
  ## MongoDB pods' liveness and readiness probes. Evaluated as a template.
  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
  ##
  livenessProbe:
    enabled: true
    initialDelaySeconds: 30
    periodSeconds: 10
    timeoutSeconds: 5
    failureThreshold: 6
    successThreshold: 1
  readinessProbe:
    enabled: true
    initialDelaySeconds: 5
    periodSeconds: 10
    timeoutSeconds: 5
    failureThreshold: 6
    successThreshold: 1
  
  ## Custom Liveness probes for MongoDB pods
  ##
  customLivenessProbe: {}
  
  ## Custom Rediness probes MongoDB pods
  ##
  customReadinessProbe: {}
  
  ## Add init containers to the MongoDB pods.
  ## Example:
  ## initContainers:
  ##   - name: your-image-name
  ##     image: your-image
  ##     imagePullPolicy: Always
  ##     ports:
  ##       - name: portname
  ##         containerPort: 1234
  ##
  initContainers: {}
  
  ## Add sidecars to the MongoDB pods.
  ## Example:
  ## sidecars:
  ##   - name: your-image-name
  ##     image: your-image
  ##     imagePullPolicy: Always
  ##     ports:
  ##       - name: portname
  ##         containerPort: 1234
  ##
  sidecars: {}
  
  ## extraVolumes and extraVolumeMounts allows you to mount other volumes on MongoDB pods
  ## Examples:
  ## extraVolumeMounts:
  ##   - name: extras
  ##     mountPath: /usr/share/extras
  ##     readOnly: true
  ## extraVolumes:
  ##   - name: extras
  ##     emptyDir: {}
  extraVolumeMounts: []
  extraVolumes: []
  
  ## MongoDB Pod Disruption Budget configuration
  ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
  ##
  pdb:
    create: true
    ## 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
  
  ## 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
    ## Ignored when mongodb.architecture=replicaset
    ##
    # existingClaim:
    ## PV Storage Class
    ## If defined, storageClassName: &lt;storageClass&gt;
    ## If set to &quot;-&quot;, storageClassName: &quot;&quot;, which disables dynamic provisioning
    ## If undefined (the default) or set to null, no storageClassName spec is
    ## set, choosing the default provisioner.
    ##
    # storageClass: &quot;-&quot;
    ## PV Access Mode
    ##
    accessModes:
      - ReadWriteOnce
    ## PVC size
    ##
    size: 50Gi
    ## PVC annotations
    ##
    annotations: {}
    ## The path the volume will be mounted at, useful when using different
    ## MongoDB images.
    ##
    mountPath: /bitnami/mongodb
    ## The subdirectory of the volume to mount to, useful in dev environments
    ## and one PV for multiple services.
    ##
    subPath: &quot;&quot;
  
  ## Service parameters
  ##
  service:
    ## Service type
    ##
    type: ClusterIP
    ## MongoDB service port
    ##
    port: 27017
    ## MongoDB service port name
    ##
    portName: mongodb
    ## Specify the nodePort value for the LoadBalancer and NodePort service types.
    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
    ##
    nodePort: &quot;&quot;
    ## MongoDB service clusterIP IP
    ##
    # clusterIP: None
    ## Specify the externalIP value ClusterIP service type.
    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#external-ips
    ##
    externalIPs: []
    ## Specify the loadBalancerIP value for LoadBalancer service types.
    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer
    ##
    # loadBalancerIP:
    ## Specify the loadBalancerSourceRanges value for LoadBalancer service types.
    ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
    ##
    loadBalancerSourceRanges: []
    ## Provide any additional annotations which may be required. Evaluated as a template
    ##
    annotations: {}
  
  ## External Access to MongoDB nodes configuration
  ##
  externalAccess:
    ## Enable Kubernetes external cluster access to MongoDB nodes
    ##
    enabled: true
    ## External IPs auto-discovery configuration
    ## An init container is used to auto-detect LB IPs or node ports by querying the K8s API
    ## Note: RBAC might be required
    ##
    autoDiscovery:
      ## Enable external IP/ports auto-discovery
      ##
      enabled: true
      ## Bitnami Kubectl image
      ## ref: https://hub.docker.com/r/bitnami/kubectl/tags/
      ##
      image:
        registry: docker.io
        repository: bitnami/kubectl
        tag: 1.18.9-debian-10-r4
        ## 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/
        ## Example:
        ## 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:'.
        limits: {}
        #   cpu: 100m
        #   memory: 128Mi
        requests: {}
        #   cpu: 100m
        #   memory: 128Mi
    ## Parameters to configure K8s service(s) used to externally access MongoDB
    ## A new service per broker will be created
    ##
    service:
      ## Service type. Allowed values: LoadBalancer or NodePort
      ##
      type: LoadBalancer
      ## Port used when service type is LoadBalancer
      ##
      port: 27017
      ## Array of load balancer IPs for each MongoDB node. Length must be the same as replicaCount
      ## Example:
      ## loadBalancerIPs:
      ##   - X.X.X.X
      ##   - Y.Y.Y.Y
      ##
      loadBalancerIPs: []
      ## Load Balancer sources
      ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
      ## Example:
      ## loadBalancerSourceRanges:
      ## - 10.10.10.0/24
      ##
      loadBalancerSourceRanges: []
      ## Array of node ports used for each MongoDB node. Length must be the same as replicaCount
      ## Example:
      ## nodePorts:
      ##   - 30001
      ##   - 30002
      ##
      nodePorts: []
      ## When service type is NodePort, you can specify the domain used for MongoDB advertised hostnames.
      ## If not specified, the container will try to get the kubernetes node external IP
      ##
      # domain: mydomain.com
      ## Provide any additional annotations which may be required. Evaluated as a template
      ##
      annotations: {}
  
  ##
  ## MongoDB Arbiter parameters.
  ##
  arbiter:
    ## Enable deploying the MongoDB Arbiter
    ##   https://docs.mongodb.com/manual/tutorial/add-replica-set-arbiter/
    enabled: true
  
    ## MongoDB configuration file for the Arbiter. For documentation of all options, see:
    ##   http://docs.mongodb.org/manual/reference/configuration-options/
    ##
    configuration: &quot;&quot;
  
    ## ConfigMap with MongoDB configuration for the Arbiter
    ## NOTE: When it's set the arbiter.configuration parameter is ignored
    ##
    # existingConfigmap:
  
    ## Command and args for running the container (set to default if not set). Use array form
    ##
    # command:
    # args:
  
    ## Additional command line flags
    ## Example:
    ## extraFlags:
    ##  - &quot;--wiredTigerCacheSizeGB=2&quot;
    ##
    extraFlags: []
  
    ## Additional environment variables to set
    ## E.g:
    ## extraEnvVars:
    ##   - name: FOO
    ##     value: BAR
    ##
    extraEnvVars: []
  
    ## ConfigMap with extra environment variables
    ##
    # extraEnvVarsCM:
  
    ## Secret with extra environment variables
    ##
    # extraEnvVarsSecret:
  
    ## Annotations to be added to the Arbiter statefulset. Evaluated as a template.
    ##
    annotations: {}
  
    ## Additional to be added to the Arbiter statefulset. Evaluated as a template.
    ##
    labels: {}
  
    ## Affinity for pod assignment. Evaluated as a template.
    ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
    ##
    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: []
  
    ## Lables for MongoDB Arbiter pods. Evaluated as a template.
    ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
    ##
    podLabels: {}
  
    ## Annotations for MongoDB Arbiter pods. Evaluated as a template.
    ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
    ##
    podAnnotations: {}
  
    ## MongoDB Arbiter pods' priority.
    ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
    ##
    # priorityClassName: &quot;&quot;
  
    ## MongoDB Arbiter pods' 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
      ## sysctl settings
      ## Example:
      ## sysctls:
      ## - name: net.core.somaxconn
      ##   value: &quot;10000&quot;
      ##
      sysctls: []
  
    ## MongoDB Arbiter containers' Security Context (only main container).
    ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
    ##
    containerSecurityContext:
      enabled: true
      runAsUser: 1001
  
    ## MongoDB Arbiter 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: 100m
      #   memory: 128Mi
      requests: {}
      #   cpu: 100m
      #   memory: 128Mi
  
    ## MongoDB Arbiter pods' liveness and readiness probes. Evaluated as a template.
    ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
    ##
    livenessProbe:
      enabled: true
      initialDelaySeconds: 30
      periodSeconds: 10
      timeoutSeconds: 5
      failureThreshold: 6
      successThreshold: 1
    readinessProbe:
      enabled: true
      initialDelaySeconds: 5
      periodSeconds: 10
      timeoutSeconds: 5
      failureThreshold: 6
      successThreshold: 1
  
    ## Custom Liveness probes for MongoDB Arbiter pods
    ##
    customLivenessProbe: {}
  
    ## Custom Rediness probes MongoDB Arbiter pods
    ##
    customReadinessProbe: {}
  
    ## Add init containers to the MongoDB Arbiter pods.
    ## Example:
    ## initContainers:
    ##   - name: your-image-name
    ##     image: your-image
    ##     imagePullPolicy: Always
    ##     ports:
    ##       - name: portname
    ##         containerPort: 1234
    ##
    initContainers: {}
  
    ## Add sidecars to the MongoDB Arbiter pods.
    ## Example:
    ## sidecars:
    ##   - name: your-image-name
    ##     image: your-image
    ##     imagePullPolicy: Always
    ##     ports:
    ##       - name: portname
    ##         containerPort: 1234
    ##
    sidecars: {}
  
    ## extraVolumes and extraVolumeMounts allows you to mount other volumes on MongoDB Arbiter pods
    ## Examples:
    ## extraVolumeMounts:
    ##   - name: extras
    ##     mountPath: /usr/share/extras
    ##     readOnly: true
    ## extraVolumes:
    ##   - name: extras
    ##     emptyDir: {}
    extraVolumeMounts: []
    extraVolumes: []
  
    ## MongoDB Arbiter Pod Disruption Budget configuration
    ## 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
  
  ## ServiceAccount
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
  ##
  serviceAccount:
    ## Specifies whether a ServiceAccount should be created
    ##
    create: true
    ## The name of the ServiceAccount to use.
    ## If not set and create is true, a name is generated using the rabbitmq.fullname template
    ##
    # name:
  
  ## Role Based Access
  ## ref: https://kubernetes.io/docs/admin/authorization/rbac/
  ##
  rbac:
    ## Specifies whether RBAC rules should be created
    ## binding MongoDB ServiceAccount to a role
    ## that allows MongoDB pods querying the K8s API
    ##
    create: true
  
  ## Init Container paramaters
  ## Change the owner and group of the persistent volume(s) mountpoint(s) to 'runAsUser:fsGroup' on each component
  ## values from the securityContext section of the component
  ##
  volumePermissions:
    enabled: false
    ## Bitnami Minideb image
    ## ref: https://hub.docker.com/r/bitnami/minideb/tags/
    ##
    image:
      registry: docker.io
      repository: bitnami/minideb
      tag: buster
      ## 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: 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/
      ## Example:
      ## 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:'.
      limits: {}
      #   cpu: 100m
      #   memory: 128Mi
      requests: {}
      #   cpu: 100m
      #   memory: 128Mi
    ## Init container Security Context
    ## Note: the chown of the data folder is done to containerSecurityContext.runAsUser
    ## and not the below volumePermissions.securityContext.runAsUser
    ## When runAsUser is set to special value &quot;auto&quot;, init container will try to chwon the
    ## data folder to autodetermined user&amp;group, using commands: `id -u`:`id -G | cut -d&quot; &quot; -f2`
    ## &quot;auto&quot; is especially useful for OpenShift which has scc with dynamic userids (and 0 is not allowed).
    ## You may want to use this volumePermissions.securityContext.runAsUser=&quot;auto&quot; in combination with
    ## podSecurityContext.enabled=false,containerSecurityContext.enabled=false and shmVolume.chmod.enabled=false
    ##
    securityContext:
      runAsUser: 0
  
  ## Prometheus Exporter / Metrics
  ##
  metrics:
    enabled: true
    ## Bitnami MongoDB Promtheus Exporter image
    ## ref: https://hub.docker.com/r/bitnami/mongodb-exporter/tags/
    ##
    image:
      registry: docker.io
      repository: bitnami/mongodb-exporter
      tag: 0.11.1-debian-10-r32
      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/
      ##
      # pullSecrets:
      #   - myRegistryKeySecretName
  
    ## String with extra flags to the metrics exporter
    ## ref: https://github.com/percona/mongodb_exporter/blob/master/mongodb_exporter.go
    ##
    extraFlags: &quot;&quot;
  
    ## String with additional URI options to the metrics exporter
    ## ref: https://docs.mongodb.com/manual/reference/connection-string
    ##
    extraUri: &quot;&quot;
  
    ## Metrics exporter 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:'.
      limits: {}
      #   cpu: 100m
      #   memory: 128Mi
      requests: {}
      #   cpu: 100m
      #   memory: 128Mi
  
    ## Prometheus Exporter service configuration
    ##
    service:
      ## Annotations for Prometheus Exporter pods. Evaluated as a template.
      ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
      ##
      annotations:
        prometheus.io/scrape: &quot;true&quot;
        prometheus.io/port: &quot;{{ .Values.metrics.service.port }}&quot;
        prometheus.io/path: &quot;/metrics&quot;
      type: ClusterIP
      port: 9216
  
    ## Metrics exporter liveness and readiness probes
    ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
    ##
    livenessProbe:
      enabled: true
      initialDelaySeconds: 15
      periodSeconds: 5
      timeoutSeconds: 5
      failureThreshold: 3
      successThreshold: 1
    readinessProbe:
      enabled: true
      initialDelaySeconds: 5
      periodSeconds: 5
      timeoutSeconds: 1
      failureThreshold: 3
      successThreshold: 1
  
    ## Prometheus Service Monitor
    ## ref: https://github.com/coreos/prometheus-operator
    ##      https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md
    ##
    serviceMonitor:
      ## If the operator is installed in your cluster, set to true to create a Service Monitor Entry
      enabled: true
      ## Specify the namespace where Prometheus Operator is running
      ##
      # namespace: monitoring
  
      ## Specify the interval at which metrics should be scraped
      ##
      interval: 30s
      ## Specify the timeout after which the scrape is ended
      ##
      # scrapeTimeout: 30s
      ## 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: {}
  
    ## Custom PrometheusRule to be defined
    ## ref: https://github.com/coreos/prometheus-operator#customresourcedefinitions
    ##
    prometheusRule:
      enabled: false
      additionalLabels: {}
      ## Specify the namespace where Prometheus Operator is running
      ##
      # namespace: monitoring
      ## Define individual alerting rules as required
      ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#rulegroup
      ##      https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/
      ##
      rules: {}
  </code></pre>