diff --git a/helm/postgres/values-pi3s.yaml b/helm/postgres/values-pi3s.yaml new file mode 100644 index 00000000..dc594286 --- /dev/null +++ b/helm/postgres/values-pi3s.yaml @@ -0,0 +1,316 @@ +--- +# 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: 17 + +# 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.4 + +# 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-17.2-1 + +# imagePgBackRest is the pgBackRest backup utility image. This defaults to the +# below value. +# imagePgBackRest: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.54-0 + +# 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.23-2 + +# 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-14 + +########################### +# 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/latest/tutorials/backups-disaster-recovery/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