# 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: ## 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: "200Mi" requests: cpu: "0.5" memory: "200Mi" ## 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: []