[COMMON] Add monitoring to postgres
[oom.git] / kubernetes / common / postgres / values.yaml
1 # Copyright © 2018 Amdocs, AT&T, Bell Canada
2 # Modifications Copyright (C) 2021 Bell Canada.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 #################################################################
17 # Global configuration defaults.
18 #################################################################
19 global:
20   nodePortPrefix: 302
21   persistence: {}
22
23 #################################################################
24 # Secrets metaconfig
25 #################################################################
26 secrets:
27   - uid: '{{ include "common.postgres.secret.rootPassUID" . }}'
28     type: password
29     externalSecret: '{{ tpl (default "" .Values.config.pgRootPasswordExternalSecret) . }}'
30     password: '{{ .Values.config.pgRootPassword }}'
31   - uid: '{{ include "common.postgres.secret.userCredentialsUID" . }}'
32     type: basicAuth
33     externalSecret: '{{ tpl (default "" .Values.config.pgUserExternalSecret) . }}'
34     login: '{{ .Values.config.pgUserName }}'
35     password: '{{ .Values.config.pgUserPassword }}'
36   - uid: '{{ include "common.postgres.secret.primaryPasswordUID" . }}'
37     type: password
38     externalSecret: '{{ tpl (default "" .Values.config.pgPrimaryPasswordExternalSecret) . }}'
39     password: '{{ .Values.config.pgPrimaryPassword }}'
40
41 #################################################################
42 # Application configuration defaults.
43 #################################################################
44
45 # bitnami image doesn't support well single quote in password
46 passwordStrengthOverride: basic
47
48 pullPolicy: Always
49
50 # application configuration
51 config:
52   pgUserName: testuser
53   pgDatabase: userdb
54   pgDataPath: data
55   # pgPrimaryPassword: password
56   # pgUserPassword: password
57   # pgRootPassword: password
58
59 container:
60   name:
61     primary: pgset-primary
62     replica: pgset-replica
63
64 nodeSelector: {}
65
66 affinity: {}
67
68 # probe configuration parameters
69 liveness:
70   initialDelaySeconds: 300
71   periodSeconds: 10
72   timeoutSeconds: 5
73   # necessary to disable liveness probe when setting breakpoints
74   # in debugger so K8s doesn't restart unresponsive container
75   enabled: true
76
77 readiness:
78   initialDelaySeconds: 10
79   periodSeconds: 10
80
81 ## Persist data to a persitent volume
82 persistence:
83   enabled: true
84
85   ## A manually managed Persistent Volume and Claim
86   ## Requires persistence.enabled: true
87   ## If defined, PVC must be created manually before volume will be bound
88   # existingClaim:
89   volumeReclaimPolicy: Retain
90
91   ## database data Persistent Volume Storage Class
92   ## If defined, storageClassName: <storageClass>
93   ## If set to "-", storageClassName: "", which disables dynamic provisioning
94   ## If undefined (the default) or set to null, no storageClassName spec is
95   ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
96   ##   GKE, AWS & OpenStack)
97   accessMode: ReadWriteOnce
98   size: 1Gi
99   mountPath: /dockerdata-nfs
100   mountSubPath: postgres/data
101   mountInitPath: postgres
102
103 service:
104   type: ClusterIP
105   name: pgset
106   portName: tcp-postgres
107   externalPort: 5432
108   internalPort: 5432
109   type2: ClusterIP
110   name2: tcp-pgset-primary
111   portName2: tcp-postgres
112   externalPort2: 5432
113   internalPort2: 5432
114   type3: ClusterIP
115   name3: tcp-pgset-replica
116   portName3: tcp-postgres
117   externalPort3: 5432
118   internalPort3: 5432
119
120 ingress:
121   enabled: false
122
123 flavor: small
124
125 #resources: {}
126 # We usually recommend not to specify default resources and to leave this as a conscious
127 # choice for the user. This also increases chances charts run on environments with little
128 # resources, such as Minikube. If you do want to specify resources, uncomment the following
129 # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
130 #
131 # Example:
132 # Configure resource requests and limits
133 # ref: http://kubernetes.io/docs/user-guide/compute-resources/
134 # Minimum memory for development is 2 CPU cores and 4GB memory
135 # Minimum memory for production is 4 CPU cores and 8GB memory
136 resources:
137   small:
138     limits:
139       cpu: 100m
140       memory: 300Mi
141     requests:
142       cpu: 10m
143       memory: 90Mi
144   large:
145     limits:
146       cpu: 2
147       memory: 4Gi
148     requests:
149       cpu: 1
150       memory: 2Gi
151   unlimited: {}
152
153 metrics:
154   enabled: false
155   ## Bitnami Postgres Prometheus exporter image
156   ## ref: https://hub.docker.com/r/bitnami/postgres-exporter/tags/
157   ##
158   image: bitnami/postgres-exporter:0.11.1
159   pullPolicy: Always
160   ports:
161   - name: tcp-metrics
162     port: 9187
163   ## Postgres exporter additional command line flags
164   ## Can be used to specify command line flags
165   ## E.g.:
166   ## extraFlags:
167   ##   - --collect.binlog_size
168   ##
169   extraFlags: []
170   ## Postgres Prometheus exporter containers' resource requests and limits
171   ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
172   ##
173   resources:
174     # We usually recommend not to specify default resources and to leave this as a conscious
175     # choice for the user. This also increases chances charts run on environments with little
176     # resources, such as Minikube. If you do want to specify resources, uncomment the following
177     # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
178     limits:
179       cpu: 0.5
180       memory: 256Mi
181     requests:
182       cpu: 0.5
183       memory: 256Mi
184   ## Postgres metrics container's liveness and readiness probes
185   ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
186   ##
187   postgresUser: "postgres"
188   livenessProbe:
189     enabled: true
190     initialDelaySeconds: 30
191     periodSeconds: 10
192     timeoutSeconds: 180
193     successThreshold: 1
194     failureThreshold: 3
195   readinessProbe:
196     enabled: true
197     initialDelaySeconds: 30
198     periodSeconds: 10
199     timeoutSeconds: 180
200     successThreshold: 1
201     failureThreshold: 3
202   ## Postgres Prometheus exporter service parameters
203   ##
204   service:
205     type2: ClusterIP
206     port2: 9187
207     type3: ClusterIP
208     port3: 9187
209     annotations:
210       prometheus.io/scrape: "true"
211       prometheus.io/port: "9187"
212   serviceMonitor:
213     enabled: false
214     basicAuth:
215       enabled: false
216     ## Namespace in which Prometheus is running
217     ##
218     ## namespace: monitoring
219     ##
220     ## Interval at which metrics should be scraped.
221     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
222     ##
223     ## interval: 10s
224     ##
225     ## Timeout after which the scrape is ended
226     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
227     ##
228     ## scrapeTimeout: 10s
229     ## Add your label under which prometheus is discovering resources
230     ## labels:
231       ## release: kube-prometheus-stack
232     ##
233     ## ServiceMonitor selector labels
234     ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
235     ##
236     ## selector:
237       ## monitoring: enabled
238     ##
239     ## RelabelConfigs to apply to samples before scraping
240     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
241     ## Value is evalued as a template
242     ##
243     relabelings: []
244     ##
245     ## MetricRelabelConfigs to apply to samples before ingestion
246     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
247     ## Value is evalued as a template
248     ##
249     metricRelabelings: []