image:
  repository: tccr.io/truecharts/mongodb
  pullPolicy: IfNotPresent
  tag: v6.0.6@sha256:e592cd5851d581fe5f308eaeccaee70741c1a050c33d5fbca461c7cee5275d99

workload:
  main:
    replicas: 1
    podSpec:
      containers:
        main:
          env:
            MONGODB_USERNAME: "{{ .Values.mongodbUsername }}"
            MONGODB_DATABASE: "{{ .Values.mongodbDatabase }}"
            MONGODB_PASSWORD:
              secretKeyRef:
                expandObjectName: "{{ if .Values.mongodbPassword }}true{{ else }}false{{ end }}"
                name: '{{ if .Values.mongodbPassword }}credentials{{ else if .Values.existingSecret }}{{ .Values.existingSecret }}{{ else }}{{ printf "%s-%s" .Release.Name "mongodbcreds" }}{{ end }}'
                key: "mongodb-password"
            MONGODB_ROOT_PASSWORD:
              secretKeyRef:
                expandObjectName: "{{ if .Values.mongodbPassword }}true{{ else }}false{{ end }}"
                name: '{{ if .Values.mongodbPassword }}credentials{{ else if .Values.existingSecret }}{{ .Values.existingSecret }}{{ else }}{{ printf "%s-%s" .Release.Name "mongodbcreds" }}{{ end }}'
                key: "mongodb-root-password"
          # -- Probe configuration
          # -- [[ref]](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)
          # @default -- See below
          probes:
            # -- Liveness probe configuration
            # @default -- See below
            liveness:
              # -- Enable the liveness probe
              enabled: true
              # -- Set this to `true` if you wish to specify your own livenessProbe
              custom: true
              # -- The spec field contains the values for the default livenessProbe.
              # If you selected `custom: true`, this field holds the definition of the livenessProbe.
              # @default -- See below
              spec:
                exec:
                  command:
                    - /bin/bash
                    - -ec
                    - echo "db.runCommand(\"ping\")" | mongosh --host localhost --port 27017 ${MONGODB_DATABASE} --quiet

            # -- Redainess probe configuration
            # @default -- See below
            readiness:
              # -- Enable the readiness probe
              enabled: true
              # -- Set this to `true` if you wish to specify your own readinessProbe
              custom: true
              # -- The spec field contains the values for the default readinessProbe.
              # If you selected `custom: true`, this field holds the definition of the readinessProbe.
              # @default -- See below
              spec:
                exec:
                  command:
                    - /bin/bash
                    - -ec
                    - echo "db.runCommand(\"ping\")" | mongosh --host localhost --port 27017 ${MONGODB_DATABASE} --quiet

            # -- Startup probe configuration
            # @default -- See below
            startup:
              # -- Enable the startup probe
              enabled: true
              custom: true
              # -- The spec field contains the values for the default livenessProbe.
              # If you selected `custom: true`, this field holds the definition of the livenessProbe.
              # @default -- See below
              spec:
                exec:
                  command:
                    - /bin/bash
                    - -ec
                    - echo "db.runCommand(\"ping\")" | mongosh --host localhost --port 27017 ${MONGODB_DATABASE} --quiet

service:
  main:
    ports:
      main:
        port: 27017
        targetPort: 27017

securityContext:
  container:
    runAsGroup: 0
    readOnlyRootFilesystem: false

persistence:
  data:
    enabled: true
    mountPath: "/bitnami/mongodb"

mongodbUsername: "test"
mongodbDatabase: "test"
mongodbRootPassword: "testroot"

# -- Secret or password
# One of these options is required, unless used as a dependency for another TrueCharts chart.
mongodbPassword: ""
existingSecret: ""

secret:
  credentials:
    enabled: true
    data:
      mongodb-password: '{{ ( .Values.mongodbPassword | default "empty" ) }}'
      mongodb-root-password: '{{ ( .Values.mongodbRootPassword | default "empty" ) }}'

portal:
  open:
    enabled: false

manifestManager:
  enabled: false
