# Copyright © 2018 Amdocs, AT&T, Bell Canada
# Modifications Copyright (C) 2021 Bell Canada.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

#################################################################
# Global configuration defaults.
#################################################################
global:
  nodePortPrefix: 302
  persistence: {}
  postgres:
    # flag to enable the DB creation via mariadb-operator
    useOperator: false

#################################################################
# Secrets metaconfig
#################################################################
secrets:
  - uid: '{{ include "common.postgres.secret.rootPassUID" . }}'
    type: password
    externalSecret: '{{ tpl (default "" .Values.config.pgRootPasswordExternalSecret) . }}'
    password: '{{ .Values.config.pgRootPassword }}'
  - uid: '{{ include "common.postgres.secret.userCredentialsUID" . }}'
    type: basicAuth
    externalSecret: '{{ tpl (default "" .Values.config.pgUserExternalSecret) . }}'
    login: '{{ .Values.config.pgUserName }}'
    password: '{{ .Values.config.pgUserPassword }}'
  - uid: '{{ include "common.postgres.secret.primaryPasswordUID" . }}'
    type: password
    externalSecret: '{{ tpl (default "" .Values.config.pgPrimaryPasswordExternalSecret) . }}'
    password: '{{ .Values.config.pgPrimaryPassword }}'

#################################################################
# Postgres Operator configuration defaults.
# Example: https://github.com/CrunchyData/postgres-operator-examples/tree/main/helm/postgres
#################################################################
postgresOperator:
  postgresVersion: 16
  # Possibility to override images
  #imagePostgres:
  #imagePgBouncer:
  #imageExporter:
  #imagePgBackRest:
  instanceName: instance1
  instanceReplicas: 2
  #instanceStorageClassName:
  instanceSize: 1Gi
  #instanceCPU:
  #instanceMemory:
  bouncerReplicas: 2
  monitoring: true
  #monitoringConfig: {}

#################################################################
# Application configuration defaults.
#################################################################

# bitnami image doesn't support well single quote in password
passwordStrengthOverride: basic

pullPolicy: Always

# application configuration
config:
  pgUserName: testuser
  pgDatabase: userdb
  pgDataPath: data
  # pgPrimaryPassword: password
  # pgUserPassword: password
  # pgRootPassword: password

container:
  name:
    primary: pgset-primary
    replica: pgset-replica

nodeSelector: {}

affinity: {}

# probe configuration parameters
liveness:
  initialDelaySeconds: 300
  periodSeconds: 10
  timeoutSeconds: 5
  # necessary to disable liveness probe when setting breakpoints
  # in debugger so K8s doesn't restart unresponsive container
  enabled: true

readiness:
  initialDelaySeconds: 10
  periodSeconds: 10

## Persist data to a persitent volume
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
  # existingClaim:
  volumeReclaimPolicy: Retain

  ## database data 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)
  accessMode: ReadWriteOnce
  size: 1Gi
  mountPath: /dockerdata-nfs
  mountSubPath: postgres/data
  mountInitPath: postgres

service:
  type: ClusterIP
  name: pgset
  portName: tcp-postgres
  externalPort: 5432
  internalPort: 5432
  type2: ClusterIP
  name2: tcp-pgset-primary
  portName2: tcp-postgres
  externalPort2: 5432
  internalPort2: 5432
  type3: ClusterIP
  name3: tcp-pgset-replica
  portName3: tcp-postgres
  externalPort3: 5432
  internalPort3: 5432

ingress:
  enabled: false

flavor: small

#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:'.
#
# Example:
# Configure resource requests and limits
# ref: http://kubernetes.io/docs/user-guide/compute-resources/
# Minimum memory for development is 2 CPU cores and 4GB memory
# Minimum memory for production is 4 CPU cores and 8GB memory
resources:
  small:
    limits:
      cpu: 100m
      memory: 300Mi
    requests:
      cpu: 10m
      memory: 90Mi
  large:
    limits:
      cpu: 2
      memory: 4Gi
    requests:
      cpu: 1
      memory: 2Gi
  unlimited: {}

metrics:
  enabled: false
  ## Bitnami Postgres Prometheus exporter image
  ## ref: https://hub.docker.com/r/bitnami/postgres-exporter/tags/
  ##
  image: bitnami/postgres-exporter:0.11.1
  pullPolicy: Always
  ports:
  - name: tcp-metrics
    port: 9187
  ## Postgres exporter additional command line flags
  ## Can be used to specify command line flags
  ## E.g.:
  ## extraFlags:
  ##   - --collect.binlog_size
  ##
  extraFlags: []
  ## Postgres Prometheus exporter 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: 0.5
      memory: 256Mi
    requests:
      cpu: 0.5
      memory: 256Mi
  ## Postgres metrics container's liveness and readiness probes
  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
  ##
  postgresUser: "postgres"
  livenessProbe:
    enabled: true
    initialDelaySeconds: 30
    periodSeconds: 10
    timeoutSeconds: 180
    successThreshold: 1
    failureThreshold: 3
  readinessProbe:
    enabled: true
    initialDelaySeconds: 30
    periodSeconds: 10
    timeoutSeconds: 180
    successThreshold: 1
    failureThreshold: 3
  ## Postgres Prometheus exporter service parameters
  ##
  service:
    type2: ClusterIP
    port2: 9187
    type3: ClusterIP
    port3: 9187
    annotations:
      prometheus.io/scrape: "true"
      prometheus.io/port: "9187"
  serviceMonitor:
    enabled: false
    basicAuth:
      enabled: false
    ## Namespace in which Prometheus is running
    ##
    ## namespace: monitoring
    ##
    ## Interval at which metrics should be scraped.
    ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
    ##
    ## interval: 10s
    ##
    ## Timeout after which the scrape is ended
    ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
    ##
    ## scrapeTimeout: 10s
    ## Add your label under which prometheus is discovering resources
    ## labels:
      ## release: kube-prometheus-stack
    ##
    ## ServiceMonitor selector labels
    ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
    ##
    ## selector:
      ## monitoring: enabled
    ##
    ## RelabelConfigs to apply to samples before scraping
    ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
    ## Value is evalued as a template
    ##
    relabelings: []
    ##
    ## MetricRelabelConfigs to apply to samples before ingestion
    ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
    ## Value is evalued as a template
    ##
    metricRelabelings: []
