0fc14b8921bfcc4da95d2d0a0368ce69696b51c5
[it/dep.git] / ric-aux / helm / infrastructure / subcharts / kong / charts / postgresql / values.yaml
1 ## Global Docker image parameters
2 ## Please, note that this will override the image parameters, including dependencies, configured to use the global value
3 ## Current available global Docker image parameters: imageRegistry and imagePullSecrets
4 ##
5 global:
6   postgresql: {}
7 #   imageRegistry: myRegistryName
8 #   imagePullSecrets:
9 #     - myRegistryKeySecretName
10 #   storageClass: myStorageClass
11
12 ## Bitnami PostgreSQL image version
13 ## ref: https://hub.docker.com/r/bitnami/postgresql/tags/
14 ##
15 image:
16   registry: docker.io
17   repository: bitnami/postgresql
18   tag: 11.6.0-debian-9-r0
19   ## Specify a imagePullPolicy
20   ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
21   ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
22   ##
23   pullPolicy: IfNotPresent
24   ## Optionally specify an array of imagePullSecrets.
25   ## Secrets must be manually created in the namespace.
26   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
27   ##
28   # pullSecrets:
29   #   - myRegistryKeySecretName
30
31   ## Set to true if you would like to see extra information on logs
32   ## It turns BASH and NAMI debugging in minideb
33   ## ref:  https://github.com/bitnami/minideb-extras/#turn-on-bash-debugging
34   debug: false
35
36 ## String to partially override postgresql.fullname template (will maintain the release name)
37 ##
38 # nameOverride:
39
40 ## String to fully override postgresql.fullname template
41 ##
42 # fullnameOverride:
43
44 ##
45 ## Init containers parameters:
46 ## volumePermissions: Change the owner of the persist volume mountpoint to RunAsUser:fsGroup
47 ##
48 volumePermissions:
49   enabled: true
50   image:
51     registry: docker.io
52     repository: bitnami/minideb
53     tag: stretch
54     ## Specify a imagePullPolicy
55     ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
56     ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
57     ##
58     pullPolicy: Always
59     ## Optionally specify an array of imagePullSecrets.
60     ## Secrets must be manually created in the namespace.
61     ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
62     ##
63     # pullSecrets:
64     #   - myRegistryKeySecretName
65   ## Init container Security Context
66   securityContext:
67     runAsUser: 0
68
69 ## Use an alternate scheduler, e.g. "stork".
70 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
71 ##
72 # schedulerName:
73
74 ## Pod Security Context
75 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
76 ##
77 securityContext:
78   enabled: true
79   fsGroup: 1001
80   runAsUser: 1001
81
82 ## Pod Service Account
83 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
84 serviceAccount:
85   enabled: false
86   ## Name of an already existing service account. Setting this value disables the automatic service account creation.
87   # name:
88
89 replication:
90   enabled: false
91   user: repl_user
92   password: repl_password
93   slaveReplicas: 1
94   ## Set synchronous commit mode: on, off, remote_apply, remote_write and local
95   ## ref: https://www.postgresql.org/docs/9.6/runtime-config-wal.html#GUC-WAL-LEVEL
96   synchronousCommit: "off"
97   ## From the number of `slaveReplicas` defined above, set the number of those that will have synchronous replication
98   ## NOTE: It cannot be > slaveReplicas
99   numSynchronousReplicas: 0
100   ## Replication Cluster application name. Useful for defining multiple replication policies
101   applicationName: my_application
102
103 ## PostgreSQL admin password (used when `postgresqlUsername` is not `postgres`)
104 ## ref: https://github.com/bitnami/bitnami-docker-postgresql/blob/master/README.md#creating-a-database-user-on-first-run (see note!)
105 # postgresqlPostgresPassword:
106
107 ## PostgreSQL user (has superuser privileges if username is `postgres`)
108 ## ref: https://github.com/bitnami/bitnami-docker-postgresql/blob/master/README.md#setting-the-root-password-on-first-run
109 postgresqlUsername: postgres
110
111 ## PostgreSQL password
112 ## ref: https://github.com/bitnami/bitnami-docker-postgresql/blob/master/README.md#setting-the-root-password-on-first-run
113 ##
114 # postgresqlPassword:
115
116 ## PostgreSQL password using existing secret
117 ## existingSecret: secret
118
119 ## Mount PostgreSQL secret as a file instead of passing environment variable
120 # usePasswordFile: false
121
122 ## Create a database
123 ## ref: https://github.com/bitnami/bitnami-docker-postgresql/blob/master/README.md#creating-a-database-on-first-run
124 ##
125 # postgresqlDatabase:
126
127 ## PostgreSQL data dir
128 ## ref: https://github.com/bitnami/bitnami-docker-postgresql/blob/master/README.md
129 ##
130 postgresqlDataDir: /bitnami/postgresql/data
131
132 ## An array to add extra environment variables
133 ## For example:
134 ## extraEnv:
135 ##   - name: FOO
136 ##     value: "bar"
137 ##
138 # extraEnv:
139 extraEnv: []
140
141 ## Specify extra initdb args
142 ## ref: https://github.com/bitnami/bitnami-docker-postgresql/blob/master/README.md
143 ##
144 # postgresqlInitdbArgs:
145
146 ## Specify a custom location for the PostgreSQL transaction log
147 ## ref: https://github.com/bitnami/bitnami-docker-postgresql/blob/master/README.md
148 ##
149 # postgresqlInitdbWalDir:
150
151 ## PostgreSQL configuration
152 ## Specify runtime configuration parameters as a dict, using camelCase, e.g.
153 ## {"sharedBuffers": "500MB"}
154 ## Alternatively, you can put your postgresql.conf under the files/ directory
155 ## ref: https://www.postgresql.org/docs/current/static/runtime-config.html
156 ##
157 # postgresqlConfiguration:
158
159 ## PostgreSQL extended configuration
160 ## As above, but _appended_ to the main configuration
161 ## Alternatively, you can put your *.conf under the files/conf.d/ directory
162 ## https://github.com/bitnami/bitnami-docker-postgresql#allow-settings-to-be-loaded-from-files-other-than-the-default-postgresqlconf
163 ##
164 # postgresqlExtendedConf:
165
166 ## PostgreSQL client authentication configuration
167 ## Specify content for pg_hba.conf
168 ## Default: do not create pg_hba.conf
169 ## Alternatively, you can put your pg_hba.conf under the files/ directory
170 # pgHbaConfiguration: |-
171 #   local all all trust
172 #   host all all localhost trust
173 #   host mydatabase mysuser 192.168.0.0/24 md5
174
175 ## ConfigMap with PostgreSQL configuration
176 ## NOTE: This will override postgresqlConfiguration and pgHbaConfiguration
177 # configurationConfigMap:
178
179 ## ConfigMap with PostgreSQL extended configuration
180 # extendedConfConfigMap:
181
182 ## initdb scripts
183 ## Specify dictionary of scripts to be run at first boot
184 ## Alternatively, you can put your scripts under the files/docker-entrypoint-initdb.d directory
185 ##
186 # initdbScripts:
187 #   my_init_script.sh: |
188 #      #!/bin/sh
189 #      echo "Do something."
190
191 ## ConfigMap with scripts to be run at first boot
192 ## NOTE: This will override initdbScripts
193 # initdbScriptsConfigMap:
194
195 ## Secret with scripts to be run at first boot (in case it contains sensitive information)
196 ## NOTE: This can work along initdbScripts or initdbScriptsConfigMap
197 # initdbScriptsSecret:
198
199 ## Specify the PostgreSQL username and password to execute the initdb scripts
200 # initdbUser:
201 # initdbPassword:
202
203 ## Optional duration in seconds the pod needs to terminate gracefully.
204 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
205 ##
206 # terminationGracePeriodSeconds: 30
207
208 ## LDAP configuration
209 ##
210 ldap:
211   enabled: false
212   url: ""
213   server: ""
214   port: ""
215   prefix: ""
216   suffix: ""
217   baseDN: ""
218   bindDN: ""
219   bind_password:
220   search_attr: ""
221   search_filter: ""
222   scheme: ""
223   tls: false
224
225 ## PostgreSQL service configuration
226 service:
227   ## PosgresSQL service type
228   type: ClusterIP
229   # clusterIP: None
230   port: 5432
231
232   ## Specify the nodePort value for the LoadBalancer and NodePort service types.
233   ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
234   ##
235   # nodePort:
236
237   ## Provide any additional annotations which may be required.
238   ## The value is evaluated as a template, so, for example, the value can depend on .Release or .Chart
239   annotations: {}
240   ## Set the LoadBalancer service type to internal only.
241   ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
242   ##
243   # loadBalancerIP:
244
245   ## Load Balancer sources
246   ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
247   ##
248   # loadBalancerSourceRanges:
249   # - 10.10.10.0/24
250
251 ## Start master and slave(s) pod(s) without limitations on shm memory.
252 ## By default docker and containerd (and possibly other container runtimes)
253 ## limit `/dev/shm` to `64M` (see e.g. the
254 ## [docker issue](https://github.com/docker-library/postgres/issues/416) and the
255 ## [containerd issue](https://github.com/containerd/containerd/issues/3654),
256 ## which could be not enough if PostgreSQL uses parallel workers heavily.
257 ## If this option is present and value is `true`,
258 ## to the target database pod will be mounted a new tmpfs volume to remove
259 ## this limitation.
260 shmVolume:
261   enabled: true
262
263 ## PostgreSQL data Persistent Volume Storage Class
264 ## If defined, storageClassName: <storageClass>
265 ## If set to "-", storageClassName: "", which disables dynamic provisioning
266 ## If undefined (the default) or set to null, no storageClassName spec is
267 ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
268 ##   GKE, AWS & OpenStack)
269 ##
270 persistence:
271   enabled: true
272   ## A manually managed Persistent Volume and Claim
273   ## If defined, PVC must be created manually before volume will be bound
274   ## The value is evaluated as a template, so, for example, the name can depend on .Release or .Chart
275   ##
276   # existingClaim:
277
278   ## The path the volume will be mounted at, useful when using different
279   ## PostgreSQL images.
280   ##
281   mountPath: /bitnami/postgresql
282
283   ## The subdirectory of the volume to mount to, useful in dev environments
284   ## and one PV for multiple services.
285   ##
286   subPath: ""
287
288   # storageClass: "-"
289   accessModes:
290     - ReadWriteOnce
291   size: 8Gi
292   annotations: {}
293
294 ## updateStrategy for PostgreSQL StatefulSet and its slaves StatefulSets
295 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
296 updateStrategy:
297   type: RollingUpdate
298
299 ##
300 ## PostgreSQL Master parameters
301 ##
302 master:
303   ## Node, affinity, tolerations, and priorityclass settings for pod assignment
304   ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
305   ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
306   ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#taints-and-tolerations-beta-feature
307   ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption
308   nodeSelector: {}
309   affinity: {}
310   tolerations: []
311   labels: {}
312   annotations: {}
313   podLabels: {}
314   podAnnotations: {}
315   priorityClassName: ""
316   extraInitContainers: |
317   # - name: do-something
318   #   image: busybox
319   #   command: ['do', 'something']
320   ## Additional PostgreSQL Master Volume mounts
321   ##
322   extraVolumeMounts: []
323   ## Additional PostgreSQL Master Volumes
324   ##
325   extraVolumes: []
326
327 ##
328 ## PostgreSQL Slave parameters
329 ##
330 slave:
331   ## Node, affinity, tolerations, and priorityclass settings for pod assignment
332   ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
333   ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
334   ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#taints-and-tolerations-beta-feature
335   ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption
336   nodeSelector: {}
337   affinity: {}
338   tolerations: []
339   labels: {}
340   annotations: {}
341   podLabels: {}
342   podAnnotations: {}
343   priorityClassName: ""
344   extraInitContainers: |
345   # - name: do-something
346   #   image: busybox
347   #   command: ['do', 'something']
348   ## Additional PostgreSQL Slave Volume mounts
349   ##
350   extraVolumeMounts: []
351   ## Additional PostgreSQL Slave Volumes
352   ##
353   extraVolumes: []
354
355 ## Configure resource requests and limits
356 ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
357 ##
358 resources:
359   requests:
360     memory: 256Mi
361     cpu: 250m
362
363 networkPolicy:
364   ## Enable creation of NetworkPolicy resources. Only Ingress traffic is filtered for now.
365   ##
366   enabled: false
367
368   ## The Policy model to apply. When set to false, only pods with the correct
369   ## client label will have network access to the port PostgreSQL is listening
370   ## on. When true, PostgreSQL will accept connections from any source
371   ## (with the correct destination port).
372   ##
373   allowExternal: true
374
375   ## if explicitNamespacesSelector is missing or set to {}, only client Pods that are in the networkPolicy's namespace
376   ## and that match other criteria, the ones that have the good label, can reach the DB.
377   ## But sometimes, we want the DB to be accessible to clients from other namespaces, in this case, we can use this
378   ## LabelSelector to select these namespaces, note that the networkPolicy's namespace should also be explicitly added.
379   ##
380   # explicitNamespacesSelector:
381     # matchLabels:
382       # role: frontend
383     # matchExpressions:
384       # - {key: role, operator: In, values: [frontend]}
385
386 ## Configure extra options for liveness and readiness probes
387 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
388 livenessProbe:
389   enabled: true
390   initialDelaySeconds: 30
391   periodSeconds: 10
392   timeoutSeconds: 5
393   failureThreshold: 6
394   successThreshold: 1
395
396 readinessProbe:
397   enabled: true
398   initialDelaySeconds: 5
399   periodSeconds: 10
400   timeoutSeconds: 5
401   failureThreshold: 6
402   successThreshold: 1
403
404 ## Configure metrics exporter
405 ##
406 metrics:
407   enabled: false
408   # resources: {}
409   service:
410     type: ClusterIP
411     annotations:
412       prometheus.io/scrape: "true"
413       prometheus.io/port: "9187"
414     loadBalancerIP:
415   serviceMonitor:
416     enabled: false
417     additionalLabels: {}
418     # namespace: monitoring
419     # interval: 30s
420     # scrapeTimeout: 10s
421   ## Custom PrometheusRule to be defined
422   ## The value is evaluated as a template, so, for example, the value can depend on .Release or .Chart
423   ## ref: https://github.com/coreos/prometheus-operator#customresourcedefinitions
424   prometheusRule:
425     enabled: false
426     additionalLabels: {}
427     namespace: ""
428     rules: []
429       ## These are just examples rules, please adapt them to your needs.
430       ## Make sure to constraint the rules to the current postgresql service.
431       # - alert: HugeReplicationLag
432       #   expr: pg_replication_lag{service="{{ template "postgresql.fullname" . }}-metrics"} / 3600 > 1
433       #   for: 1m
434       #   labels:
435       #     severity: critical
436       #   annotations:
437       #     description: replication for {{ template "postgresql.fullname" . }} PostgreSQL is lagging by {{ "{{ $value }}" }} hour(s).
438       #     summary: PostgreSQL replication is lagging by {{ "{{ $value }}" }} hour(s).
439   image:
440     registry: docker.io
441     repository: bitnami/postgres-exporter
442     tag: 0.7.0-debian-9-r12
443     pullPolicy: IfNotPresent
444     ## Optionally specify an array of imagePullSecrets.
445     ## Secrets must be manually created in the namespace.
446     ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
447     ##
448     # pullSecrets:
449     #   - myRegistryKeySecretName
450   ## Define additional custom metrics
451   ## ref: https://github.com/wrouesnel/postgres_exporter#adding-new-metrics-via-a-config-file
452   # customMetrics:
453   #   pg_database:
454   #     query: "SELECT d.datname AS name, CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT') THEN pg_catalog.pg_database_size(d.datname) ELSE 0 END AS size FROM pg_catalog.pg_database d where datname not in ('template0', 'template1', 'postgres')"
455   #     metrics:
456   #       - name:
457   #           usage: "LABEL"
458   #           description: "Name of the database"
459   #       - size_bytes:
460   #           usage: "GAUGE"
461   #           description: "Size of the database in bytes"
462   ## Pod Security Context
463   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
464   ##
465   securityContext:
466     enabled: false
467     runAsUser: 1001
468   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
469   ## Configure extra options for liveness and readiness probes
470   livenessProbe:
471     enabled: true
472     initialDelaySeconds: 5
473     periodSeconds: 10
474     timeoutSeconds: 5
475     failureThreshold: 6
476     successThreshold: 1
477
478   readinessProbe:
479     enabled: true
480     initialDelaySeconds: 5
481     periodSeconds: 10
482     timeoutSeconds: 5
483     failureThreshold: 6
484     successThreshold: 1