blob: c0cdfef2d2fbce43d2d58c906f330aa4ba65028b [file] [log] [blame]
# 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: "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: []