J release changes
[ric-plt/ric-dep.git] / helm / infrastructure / subcharts / kong / charts / postgresql / values.yaml
1 ## @section Global parameters
2 ## Please, note that this will override the parameters, including dependencies, configured to use the global value
3 ##
4 global:
5   ## @param global.imageRegistry Global Docker image registry
6   ##
7   imageRegistry: ""
8   ## @param global.imagePullSecrets Global Docker registry secret names as an array
9   ## e.g.
10   ## imagePullSecrets:
11   ##   - myRegistryKeySecretName
12   ##
13   imagePullSecrets: []
14   ## @param global.storageClass Global StorageClass for Persistent Volume(s)
15   ##
16   storageClass: ""
17   postgresql:
18     ## @param global.postgresql.auth.postgresPassword Password for the "postgres" admin user (overrides `auth.postgresPassword`)
19     ## @param global.postgresql.auth.username Name for a custom user to create (overrides `auth.username`)
20     ## @param global.postgresql.auth.password Password for the custom user to create (overrides `auth.password`)
21     ## @param global.postgresql.auth.database Name for a custom database to create (overrides `auth.database`)
22     ## @param global.postgresql.auth.existingSecret Name of existing secret to use for PostgreSQL credentials (overrides `auth.existingSecret`).
23     ## @param global.postgresql.auth.secretKeys.adminPasswordKey Name of key in existing secret to use for PostgreSQL credentials (overrides `auth.secretKeys.adminPasswordKey`). Only used when `global.postgresql.auth.existingSecret` is set.
24     ## @param global.postgresql.auth.secretKeys.userPasswordKey Name of key in existing secret to use for PostgreSQL credentials (overrides `auth.secretKeys.userPasswordKey`). Only used when `global.postgresql.auth.existingSecret` is set.
25     ## @param global.postgresql.auth.secretKeys.replicationPasswordKey Name of key in existing secret to use for PostgreSQL credentials (overrides `auth.secretKeys.replicationPasswordKey`). Only used when `global.postgresql.auth.existingSecret` is set.
26     ##
27     auth:
28       postgresPassword: ""
29       username: ""
30       password: ""
31       database: ""
32       existingSecret: ""
33       secretKeys:
34         adminPasswordKey: ""
35         userPasswordKey: ""
36         replicationPasswordKey: ""
37     ## @param global.postgresql.service.ports.postgresql PostgreSQL service port (overrides `service.ports.postgresql`)
38     ##
39     service:
40       ports:
41         postgresql: ""
42
43 ## @section Common parameters
44 ##
45
46 ## @param kubeVersion Override Kubernetes version
47 ##
48 kubeVersion: ""
49 ## @param nameOverride String to partially override common.names.fullname template (will maintain the release name)
50 ##
51 nameOverride: ""
52 ## @param fullnameOverride String to fully override common.names.fullname template
53 ##
54 fullnameOverride: ""
55 ## @param clusterDomain Kubernetes Cluster Domain
56 ##
57 clusterDomain: cluster.local
58 ## @param extraDeploy Array of extra objects to deploy with the release (evaluated as a template)
59 ##
60 extraDeploy: []
61 ## @param commonLabels Add labels to all the deployed resources
62 ##
63 commonLabels: {}
64 ## @param commonAnnotations Add annotations to all the deployed resources
65 ##
66 commonAnnotations: {}
67 ## Enable diagnostic mode in the statefulset
68 ##
69 diagnosticMode:
70   ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
71   ##
72   enabled: false
73   ## @param diagnosticMode.command Command to override all containers in the statefulset
74   ##
75   command:
76     - sleep
77   ## @param diagnosticMode.args Args to override all containers in the statefulset
78   ##
79   args:
80     - infinity
81
82 ## @section PostgreSQL common parameters
83 ##
84
85 ## Bitnami PostgreSQL image version
86 ## ref: https://hub.docker.com/r/bitnami/postgresql/tags/
87 ## @param image.registry PostgreSQL image registry
88 ## @param image.repository PostgreSQL image repository
89 ## @param image.tag PostgreSQL image tag (immutable tags are recommended)
90 ## @param image.digest PostgreSQL image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
91 ## @param image.pullPolicy PostgreSQL image pull policy
92 ## @param image.pullSecrets Specify image pull secrets
93 ## @param image.debug Specify if debug values should be set
94 ##
95 image:
96   registry: docker.io
97   repository: bitnami/postgresql
98   tag: 14.5.0-debian-11-r35
99   digest: ""
100   ## Specify a imagePullPolicy
101   ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
102   ## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images
103   ##
104   pullPolicy: IfNotPresent
105   ## Optionally specify an array of imagePullSecrets.
106   ## Secrets must be manually created in the namespace.
107   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
108   ## Example:
109   ## pullSecrets:
110   ##   - myRegistryKeySecretName
111   ##
112   pullSecrets: []
113   ## Set to true if you would like to see extra information on logs
114   ##
115   debug: false
116 ## Authentication parameters
117 ## ref: https://github.com/bitnami/containers/tree/main/bitnami/postgresql#setting-the-root-password-on-first-run
118 ## ref: https://github.com/bitnami/containers/tree/main/bitnami/postgresql#creating-a-database-on-first-run
119 ## ref: https://github.com/bitnami/containers/tree/main/bitnami/postgresql#creating-a-database-user-on-first-run
120 ##
121 auth:
122   ## @param auth.enablePostgresUser Assign a password to the "postgres" admin user. Otherwise, remote access will be blocked for this user
123   ##
124   enablePostgresUser: true
125   ## @param auth.postgresPassword Password for the "postgres" admin user. Ignored if `auth.existingSecret` with key `postgres-password` is provided
126   ##
127   postgresPassword: ""
128   ## @param auth.username Name for a custom user to create
129   ##
130   username: ""
131   ## @param auth.password Password for the custom user to create. Ignored if `auth.existingSecret` with key `password` is provided
132   ##
133   password: ""
134   ## @param auth.database Name for a custom database to create
135   ##
136   database: ""
137   ## @param auth.replicationUsername Name of the replication user
138   ##
139   replicationUsername: repl_user
140   ## @param auth.replicationPassword Password for the replication user. Ignored if `auth.existingSecret` with key `replication-password` is provided
141   ##
142   replicationPassword: ""
143   ## @param auth.existingSecret Name of existing secret to use for PostgreSQL credentials. `auth.postgresPassword`, `auth.password`, and `auth.replicationPassword` will be ignored and picked up from this secret. The secret might also contains the key `ldap-password` if LDAP is enabled. `ldap.bind_password` will be ignored and picked from this secret in this case.
144   ##
145   existingSecret: ""
146   ## @param auth.secretKeys.adminPasswordKey Name of key in existing secret to use for PostgreSQL credentials. Only used when `auth.existingSecret` is set.
147   ## @param auth.secretKeys.userPasswordKey Name of key in existing secret to use for PostgreSQL credentials. Only used when `auth.existingSecret` is set.
148   ## @param auth.secretKeys.replicationPasswordKey Name of key in existing secret to use for PostgreSQL credentials. Only used when `auth.existingSecret` is set.
149   ##
150   secretKeys:
151     adminPasswordKey: postgres-password
152     userPasswordKey: password
153     replicationPasswordKey: replication-password
154   ## @param auth.usePasswordFiles Mount credentials as a files instead of using an environment variable
155   ##
156   usePasswordFiles: false
157 ## @param architecture PostgreSQL architecture (`standalone` or `replication`)
158 ##
159 architecture: standalone
160 ## Replication configuration
161 ## Ignored if `architecture` is `standalone`
162 ##
163 replication:
164   ## @param replication.synchronousCommit Set synchronous commit mode. Allowed values: `on`, `remote_apply`, `remote_write`, `local` and `off`
165   ## @param replication.numSynchronousReplicas Number of replicas that will have synchronous replication. Note: Cannot be greater than `readReplicas.replicaCount`.
166   ## ref: https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-SYNCHRONOUS-COMMIT
167   ##
168   synchronousCommit: "off"
169   numSynchronousReplicas: 0
170   ## @param replication.applicationName Cluster application name. Useful for advanced replication settings
171   ##
172   applicationName: my_application
173 ## @param containerPorts.postgresql PostgreSQL container port
174 ##
175 containerPorts:
176   postgresql: 5432
177 ## Audit settings
178 ## https://github.com/bitnami/containers/tree/main/bitnami/postgresql#auditing
179 ## @param audit.logHostname Log client hostnames
180 ## @param audit.logConnections Add client log-in operations to the log file
181 ## @param audit.logDisconnections Add client log-outs operations to the log file
182 ## @param audit.pgAuditLog Add operations to log using the pgAudit extension
183 ## @param audit.pgAuditLogCatalog Log catalog using pgAudit
184 ## @param audit.clientMinMessages Message log level to share with the user
185 ## @param audit.logLinePrefix Template for log line prefix (default if not set)
186 ## @param audit.logTimezone Timezone for the log timestamps
187 ##
188 audit:
189   logHostname: false
190   logConnections: false
191   logDisconnections: false
192   pgAuditLog: ""
193   pgAuditLogCatalog: "off"
194   clientMinMessages: error
195   logLinePrefix: ""
196   logTimezone: ""
197 ## LDAP configuration
198 ## @param ldap.enabled Enable LDAP support
199 ## DEPRECATED ldap.url It will removed in a future, please use 'ldap.uri' instead
200 ## @param ldap.server IP address or name of the LDAP server.
201 ## @param ldap.port Port number on the LDAP server to connect to
202 ## @param ldap.prefix String to prepend to the user name when forming the DN to bind
203 ## @param ldap.suffix String to append to the user name when forming the DN to bind
204 ## DEPRECATED ldap.baseDN It will removed in a future, please use 'ldap.basedn' instead
205 ## DEPRECATED ldap.bindDN It will removed in a future, please use 'ldap.binddn' instead
206 ## DEPRECATED ldap.bind_password It will removed in a future, please use 'ldap.bindpw' instead
207 ## @param ldap.basedn Root DN to begin the search for the user in
208 ## @param ldap.binddn DN of user to bind to LDAP
209 ## @param ldap.bindpw Password for the user to bind to LDAP
210 ## DEPRECATED ldap.search_attr It will removed in a future, please use 'ldap.searchAttribute' instead
211 ## DEPRECATED ldap.search_filter It will removed in a future, please use 'ldap.searchFilter' instead
212 ## @param ldap.searchAttribute Attribute to match against the user name in the search
213 ## @param ldap.searchFilter The search filter to use when doing search+bind authentication
214 ## @param ldap.scheme Set to `ldaps` to use LDAPS
215 ## DEPRECATED ldap.tls as string is deprecated,please use 'ldap.tls.enabled' instead
216 ## @param ldap.tls.enabled Se to true to enable TLS encryption
217 ##
218 ldap:
219   enabled: false
220   server: ""
221   port: ""
222   prefix: ""
223   suffix: ""
224   basedn: ""
225   binddn: ""
226   bindpw: ""
227   searchAttribute: ""
228   searchFilter: ""
229   scheme: ""
230   tls:
231     enabled: false
232   ## @param ldap.uri LDAP URL beginning in the form `ldap[s]://host[:port]/basedn`. If provided, all the other LDAP parameters will be ignored.
233   ## Ref: https://www.postgresql.org/docs/current/auth-ldap.html
234   uri: ""
235 ## @param postgresqlDataDir PostgreSQL data dir folder
236 ##
237 postgresqlDataDir: /bitnami/postgresql/data
238 ## @param postgresqlSharedPreloadLibraries Shared preload libraries (comma-separated list)
239 ##
240 postgresqlSharedPreloadLibraries: "pgaudit"
241 ## Start PostgreSQL pod(s) without limitations on shm memory.
242 ## By default docker and containerd (and possibly other container runtimes) limit `/dev/shm` to `64M`
243 ## ref: https://github.com/docker-library/postgres/issues/416
244 ## ref: https://github.com/containerd/containerd/issues/3654
245 ##
246 shmVolume:
247   ## @param shmVolume.enabled Enable emptyDir volume for /dev/shm for PostgreSQL pod(s)
248   ##
249   enabled: true
250   ## @param shmVolume.sizeLimit Set this to enable a size limit on the shm tmpfs
251   ## Note: the size of the tmpfs counts against container's memory limit
252   ## e.g:
253   ## sizeLimit: 1Gi
254   ##
255   sizeLimit: ""
256 ## TLS configuration
257 ##
258 tls:
259   ## @param tls.enabled Enable TLS traffic support
260   ##
261   enabled: false
262   ## @param tls.autoGenerated Generate automatically self-signed TLS certificates
263   ##
264   autoGenerated: false
265   ## @param tls.preferServerCiphers Whether to use the server's TLS cipher preferences rather than the client's
266   ##
267   preferServerCiphers: true
268   ## @param tls.certificatesSecret Name of an existing secret that contains the certificates
269   ##
270   certificatesSecret: ""
271   ## @param tls.certFilename Certificate filename
272   ##
273   certFilename: ""
274   ## @param tls.certKeyFilename Certificate key filename
275   ##
276   certKeyFilename: ""
277   ## @param tls.certCAFilename CA Certificate filename
278   ## If provided, PostgreSQL will authenticate TLS/SSL clients by requesting them a certificate
279   ## ref: https://www.postgresql.org/docs/9.6/auth-methods.html
280   ##
281   certCAFilename: ""
282   ## @param tls.crlFilename File containing a Certificate Revocation List
283   ##
284   crlFilename: ""
285
286 ## @section PostgreSQL Primary parameters
287 ##
288 primary:
289   ## @param primary.name Name of the primary database (eg primary, master, leader, ...)
290   ##
291   name: primary
292   ## @param primary.configuration PostgreSQL Primary main configuration to be injected as ConfigMap
293   ## ref: https://www.postgresql.org/docs/current/static/runtime-config.html
294   ##
295   configuration: ""
296   ## @param primary.pgHbaConfiguration PostgreSQL Primary client authentication configuration
297   ## ref: https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html
298   ## e.g:#
299   ## pgHbaConfiguration: |-
300   ##   local all all trust
301   ##   host all all localhost trust
302   ##   host mydatabase mysuser 192.168.0.0/24 md5
303   ##
304   pgHbaConfiguration: ""
305   ## @param primary.existingConfigmap Name of an existing ConfigMap with PostgreSQL Primary configuration
306   ## NOTE: `primary.configuration` and `primary.pgHbaConfiguration` will be ignored
307   ##
308   existingConfigmap: ""
309   ## @param primary.extendedConfiguration Extended PostgreSQL Primary configuration (appended to main or default configuration)
310   ## ref: https://github.com/bitnami/containers/tree/main/bitnami/postgresql#allow-settings-to-be-loaded-from-files-other-than-the-default-postgresqlconf
311   ##
312   extendedConfiguration: ""
313   ## @param primary.existingExtendedConfigmap Name of an existing ConfigMap with PostgreSQL Primary extended configuration
314   ## NOTE: `primary.extendedConfiguration` will be ignored
315   ##
316   existingExtendedConfigmap: ""
317   ## Initdb configuration
318   ## ref: https://github.com/bitnami/containers/tree/main/bitnami/postgresql#specifying-initdb-arguments
319   ##
320   initdb:
321     ## @param primary.initdb.args PostgreSQL initdb extra arguments
322     ##
323     args: ""
324     ## @param primary.initdb.postgresqlWalDir Specify a custom location for the PostgreSQL transaction log
325     ##
326     postgresqlWalDir: ""
327     ## @param primary.initdb.scripts Dictionary of initdb scripts
328     ## Specify dictionary of scripts to be run at first boot
329     ## e.g:
330     ## scripts:
331     ##   my_init_script.sh: |
332     ##      #!/bin/sh
333     ##      echo "Do something."
334     ##
335     scripts: {}
336     ## @param primary.initdb.scriptsConfigMap ConfigMap with scripts to be run at first boot
337     ## NOTE: This will override `primary.initdb.scripts`
338     ##
339     scriptsConfigMap: ""
340     ## @param primary.initdb.scriptsSecret Secret with scripts to be run at first boot (in case it contains sensitive information)
341     ## NOTE: This can work along `primary.initdb.scripts` or `primary.initdb.scriptsConfigMap`
342     ##
343     scriptsSecret: ""
344     ## @param primary.initdb.user Specify the PostgreSQL username to execute the initdb scripts
345     ##
346     user: ""
347     ## @param primary.initdb.password Specify the PostgreSQL password to execute the initdb scripts
348     ##
349     password: ""
350   ## Configure current cluster's primary server to be the standby server in other cluster.
351   ## This will allow cross cluster replication and provide cross cluster high availability.
352   ## You will need to configure pgHbaConfiguration if you want to enable this feature with local cluster replication enabled.
353   ## @param primary.standby.enabled Whether to enable current cluster's primary as standby server of another cluster or not
354   ## @param primary.standby.primaryHost The Host of replication primary in the other cluster
355   ## @param primary.standby.primaryPort The Port of replication primary in the other cluster
356   ##
357   standby:
358     enabled: false
359     primaryHost: ""
360     primaryPort: ""
361   ## @param primary.extraEnvVars Array with extra environment variables to add to PostgreSQL Primary nodes
362   ## e.g:
363   ## extraEnvVars:
364   ##   - name: FOO
365   ##     value: "bar"
366   ##
367   extraEnvVars: []
368   ## @param primary.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for PostgreSQL Primary nodes
369   ##
370   extraEnvVarsCM: ""
371   ## @param primary.extraEnvVarsSecret Name of existing Secret containing extra env vars for PostgreSQL Primary nodes
372   ##
373   extraEnvVarsSecret: ""
374   ## @param primary.command Override default container command (useful when using custom images)
375   ##
376   command: []
377   ## @param primary.args Override default container args (useful when using custom images)
378   ##
379   args: []
380   ## Configure extra options for PostgreSQL Primary containers' liveness, readiness and startup probes
381   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
382   ## @param primary.livenessProbe.enabled Enable livenessProbe on PostgreSQL Primary containers
383   ## @param primary.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
384   ## @param primary.livenessProbe.periodSeconds Period seconds for livenessProbe
385   ## @param primary.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
386   ## @param primary.livenessProbe.failureThreshold Failure threshold for livenessProbe
387   ## @param primary.livenessProbe.successThreshold Success threshold for livenessProbe
388   ##
389   livenessProbe:
390     enabled: true
391     initialDelaySeconds: 30
392     periodSeconds: 10
393     timeoutSeconds: 5
394     failureThreshold: 6
395     successThreshold: 1
396   ## @param primary.readinessProbe.enabled Enable readinessProbe on PostgreSQL Primary containers
397   ## @param primary.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
398   ## @param primary.readinessProbe.periodSeconds Period seconds for readinessProbe
399   ## @param primary.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
400   ## @param primary.readinessProbe.failureThreshold Failure threshold for readinessProbe
401   ## @param primary.readinessProbe.successThreshold Success threshold for readinessProbe
402   ##
403   readinessProbe:
404     enabled: true
405     initialDelaySeconds: 5
406     periodSeconds: 10
407     timeoutSeconds: 5
408     failureThreshold: 6
409     successThreshold: 1
410   ## @param primary.startupProbe.enabled Enable startupProbe on PostgreSQL Primary containers
411   ## @param primary.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
412   ## @param primary.startupProbe.periodSeconds Period seconds for startupProbe
413   ## @param primary.startupProbe.timeoutSeconds Timeout seconds for startupProbe
414   ## @param primary.startupProbe.failureThreshold Failure threshold for startupProbe
415   ## @param primary.startupProbe.successThreshold Success threshold for startupProbe
416   ##
417   startupProbe:
418     enabled: false
419     initialDelaySeconds: 30
420     periodSeconds: 10
421     timeoutSeconds: 1
422     failureThreshold: 15
423     successThreshold: 1
424   ## @param primary.customLivenessProbe Custom livenessProbe that overrides the default one
425   ##
426   customLivenessProbe: {}
427   ## @param primary.customReadinessProbe Custom readinessProbe that overrides the default one
428   ##
429   customReadinessProbe: {}
430   ## @param primary.customStartupProbe Custom startupProbe that overrides the default one
431   ##
432   customStartupProbe: {}
433   ## @param primary.lifecycleHooks for the PostgreSQL Primary container to automate configuration before or after startup
434   ##
435   lifecycleHooks: {}
436   ## PostgreSQL Primary resource requests and limits
437   ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
438   ## @param primary.resources.limits The resources limits for the PostgreSQL Primary containers
439   ## @param primary.resources.requests.memory The requested memory for the PostgreSQL Primary containers
440   ## @param primary.resources.requests.cpu The requested cpu for the PostgreSQL Primary containers
441   ##
442   resources:
443     limits: {}
444     requests:
445       memory: 256Mi
446       cpu: 250m
447   ## Pod Security Context
448   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
449   ## @param primary.podSecurityContext.enabled Enable security context
450   ## @param primary.podSecurityContext.fsGroup Group ID for the pod
451   ##
452   podSecurityContext:
453     enabled: true
454     fsGroup: 1001
455   ## Container Security Context
456   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
457   ## @param primary.containerSecurityContext.enabled Enable container security context
458   ## @param primary.containerSecurityContext.runAsUser User ID for the container
459   ##
460   containerSecurityContext:
461     enabled: true
462     runAsUser: 1001
463   ## @param primary.hostAliases PostgreSQL primary pods host aliases
464   ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
465   ##
466   hostAliases: []
467   ## @param primary.hostNetwork Specify if host network should be enabled for PostgreSQL pod (postgresql primary)
468   ##
469   hostNetwork: false
470   ## @param primary.hostIPC Specify if host IPC should be enabled for PostgreSQL pod (postgresql primary)
471   ##
472   hostIPC: false
473   ## @param primary.labels Map of labels to add to the statefulset (postgresql primary)
474   ##
475   labels: {}
476   ## @param primary.annotations Annotations for PostgreSQL primary pods
477   ##
478   annotations: {}
479   ## @param primary.podLabels Map of labels to add to the pods (postgresql primary)
480   ##
481   podLabels: {}
482   ## @param primary.podAnnotations Map of annotations to add to the pods (postgresql primary)
483   ##
484   podAnnotations: {}
485   ## @param primary.podAffinityPreset PostgreSQL primary pod affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
486   ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
487   ##
488   podAffinityPreset: ""
489   ## @param primary.podAntiAffinityPreset PostgreSQL primary pod anti-affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
490   ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
491   ##
492   podAntiAffinityPreset: soft
493   ## PostgreSQL Primary node affinity preset
494   ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
495   ##
496   nodeAffinityPreset:
497     ## @param primary.nodeAffinityPreset.type PostgreSQL primary node affinity preset type. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
498     ##
499     type: ""
500     ## @param primary.nodeAffinityPreset.key PostgreSQL primary node label key to match Ignored if `primary.affinity` is set.
501     ## E.g.
502     ## key: "kubernetes.io/e2e-az-name"
503     ##
504     key: ""
505     ## @param primary.nodeAffinityPreset.values PostgreSQL primary node label values to match. Ignored if `primary.affinity` is set.
506     ## E.g.
507     ## values:
508     ##   - e2e-az1
509     ##   - e2e-az2
510     ##
511     values: []
512   ## @param primary.affinity Affinity for PostgreSQL primary pods assignment
513   ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
514   ## Note: primary.podAffinityPreset, primary.podAntiAffinityPreset, and primary.nodeAffinityPreset will be ignored when it's set
515   ##
516   affinity: {}
517   ## @param primary.nodeSelector Node labels for PostgreSQL primary pods assignment
518   ## ref: https://kubernetes.io/docs/user-guide/node-selection/
519   ##
520   nodeSelector: {}
521   ## @param primary.tolerations Tolerations for PostgreSQL primary pods assignment
522   ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
523   ##
524   tolerations: []
525   ## @param primary.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
526   ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
527   ##
528   topologySpreadConstraints: []
529   ## @param primary.priorityClassName Priority Class to use for each pod (postgresql primary)
530   ##
531   priorityClassName: ""
532   ## @param primary.schedulerName Use an alternate scheduler, e.g. "stork".
533   ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
534   ##
535   schedulerName: ""
536   ## @param primary.terminationGracePeriodSeconds Seconds PostgreSQL primary pod needs to terminate gracefully
537   ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
538   ##
539   terminationGracePeriodSeconds: ""
540   ## @param primary.updateStrategy.type PostgreSQL Primary statefulset strategy type
541   ## @param primary.updateStrategy.rollingUpdate PostgreSQL Primary statefulset rolling update configuration parameters
542   ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
543   ##
544   updateStrategy:
545     type: RollingUpdate
546     rollingUpdate: {}
547   ## @param primary.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the PostgreSQL Primary container(s)
548   ##
549   extraVolumeMounts: []
550   ## @param primary.extraVolumes Optionally specify extra list of additional volumes for the PostgreSQL Primary pod(s)
551   ##
552   extraVolumes: []
553   ## @param primary.sidecars Add additional sidecar containers to the PostgreSQL Primary pod(s)
554   ## For example:
555   ## sidecars:
556   ##   - name: your-image-name
557   ##     image: your-image
558   ##     imagePullPolicy: Always
559   ##     ports:
560   ##       - name: portname
561   ##         containerPort: 1234
562   ##
563   sidecars: []
564   ## @param primary.initContainers Add additional init containers to the PostgreSQL Primary pod(s)
565   ## Example
566   ##
567   ## initContainers:
568   ##   - name: do-something
569   ##     image: busybox
570   ##     command: ['do', 'something']
571   ##
572   initContainers: []
573   ## @param primary.extraPodSpec Optionally specify extra PodSpec for the PostgreSQL Primary pod(s)
574   ##
575   extraPodSpec: {}
576   ## PostgreSQL Primary service configuration
577   ##
578   service:
579     ## @param primary.service.type Kubernetes Service type
580     ##
581     type: ClusterIP
582     ## @param primary.service.ports.postgresql PostgreSQL service port
583     ##
584     ports:
585       postgresql: 5432
586     ## Node ports to expose
587     ## NOTE: choose port between <30000-32767>
588     ## @param primary.service.nodePorts.postgresql Node port for PostgreSQL
589     ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
590     ##
591     nodePorts:
592       postgresql: ""
593     ## @param primary.service.clusterIP Static clusterIP or None for headless services
594     ## e.g:
595     ## clusterIP: None
596     ##
597     clusterIP: ""
598     ## @param primary.service.annotations Annotations for PostgreSQL primary service
599     ##
600     annotations: {}
601     ## @param primary.service.loadBalancerIP Load balancer IP if service type is `LoadBalancer`
602     ## Set the LoadBalancer service type to internal only
603     ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
604     ##
605     loadBalancerIP: ""
606     ## @param primary.service.externalTrafficPolicy Enable client source IP preservation
607     ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
608     ##
609     externalTrafficPolicy: Cluster
610     ## @param primary.service.loadBalancerSourceRanges Addresses that are allowed when service is LoadBalancer
611     ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
612     ##
613     ## loadBalancerSourceRanges:
614     ## - 10.10.10.0/24
615     ##
616     loadBalancerSourceRanges: []
617     ## @param primary.service.extraPorts Extra ports to expose in the PostgreSQL primary service
618     ##
619     extraPorts: []
620     ## @param primary.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
621     ## If "ClientIP", consecutive client requests will be directed to the same Pod
622     ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
623     ##
624     sessionAffinity: None
625     ## @param primary.service.sessionAffinityConfig Additional settings for the sessionAffinity
626     ## sessionAffinityConfig:
627     ##   clientIP:
628     ##     timeoutSeconds: 300
629     ##
630     sessionAffinityConfig: {}
631   ## PostgreSQL Primary persistence configuration
632   ##
633   persistence:
634     ## @param primary.persistence.enabled Enable PostgreSQL Primary data persistence using PVC
635     ##
636     enabled: true
637     ## @param primary.persistence.existingClaim Name of an existing PVC to use
638     ##
639     existingClaim: ""
640     ## @param primary.persistence.mountPath The path the volume will be mounted at
641     ## Note: useful when using custom PostgreSQL images
642     ##
643     mountPath: /bitnami/postgresql
644     ## @param primary.persistence.subPath The subdirectory of the volume to mount to
645     ## Useful in dev environments and one PV for multiple services
646     ##
647     subPath: ""
648     ## @param primary.persistence.storageClass PVC Storage Class for PostgreSQL Primary data volume
649     ## If defined, storageClassName: <storageClass>
650     ## If set to "-", storageClassName: "", which disables dynamic provisioning
651     ## If undefined (the default) or set to null, no storageClassName spec is
652     ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
653     ##   GKE, AWS & OpenStack)
654     ##
655     storageClass: ""
656     ## @param primary.persistence.accessModes PVC Access Mode for PostgreSQL volume
657     ##
658     accessModes:
659       - ReadWriteOnce
660     ## @param primary.persistence.size PVC Storage Request for PostgreSQL volume
661     ##
662     size: 8Gi
663     ## @param primary.persistence.annotations Annotations for the PVC
664     ##
665     annotations: {}
666     ## @param primary.persistence.labels Labels for the PVC
667     ##
668     labels: {}
669     ## @param primary.persistence.selector Selector to match an existing Persistent Volume (this value is evaluated as a template)
670     ## selector:
671     ##   matchLabels:
672     ##     app: my-app
673     ##
674     selector: {}
675     ## @param primary.persistence.dataSource Custom PVC data source
676     ##
677     dataSource: {}
678
679 ## @section PostgreSQL read only replica parameters (only used when `architecture` is set to `replication`)
680 ##
681 readReplicas:
682   ## @param readReplicas.name Name of the read replicas database (eg secondary, slave, ...)
683   ##
684   name: read
685   ## @param readReplicas.replicaCount Number of PostgreSQL read only replicas
686   ##
687   replicaCount: 1
688   ## @param readReplicas.extendedConfiguration Extended PostgreSQL read only replicas configuration (appended to main or default configuration)
689   ## ref: https://github.com/bitnami/containers/tree/main/bitnami/postgresql#allow-settings-to-be-loaded-from-files-other-than-the-default-postgresqlconf
690   ##
691   extendedConfiguration: ""
692   ## @param readReplicas.extraEnvVars Array with extra environment variables to add to PostgreSQL read only nodes
693   ## e.g:
694   ## extraEnvVars:
695   ##   - name: FOO
696   ##     value: "bar"
697   ##
698   extraEnvVars: []
699   ## @param readReplicas.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for PostgreSQL read only nodes
700   ##
701   extraEnvVarsCM: ""
702   ## @param readReplicas.extraEnvVarsSecret Name of existing Secret containing extra env vars for PostgreSQL read only nodes
703   ##
704   extraEnvVarsSecret: ""
705   ## @param readReplicas.command Override default container command (useful when using custom images)
706   ##
707   command: []
708   ## @param readReplicas.args Override default container args (useful when using custom images)
709   ##
710   args: []
711   ## Configure extra options for PostgreSQL read only containers' liveness, readiness and startup probes
712   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
713   ## @param readReplicas.livenessProbe.enabled Enable livenessProbe on PostgreSQL read only containers
714   ## @param readReplicas.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
715   ## @param readReplicas.livenessProbe.periodSeconds Period seconds for livenessProbe
716   ## @param readReplicas.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
717   ## @param readReplicas.livenessProbe.failureThreshold Failure threshold for livenessProbe
718   ## @param readReplicas.livenessProbe.successThreshold Success threshold for livenessProbe
719   ##
720   livenessProbe:
721     enabled: true
722     initialDelaySeconds: 30
723     periodSeconds: 10
724     timeoutSeconds: 5
725     failureThreshold: 6
726     successThreshold: 1
727   ## @param readReplicas.readinessProbe.enabled Enable readinessProbe on PostgreSQL read only containers
728   ## @param readReplicas.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
729   ## @param readReplicas.readinessProbe.periodSeconds Period seconds for readinessProbe
730   ## @param readReplicas.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
731   ## @param readReplicas.readinessProbe.failureThreshold Failure threshold for readinessProbe
732   ## @param readReplicas.readinessProbe.successThreshold Success threshold for readinessProbe
733   ##
734   readinessProbe:
735     enabled: true
736     initialDelaySeconds: 5
737     periodSeconds: 10
738     timeoutSeconds: 5
739     failureThreshold: 6
740     successThreshold: 1
741   ## @param readReplicas.startupProbe.enabled Enable startupProbe on PostgreSQL read only containers
742   ## @param readReplicas.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
743   ## @param readReplicas.startupProbe.periodSeconds Period seconds for startupProbe
744   ## @param readReplicas.startupProbe.timeoutSeconds Timeout seconds for startupProbe
745   ## @param readReplicas.startupProbe.failureThreshold Failure threshold for startupProbe
746   ## @param readReplicas.startupProbe.successThreshold Success threshold for startupProbe
747   ##
748   startupProbe:
749     enabled: false
750     initialDelaySeconds: 30
751     periodSeconds: 10
752     timeoutSeconds: 1
753     failureThreshold: 15
754     successThreshold: 1
755   ## @param readReplicas.customLivenessProbe Custom livenessProbe that overrides the default one
756   ##
757   customLivenessProbe: {}
758   ## @param readReplicas.customReadinessProbe Custom readinessProbe that overrides the default one
759   ##
760   customReadinessProbe: {}
761   ## @param readReplicas.customStartupProbe Custom startupProbe that overrides the default one
762   ##
763   customStartupProbe: {}
764   ## @param readReplicas.lifecycleHooks for the PostgreSQL read only container to automate configuration before or after startup
765   ##
766   lifecycleHooks: {}
767   ## PostgreSQL read only resource requests and limits
768   ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
769   ## @param readReplicas.resources.limits The resources limits for the PostgreSQL read only containers
770   ## @param readReplicas.resources.requests.memory The requested memory for the PostgreSQL read only containers
771   ## @param readReplicas.resources.requests.cpu The requested cpu for the PostgreSQL read only containers
772   ##
773   resources:
774     limits: {}
775     requests:
776       memory: 256Mi
777       cpu: 250m
778   ## Pod Security Context
779   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
780   ## @param readReplicas.podSecurityContext.enabled Enable security context
781   ## @param readReplicas.podSecurityContext.fsGroup Group ID for the pod
782   ##
783   podSecurityContext:
784     enabled: true
785     fsGroup: 1001
786   ## Container Security Context
787   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
788   ## @param readReplicas.containerSecurityContext.enabled Enable container security context
789   ## @param readReplicas.containerSecurityContext.runAsUser User ID for the container
790   ##
791   containerSecurityContext:
792     enabled: true
793     runAsUser: 1001
794   ## @param readReplicas.hostAliases PostgreSQL read only pods host aliases
795   ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
796   ##
797   hostAliases: []
798   ## @param readReplicas.hostNetwork Specify if host network should be enabled for PostgreSQL pod (PostgreSQL read only)
799   ##
800   hostNetwork: false
801   ## @param readReplicas.hostIPC Specify if host IPC should be enabled for PostgreSQL pod (postgresql primary)
802   ##
803   hostIPC: false
804   ## @param readReplicas.labels Map of labels to add to the statefulset (PostgreSQL read only)
805   ##
806   labels: {}
807   ## @param readReplicas.annotations Annotations for PostgreSQL read only pods
808   ##
809   annotations: {}
810   ## @param readReplicas.podLabels Map of labels to add to the pods (PostgreSQL read only)
811   ##
812   podLabels: {}
813   ## @param readReplicas.podAnnotations Map of annotations to add to the pods (PostgreSQL read only)
814   ##
815   podAnnotations: {}
816   ## @param readReplicas.podAffinityPreset PostgreSQL read only pod affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
817   ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
818   ##
819   podAffinityPreset: ""
820   ## @param readReplicas.podAntiAffinityPreset PostgreSQL read only pod anti-affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
821   ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
822   ##
823   podAntiAffinityPreset: soft
824   ## PostgreSQL read only node affinity preset
825   ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
826   ##
827   nodeAffinityPreset:
828     ## @param readReplicas.nodeAffinityPreset.type PostgreSQL read only node affinity preset type. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
829     ##
830     type: ""
831     ## @param readReplicas.nodeAffinityPreset.key PostgreSQL read only node label key to match Ignored if `primary.affinity` is set.
832     ## E.g.
833     ## key: "kubernetes.io/e2e-az-name"
834     ##
835     key: ""
836     ## @param readReplicas.nodeAffinityPreset.values PostgreSQL read only node label values to match. Ignored if `primary.affinity` is set.
837     ## E.g.
838     ## values:
839     ##   - e2e-az1
840     ##   - e2e-az2
841     ##
842     values: []
843   ## @param readReplicas.affinity Affinity for PostgreSQL read only pods assignment
844   ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
845   ## Note: primary.podAffinityPreset, primary.podAntiAffinityPreset, and primary.nodeAffinityPreset will be ignored when it's set
846   ##
847   affinity: {}
848   ## @param readReplicas.nodeSelector Node labels for PostgreSQL read only pods assignment
849   ## ref: https://kubernetes.io/docs/user-guide/node-selection/
850   ##
851   nodeSelector: {}
852   ## @param readReplicas.tolerations Tolerations for PostgreSQL read only pods assignment
853   ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
854   ##
855   tolerations: []
856   ## @param readReplicas.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
857   ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
858   ##
859   topologySpreadConstraints: []
860   ## @param readReplicas.priorityClassName Priority Class to use for each pod (PostgreSQL read only)
861   ##
862   priorityClassName: ""
863   ## @param readReplicas.schedulerName Use an alternate scheduler, e.g. "stork".
864   ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
865   ##
866   schedulerName: ""
867   ## @param readReplicas.terminationGracePeriodSeconds Seconds PostgreSQL read only pod needs to terminate gracefully
868   ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
869   ##
870   terminationGracePeriodSeconds: ""
871   ## @param readReplicas.updateStrategy.type PostgreSQL read only statefulset strategy type
872   ## @param readReplicas.updateStrategy.rollingUpdate PostgreSQL read only statefulset rolling update configuration parameters
873   ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
874   ##
875   updateStrategy:
876     type: RollingUpdate
877     rollingUpdate: {}
878   ## @param readReplicas.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the PostgreSQL read only container(s)
879   ##
880   extraVolumeMounts: []
881   ## @param readReplicas.extraVolumes Optionally specify extra list of additional volumes for the PostgreSQL read only pod(s)
882   ##
883   extraVolumes: []
884   ## @param readReplicas.sidecars Add additional sidecar containers to the PostgreSQL read only pod(s)
885   ## For example:
886   ## sidecars:
887   ##   - name: your-image-name
888   ##     image: your-image
889   ##     imagePullPolicy: Always
890   ##     ports:
891   ##       - name: portname
892   ##         containerPort: 1234
893   ##
894   sidecars: []
895   ## @param readReplicas.initContainers Add additional init containers to the PostgreSQL read only pod(s)
896   ## Example
897   ##
898   ## initContainers:
899   ##   - name: do-something
900   ##     image: busybox
901   ##     command: ['do', 'something']
902   ##
903   initContainers: []
904   ## @param readReplicas.extraPodSpec Optionally specify extra PodSpec for the PostgreSQL read only pod(s)
905   ##
906   extraPodSpec: {}
907   ## PostgreSQL read only service configuration
908   ##
909   service:
910     ## @param readReplicas.service.type Kubernetes Service type
911     ##
912     type: ClusterIP
913     ## @param readReplicas.service.ports.postgresql PostgreSQL service port
914     ##
915     ports:
916       postgresql: 5432
917     ## Node ports to expose
918     ## NOTE: choose port between <30000-32767>
919     ## @param readReplicas.service.nodePorts.postgresql Node port for PostgreSQL
920     ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
921     ##
922     nodePorts:
923       postgresql: ""
924     ## @param readReplicas.service.clusterIP Static clusterIP or None for headless services
925     ## e.g:
926     ## clusterIP: None
927     ##
928     clusterIP: ""
929     ## @param readReplicas.service.annotations Annotations for PostgreSQL read only service
930     ##
931     annotations: {}
932     ## @param readReplicas.service.loadBalancerIP Load balancer IP if service type is `LoadBalancer`
933     ## Set the LoadBalancer service type to internal only
934     ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
935     ##
936     loadBalancerIP: ""
937     ## @param readReplicas.service.externalTrafficPolicy Enable client source IP preservation
938     ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
939     ##
940     externalTrafficPolicy: Cluster
941     ## @param readReplicas.service.loadBalancerSourceRanges Addresses that are allowed when service is LoadBalancer
942     ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
943     ##
944     ## loadBalancerSourceRanges:
945     ## - 10.10.10.0/24
946     ##
947     loadBalancerSourceRanges: []
948     ## @param readReplicas.service.extraPorts Extra ports to expose in the PostgreSQL read only service
949     ##
950     extraPorts: []
951     ## @param readReplicas.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
952     ## If "ClientIP", consecutive client requests will be directed to the same Pod
953     ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
954     ##
955     sessionAffinity: None
956     ## @param readReplicas.service.sessionAffinityConfig Additional settings for the sessionAffinity
957     ## sessionAffinityConfig:
958     ##   clientIP:
959     ##     timeoutSeconds: 300
960     ##
961     sessionAffinityConfig: {}
962   ## PostgreSQL read only persistence configuration
963   ##
964   persistence:
965     ## @param readReplicas.persistence.enabled Enable PostgreSQL read only data persistence using PVC
966     ##
967     enabled: true
968     ## @param readReplicas.persistence.existingClaim Name of an existing PVC to use
969     ##
970     existingClaim: ""
971     ## @param readReplicas.persistence.mountPath The path the volume will be mounted at
972     ## Note: useful when using custom PostgreSQL images
973     ##
974     mountPath: /bitnami/postgresql
975     ## @param readReplicas.persistence.subPath The subdirectory of the volume to mount to
976     ## Useful in dev environments and one PV for multiple services
977     ##
978     subPath: ""
979     ## @param readReplicas.persistence.storageClass PVC Storage Class for PostgreSQL read only data volume
980     ## If defined, storageClassName: <storageClass>
981     ## If set to "-", storageClassName: "", which disables dynamic provisioning
982     ## If undefined (the default) or set to null, no storageClassName spec is
983     ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
984     ##   GKE, AWS & OpenStack)
985     ##
986     storageClass: ""
987     ## @param readReplicas.persistence.accessModes PVC Access Mode for PostgreSQL volume
988     ##
989     accessModes:
990       - ReadWriteOnce
991     ## @param readReplicas.persistence.size PVC Storage Request for PostgreSQL volume
992     ##
993     size: 8Gi
994     ## @param readReplicas.persistence.annotations Annotations for the PVC
995     ##
996     annotations: {}
997     ## @param readReplicas.persistence.labels Labels for the PVC
998     ##
999     labels: {}
1000     ## @param readReplicas.persistence.selector Selector to match an existing Persistent Volume (this value is evaluated as a template)
1001     ## selector:
1002     ##   matchLabels:
1003     ##     app: my-app
1004     ##
1005     selector: {}
1006     ## @param readReplicas.persistence.dataSource Custom PVC data source
1007     ##
1008     dataSource: {}
1009
1010 ## @section NetworkPolicy parameters
1011
1012 ## Add networkpolicies
1013 ##
1014 networkPolicy:
1015   ## @param networkPolicy.enabled Enable network policies
1016   ##
1017   enabled: false
1018   ## @param networkPolicy.metrics.enabled Enable network policies for metrics (prometheus)
1019   ## @param networkPolicy.metrics.namespaceSelector [object] Monitoring namespace selector labels. These labels will be used to identify the prometheus' namespace.
1020   ## @param networkPolicy.metrics.podSelector [object] Monitoring pod selector labels. These labels will be used to identify the Prometheus pods.
1021   ##
1022   metrics:
1023     enabled: false
1024     ## e.g:
1025     ## namespaceSelector:
1026     ##   label: monitoring
1027     ##
1028     namespaceSelector: {}
1029     ## e.g:
1030     ## podSelector:
1031     ##   label: monitoring
1032     ##
1033     podSelector: {}
1034   ## Ingress Rules
1035   ##
1036   ingressRules:
1037     ## @param networkPolicy.ingressRules.primaryAccessOnlyFrom.enabled Enable ingress rule that makes PostgreSQL primary node only accessible from a particular origin.
1038     ## @param networkPolicy.ingressRules.primaryAccessOnlyFrom.namespaceSelector [object] Namespace selector label that is allowed to access the PostgreSQL primary node. This label will be used to identified the allowed namespace(s).
1039     ## @param networkPolicy.ingressRules.primaryAccessOnlyFrom.podSelector [object] Pods selector label that is allowed to access the PostgreSQL primary node. This label will be used to identified the allowed pod(s).
1040     ## @param networkPolicy.ingressRules.primaryAccessOnlyFrom.customRules [object] Custom network policy for the PostgreSQL primary node.
1041     ##
1042     primaryAccessOnlyFrom:
1043       enabled: false
1044       ## e.g:
1045       ## namespaceSelector:
1046       ##   label: ingress
1047       ##
1048       namespaceSelector: {}
1049       ## e.g:
1050       ## podSelector:
1051       ##   label: access
1052       ##
1053       podSelector: {}
1054       ## custom ingress rules
1055       ## e.g:
1056       ## customRules:
1057       ##   - from:
1058       ##       - namespaceSelector:
1059       ##           matchLabels:
1060       ##             label: example
1061       customRules: {}
1062     ## @param networkPolicy.ingressRules.readReplicasAccessOnlyFrom.enabled Enable ingress rule that makes PostgreSQL read-only nodes only accessible from a particular origin.
1063     ## @param networkPolicy.ingressRules.readReplicasAccessOnlyFrom.namespaceSelector [object] Namespace selector label that is allowed to access the PostgreSQL read-only nodes. This label will be used to identified the allowed namespace(s).
1064     ## @param networkPolicy.ingressRules.readReplicasAccessOnlyFrom.podSelector [object] Pods selector label that is allowed to access the PostgreSQL read-only nodes. This label will be used to identified the allowed pod(s).
1065     ## @param networkPolicy.ingressRules.readReplicasAccessOnlyFrom.customRules [object] Custom network policy for the PostgreSQL read-only nodes.
1066     ##
1067     readReplicasAccessOnlyFrom:
1068       enabled: false
1069       ## e.g:
1070       ## namespaceSelector:
1071       ##   label: ingress
1072       ##
1073       namespaceSelector: {}
1074       ## e.g:
1075       ## podSelector:
1076       ##   label: access
1077       ##
1078       podSelector: {}
1079       ## custom ingress rules
1080       ## e.g:
1081       ## CustomRules:
1082       ##   - from:
1083       ##       - namespaceSelector:
1084       ##           matchLabels:
1085       ##             label: example
1086       customRules: {}
1087   ## @param networkPolicy.egressRules.denyConnectionsToExternal Enable egress rule that denies outgoing traffic outside the cluster, except for DNS (port 53).
1088   ## @param networkPolicy.egressRules.customRules [object] Custom network policy rule
1089   ##
1090   egressRules:
1091     # Deny connections to external. This is not compatible with an external database.
1092     denyConnectionsToExternal: false
1093     ## Additional custom egress rules
1094     ## e.g:
1095     ## customRules:
1096     ##   - to:
1097     ##       - namespaceSelector:
1098     ##           matchLabels:
1099     ##             label: example
1100     customRules: {}
1101
1102 ## @section Volume Permissions parameters
1103
1104 ## Init containers parameters:
1105 ## volumePermissions: Change the owner and group of the persistent volume(s) mountpoint(s) to 'runAsUser:fsGroup' on each node
1106 ##
1107 volumePermissions:
1108   ## @param volumePermissions.enabled Enable init container that changes the owner and group of the persistent volume
1109   ##
1110   enabled: false
1111   ## @param volumePermissions.image.registry Init container volume-permissions image registry
1112   ## @param volumePermissions.image.repository Init container volume-permissions image repository
1113   ## @param volumePermissions.image.tag Init container volume-permissions image tag (immutable tags are recommended)
1114   ## @param volumePermissions.image.digest Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
1115   ## @param volumePermissions.image.pullPolicy Init container volume-permissions image pull policy
1116   ## @param volumePermissions.image.pullSecrets Init container volume-permissions image pull secrets
1117   ##
1118   image:
1119     registry: docker.io
1120     repository: bitnami/bitnami-shell
1121     tag: 11-debian-11-r45
1122     digest: ""
1123     pullPolicy: IfNotPresent
1124     ## Optionally specify an array of imagePullSecrets.
1125     ## Secrets must be manually created in the namespace.
1126     ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
1127     ## Example:
1128     ## pullSecrets:
1129     ##   - myRegistryKeySecretName
1130     ##
1131     pullSecrets: []
1132   ## Init container resource requests and limits
1133   ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
1134   ## @param volumePermissions.resources.limits Init container volume-permissions resource limits
1135   ## @param volumePermissions.resources.requests Init container volume-permissions resource requests
1136   ##
1137   resources:
1138     limits: {}
1139     requests: {}
1140   ## Init container' Security Context
1141   ## Note: the chown of the data folder is done to containerSecurityContext.runAsUser
1142   ## and not the below volumePermissions.containerSecurityContext.runAsUser
1143   ## @param volumePermissions.containerSecurityContext.runAsUser User ID for the init container
1144   ##
1145   containerSecurityContext:
1146     runAsUser: 0
1147
1148 ## @section Other Parameters
1149
1150 ## Service account for PostgreSQL to use.
1151 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
1152 ##
1153 serviceAccount:
1154   ## @param serviceAccount.create Enable creation of ServiceAccount for PostgreSQL pod
1155   ##
1156   create: false
1157   ## @param serviceAccount.name The name of the ServiceAccount to use.
1158   ## If not set and create is true, a name is generated using the common.names.fullname template
1159   ##
1160   name: ""
1161   ## @param serviceAccount.automountServiceAccountToken Allows auto mount of ServiceAccountToken on the serviceAccount created
1162   ## Can be set to false if pods using this serviceAccount do not need to use K8s API
1163   ##
1164   automountServiceAccountToken: true
1165   ## @param serviceAccount.annotations Additional custom annotations for the ServiceAccount
1166   ##
1167   annotations: {}
1168 ## Creates role for ServiceAccount
1169 ## @param rbac.create Create Role and RoleBinding (required for PSP to work)
1170 ##
1171 rbac:
1172   create: false
1173   ## @param rbac.rules Custom RBAC rules to set
1174   ## e.g:
1175   ## rules:
1176   ##   - apiGroups:
1177   ##       - ""
1178   ##     resources:
1179   ##       - pods
1180   ##     verbs:
1181   ##       - get
1182   ##       - list
1183   ##
1184   rules: []
1185 ## Pod Security Policy
1186 ## ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
1187 ## @param psp.create Whether to create a PodSecurityPolicy. WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later
1188 ##
1189 psp:
1190   create: false
1191
1192 ## @section Metrics Parameters
1193
1194 metrics:
1195   ## @param metrics.enabled Start a prometheus exporter
1196   ##
1197   enabled: false
1198   ## @param metrics.image.registry PostgreSQL Prometheus Exporter image registry
1199   ## @param metrics.image.repository PostgreSQL Prometheus Exporter image repository
1200   ## @param metrics.image.tag PostgreSQL Prometheus Exporter image tag (immutable tags are recommended)
1201   ## @param metrics.image.digest PostgreSQL image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
1202   ## @param metrics.image.pullPolicy PostgreSQL Prometheus Exporter image pull policy
1203   ## @param metrics.image.pullSecrets Specify image pull secrets
1204   ##
1205   image:
1206     registry: docker.io
1207     repository: bitnami/postgres-exporter
1208     tag: 0.11.1-debian-11-r22
1209     digest: ""
1210     pullPolicy: IfNotPresent
1211     ## Optionally specify an array of imagePullSecrets.
1212     ## Secrets must be manually created in the namespace.
1213     ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
1214     ## Example:
1215     ## pullSecrets:
1216     ##   - myRegistryKeySecretName
1217     ##
1218     pullSecrets: []
1219   ## @param metrics.customMetrics Define additional custom metrics
1220   ## ref: https://github.com/wrouesnel/postgres_exporter#adding-new-metrics-via-a-config-file
1221   ## customMetrics:
1222   ##   pg_database:
1223   ##     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_bytes FROM pg_catalog.pg_database d where datname not in ('template0', 'template1', 'postgres')"
1224   ##     metrics:
1225   ##       - name:
1226   ##           usage: "LABEL"
1227   ##           description: "Name of the database"
1228   ##       - size_bytes:
1229   ##           usage: "GAUGE"
1230   ##           description: "Size of the database in bytes"
1231   ##
1232   customMetrics: {}
1233   ## @param metrics.extraEnvVars Extra environment variables to add to PostgreSQL Prometheus exporter
1234   ## see: https://github.com/wrouesnel/postgres_exporter#environment-variables
1235   ## For example:
1236   ##  extraEnvVars:
1237   ##  - name: PG_EXPORTER_DISABLE_DEFAULT_METRICS
1238   ##    value: "true"
1239   ##
1240   extraEnvVars: []
1241   ## PostgreSQL Prometheus exporter containers' Security Context
1242   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
1243   ## @param metrics.containerSecurityContext.enabled Enable PostgreSQL Prometheus exporter containers' Security Context
1244   ## @param metrics.containerSecurityContext.runAsUser Set PostgreSQL Prometheus exporter containers' Security Context runAsUser
1245   ## @param metrics.containerSecurityContext.runAsNonRoot Set PostgreSQL Prometheus exporter containers' Security Context runAsNonRoot
1246   ##
1247   containerSecurityContext:
1248     enabled: true
1249     runAsUser: 1001
1250     runAsNonRoot: true
1251   ## Configure extra options for PostgreSQL Prometheus exporter containers' liveness, readiness and startup probes
1252   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1253   ## @param metrics.livenessProbe.enabled Enable livenessProbe on PostgreSQL Prometheus exporter containers
1254   ## @param metrics.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1255   ## @param metrics.livenessProbe.periodSeconds Period seconds for livenessProbe
1256   ## @param metrics.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1257   ## @param metrics.livenessProbe.failureThreshold Failure threshold for livenessProbe
1258   ## @param metrics.livenessProbe.successThreshold Success threshold for livenessProbe
1259   ##
1260   livenessProbe:
1261     enabled: true
1262     initialDelaySeconds: 5
1263     periodSeconds: 10
1264     timeoutSeconds: 5
1265     failureThreshold: 6
1266     successThreshold: 1
1267   ## @param metrics.readinessProbe.enabled Enable readinessProbe on PostgreSQL Prometheus exporter containers
1268   ## @param metrics.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1269   ## @param metrics.readinessProbe.periodSeconds Period seconds for readinessProbe
1270   ## @param metrics.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1271   ## @param metrics.readinessProbe.failureThreshold Failure threshold for readinessProbe
1272   ## @param metrics.readinessProbe.successThreshold Success threshold for readinessProbe
1273   ##
1274   readinessProbe:
1275     enabled: true
1276     initialDelaySeconds: 5
1277     periodSeconds: 10
1278     timeoutSeconds: 5
1279     failureThreshold: 6
1280     successThreshold: 1
1281   ## @param metrics.startupProbe.enabled Enable startupProbe on PostgreSQL Prometheus exporter containers
1282   ## @param metrics.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
1283   ## @param metrics.startupProbe.periodSeconds Period seconds for startupProbe
1284   ## @param metrics.startupProbe.timeoutSeconds Timeout seconds for startupProbe
1285   ## @param metrics.startupProbe.failureThreshold Failure threshold for startupProbe
1286   ## @param metrics.startupProbe.successThreshold Success threshold for startupProbe
1287   ##
1288   startupProbe:
1289     enabled: false
1290     initialDelaySeconds: 10
1291     periodSeconds: 10
1292     timeoutSeconds: 1
1293     failureThreshold: 15
1294     successThreshold: 1
1295   ## @param metrics.customLivenessProbe Custom livenessProbe that overrides the default one
1296   ##
1297   customLivenessProbe: {}
1298   ## @param metrics.customReadinessProbe Custom readinessProbe that overrides the default one
1299   ##
1300   customReadinessProbe: {}
1301   ## @param metrics.customStartupProbe Custom startupProbe that overrides the default one
1302   ##
1303   customStartupProbe: {}
1304   ## @param metrics.containerPorts.metrics PostgreSQL Prometheus exporter metrics container port
1305   ##
1306   containerPorts:
1307     metrics: 9187
1308   ## PostgreSQL Prometheus exporter resource requests and limits
1309   ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
1310   ## @param metrics.resources.limits The resources limits for the PostgreSQL Prometheus exporter container
1311   ## @param metrics.resources.requests The requested resources for the PostgreSQL Prometheus exporter container
1312   ##
1313   resources:
1314     limits: {}
1315     requests: {}
1316   ## Service configuration
1317   ##
1318   service:
1319     ## @param metrics.service.ports.metrics PostgreSQL Prometheus Exporter service port
1320     ##
1321     ports:
1322       metrics: 9187
1323     ## @param metrics.service.clusterIP Static clusterIP or None for headless services
1324     ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#choosing-your-own-ip-address
1325     ##
1326     clusterIP: ""
1327     ## @param metrics.service.sessionAffinity Control where client requests go, to the same pod or round-robin
1328     ## Values: ClientIP or None
1329     ## ref: https://kubernetes.io/docs/user-guide/services/
1330     ##
1331     sessionAffinity: None
1332     ## @param metrics.service.annotations [object] Annotations for Prometheus to auto-discover the metrics endpoint
1333     ##
1334     annotations:
1335       prometheus.io/scrape: "true"
1336       prometheus.io/port: "{{ .Values.metrics.service.ports.metrics }}"
1337   ## Prometheus Operator ServiceMonitor configuration
1338   ##
1339   serviceMonitor:
1340     ## @param metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using Prometheus Operator
1341     ##
1342     enabled: false
1343     ## @param metrics.serviceMonitor.namespace Namespace for the ServiceMonitor Resource (defaults to the Release Namespace)
1344     ##
1345     namespace: ""
1346     ## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped.
1347     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
1348     ##
1349     interval: ""
1350     ## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
1351     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
1352     ##
1353     scrapeTimeout: ""
1354     ## @param metrics.serviceMonitor.labels Additional labels that can be used so ServiceMonitor will be discovered by Prometheus
1355     ##
1356     labels: {}
1357     ## @param metrics.serviceMonitor.selector Prometheus instance selector labels
1358     ## ref: https://github.com/bitnami/charts/tree/main/bitnami/prometheus-operator#prometheus-configuration
1359     ##
1360     selector: {}
1361     ## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
1362     ##
1363     relabelings: []
1364     ## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
1365     ##
1366     metricRelabelings: []
1367     ## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint
1368     ##
1369     honorLabels: false
1370     ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
1371     ##
1372     jobLabel: ""
1373   ## Custom PrometheusRule to be defined
1374   ## The value is evaluated as a template, so, for example, the value can depend on .Release or .Chart
1375   ## ref: https://github.com/coreos/prometheus-operator#customresourcedefinitions
1376   ##
1377   prometheusRule:
1378     ## @param metrics.prometheusRule.enabled Create a PrometheusRule for Prometheus Operator
1379     ##
1380     enabled: false
1381     ## @param metrics.prometheusRule.namespace Namespace for the PrometheusRule Resource (defaults to the Release Namespace)
1382     ##
1383     namespace: ""
1384     ## @param metrics.prometheusRule.labels Additional labels that can be used so PrometheusRule will be discovered by Prometheus
1385     ##
1386     labels: {}
1387     ## @param metrics.prometheusRule.rules PrometheusRule definitions
1388     ## Make sure to constraint the rules to the current postgresql service.
1389     ## rules:
1390     ##   - alert: HugeReplicationLag
1391     ##     expr: pg_replication_lag{service="{{ printf "%s-metrics" (include "common.names.fullname" .) }}"} / 3600 > 1
1392     ##     for: 1m
1393     ##     labels:
1394     ##       severity: critical
1395     ##     annotations:
1396     ##       description: replication for {{ include "common.names.fullname" . }} PostgreSQL is lagging by {{ "{{ $value }}" }} hour(s).
1397     ##       summary: PostgreSQL replication is lagging by {{ "{{ $value }}" }} hour(s).
1398     ##
1399     rules: []