bcgov/common-object-management-service

View on GitHub
charts/postgres/values.yaml

Summary

Maintainability
Test Coverage
---
# For a full explanation of how to set up the custom resource, please refer to
# the documentation:
#    https://access.crunchydata.com/documentation/postgres-operator/v5/

###########
# General #
###########

# name is the name of the cluster. This defaults to the name of the Helm
# release.
# name: hippo

# postgresVersion sets the version to deploy. This version number needs to be
# available as one of the "RELATED_IMAGE_POSTGRES_..." images as part of the PGO
# installation if you want to deploy the image without setting the "postgres"
# image variable. This value is required.
postgresVersion: 16

# postGISVersion if set and coupled with a PostGIS enabled container, enables
# PostGIS. This version number needs to be available as one of the
# "RELATED_IMAGE_POSTGRES_..." images as part of the PGO installation if you
# want to deploy the image without setting the "postgres" image variable.
# postGISVersion: 3.1

# NOTE: pgBackRest is enabled by default. It must be set in
# "RELATED_IMAGE_PGBACKREST" on the PGO deployment, otherwise you will need to
# override the "pgBackRest" image.

# pgBouncerReplicas sets the number of pgBouncer instances to deploy. The
# default is 0. You need to set this to at least 1 to deploy pgBouncer or set
# "pgBouncerConfig". Setting "pgBouncerConfig" will override the value of
# pgBouncerReplicas. The "RELATED_IMAGE_PGBOUNCER" in the PGO deployment must be
# set if you want to enable this without explicitly setting "pgBouncer".
# pgBouncerReplicas: 1

# monitoring enables the ability to monitor the Postgres cluster through a
# metrics exporter that can be scraped by Prometheus. This defaults to the value
# below.
# monitoring: false

###################
# Image Overrides #
###################

# imagePostgres can be a Postgres or GIS-enabled Postgres image. This defaults to the
# below value. "postgresVersion" needs to match the version of Postgres that is
# used here. If using the GIS-enabled Postgres image, you need to ensure
# "postGISVersion" matches the version of PostGIS used.
# imagePostgres: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-1

# imagePgBackRest is the pgBackRest backup utility image. This defaults to the
# below value.
# imagePgBackRest: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.51-1

# imagePgBouncer is the image for the PgBouncer connection pooler. This defaults
# to the below value.
# imagePgBouncer: registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi8-1.22-1

# imageExporter is the image name for the exporter used as a part of monitoring.
# This defaults to the value below.
# imageExporter: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-0.15.0-7

###########################
# Basic Postgres Settings #
###########################

# instanceName lets you set the name of your instances. This defaults to
# the value below. Setting "instances" overrides this value.
# instanceName: instance1

# instanceSize sets the size of the volume that contains the data. This defaults
# to the value below. Settings "instances" overrides this value.
# instanceSize: 1Gi

# instanceStorageClassName sets the storage class for the volume that contains the data.
# This defaults to the "default" storage class defined in the cluster.
# See: 'kubectl get storageclasses.storage.k8s.io | grep default'
# Settings "instances" overrides this value.
# instanceStorageClassName: "hostpath"

# instanceMemory sets the memory limit for the Postgres instances. This defaults
# to no limit being set, but an example value is set below. Settings "instances"
# overrides this value.
# instanceMemory: 2Gi

# instanceCPU sets the CPU limit for the Postgres instances. This defaults to
# no limit being set, but an example value is set below. Setting "instances"
# overrides this value.
# instanceCPU: 1000m

# instanceReplicas lets you set the total number of Postgres replicas. This
# defaults to the value below. More than on replica enables high availability
# (HA). Settings "instances" overrides this value.
# instanceReplicas: 1

##############################
# Advanced Postgres Settings #
##############################

# instances allows you to define one or more Postgres instance sets. By default,
# PGO will only deploy a single instance. Each instance set has similar
# characteristics to the other instances in the set, e.g. storage size, resource
# etc. You can have multiple replicas within an instance set.
#
# This allows you to fully customize the topology of your Postgres instances.
#
# For example, to set up an instance set with HA (due to the default pod
# topology spread constraints)
#
# instances:
#   - name: pgha1
#     replicas: 2
#     dataVolumeClaimSpec:
#       accessModes:
#       - "ReadWriteOnce"
#       resources:
#         requests:
#           storage: 1Gi
# instances: {}

# port sets the port that Postgres listens on. Defaults to 5432.
# port: 5432

# patroni lets you set the Patroni configuration for the Postgres cluster.
# for example, to set up synchronous replication:
# patroni:
#   dynamicConfiguration:
#     synchronous_mode: true
#     postgresql:
#       parameters:
#         synchronous_commit: "on"
# patroni: {}

# users sets any custom Postgres users and databases that they have  access to
# as well as any permissions associated with the user account.
# users: {}

# dataSource specifies a data source for bootstrapping a Postgres cluster.
# dataSource: {}

# customTLSSecret references a Secret that contains the relevant information for
# bringing external TLS artifacts to a PostgreSQL cluster. This provides the
# TLS for the cluster itself.
# customTLSSecret: {}

# customReplicationTLSSecret references a Secret that contains the relevant
# information for bringing external TLS artifacts to a PostgreSQL cluster. This
# provides the information for the replication user.
# customReplicationTLSSecret: {}

# databaseInitSQL references a ConfigMap that contains a SQL file that should be
# run a cluster bootstrap.
# databaseInitSQL:
#   name: bootstrap-sql
#   key: bootstrap.sql

