values.yaml 62 KB

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