# standby sets whether to run this as a standby cluster. Setting "enabled" to
# "true" enables the standby cluster while "repoName" points to a pgBackRest
# archive to replay WAL files from, and "host" and "port" point to a primary
# cluster from which to stream data.
# standby:
#   enabled: false
#   repoName: repo1
#   host: "192.0.2.2"
#   port: 5432

# shutdown when set scales the entire workload to zero. By default, this is not
# set.
# shutdown: true

#################################
# Backups / pgBackRest Settings #
#################################

# backupsSize sets the storage size of the backups to a volume in Kubernetes.
# can be overridden by "pgBackRestConfig", if set. Defaults to the value below.
# backupsSize: 1Gi

# backupsStorageClassName sets the storage class to a class existing in Kubernetes.
# Defaults to the "default" storage class defined in the cluster.
# Can be overridden by "pgBackRestConfig", if set.
# backupsStorageClassName: "hostpath"

# s3 allows for AWS S3 or an S3 compatible storage system to be used for
# backups. This allows for a quick setup with S3; if you need more advanced
# setup, use pgBackRestConfig.
# s3:
#   # bucket specifies the S3 bucket to use,
#   bucket: ""
#   # endpoint specifies the S3 endpoint to use.
#   endpoint: ""
#   # region specifies the S3 region to use. If your S3 storage system does not
#   # use "region", fill this in with a random value.
#   region: ""
#   # key is the S3 key. This is stored in a Secret.
#   key: ""
#   # keySecret is the S3 key secret. This is stored in a Secret.
#   keySecret: ""
#   # keyType can be configured to enable IAM integration via AssumeRole
#   # For more info, see the documentation at https://access.crunchydata.com/documentation/postgres-operator/v5/tutorial/backups/#using-an-aws-integrated-identity-provider-and-role
#   keyType: ""
#   # encryptionPassphrase is an optional parameter to enable encrypted backups
#   # with pgBackRest. This is encrypted by pgBackRest and does not use S3's
#   # built-in encryption system.
#   encryptionPassphrase: ""

# gcs allows for Google Cloud Storage (GCS) to be used for backups. This allows
# for a quick setup with GCS; if you need a more advanced setup, use
# "pgBackRestConfig".
# gcs:
#   # bucket is the name of the GCS bucket that the backups will be stored in.
#   bucket: ""
#   # key is a multi-line string that contains the GCS key, which is a JSON
#   # structure.
#   key: |
#     {}

# azure allows for Azure Blob Storage to be used for backups. This allows
# for a quick setup with Azure Blob Storage; if you need a more advanced setup,
# use "pgBackRestConfig".
# azure:
#   # account is the name of the Azure account to be used.
#   account: ""
#   # key is the Secret key used associated with the Azure account.
#   key: ""
#   # container is the Azure container that the backups will be stored in.
#   container: ""

# multiBackupRepos allows for backing up to multiple repositories. This is
# effectively uses the "quickstarts" for each of the backup types (volume, s3,
# gcs, azure). You can have any permutation of these types. You can set up to 4.
# can be overwritten by "pgBackRestConfig".
#
# You can't set "multiBackupRepos" and any of the individual quickstarts at the
# same time. "multiBackupRepos" will take precedence.
#
# Below is an example that enables one of each backup type.
# All available quickstart options are presented below; please see the backup types
# if you want to see how each option works.
# multiBackupRepos:
# - volume:
#     backupsSize: 1Gi
# - s3:
#     bucket: ""
#     endpoint: ""
#     region: ""
#     key: ""
#     keySecret: ""
#     keyType: ""
# - gcs:
#     bucket: ""
#     key: |
#       {}
# - azure:
#     account: ""
#     key: ""
#     container: ""

# pgBackRestConfig allows for the configuration of every pgBackRest option
# except for "image", which is set by "pgBackRest".
# pgBackRestConfig: {}

################################
# Pooling / pgBouncer Settings #
################################

# pgBouncerConfig sets all of the pgBouncer portions of the spec except for
# image. To set image, you need to set the "pgBouncer" setting.
# pgBouncerConfig: {}

#######################
# Monitoring Settings #
#######################

# monitoringConfig sets all of the monitoring portions of the spec except for the
# image. To set the image, which also enables monitoring, you need to set the
# "monitoring" setting.
# monitoringConfig: {}

#######################
# Kubernetes Settings #
#######################

# metadata contains any metadata that should be applied to all PGO managed
# objects in this Postgres cluster. This includes "annotations" and "labels" as
# sub-keys.
# metadata: {}

# service customizes the Service that exposes the Postgres primary.
# service: {}

# imagePullPolicy sets the pull policy for all the images. This defaults to
# the Kubernetes heuristic:
# https://kubernetes.io/docs/concepts/containers/images/#imagepullpolicy-defaulting
# imagePullPolicy: IfNotPresent

# imagePullSecrets references Secrets that credentials for pulling image from
# private repositories
# imagePullSecrets: []

# supplementalGroups sets any group IDs that should be assigned to
# Pods, particularly around file system constraints within a system
# supplementalGroups: []

# disableDefaultPodScheduling if set to true, will disable any of the default
# scheduling constraints for Pods, such as the default Pod Topology Spread
# Constraints. If set to false or unset, the default scheduling constraints will
# be used in addition to any customizations that are added in.
# disableDefaultPodScheduling: false

# openshift can be set explicitly if this is an OpenShift cluster or a cluster
# that uses a SecurityContextConstraint. This usually does not need to be set,
# but you may want to explicitly set it to "false" when using an SCC like
# "anyuid"
# openshift: false